Casio PX410R MIDI Out Hack

Hello and Merry Christmas to everyone!

Having been playing with my Roland Integra 7, I decided that having a keyboard which could interface with it would be troublesome as I don’t have an expensive Yamaha MOTIF XF, Roland Fantom or anything which has MIDI Out.

Yes I do have a JX305 which is out on loan, however it only has 61 keys. Though I also am a happy owner of the Casio PX410R/400R. Believe it or not, this thing has 4MB sampling capability, though that’s for another review.

The point of this post is to show you how to add MIDI Out to this keyboard. The PX410R has only USB MIDI, which allows it connect to a host PC, but you can’t connect it directly to a device like the Integra 7 as neither is capable of USB OTG.

First, I opened up the keyboard and located the main PCB.


You’ll find that there is a MIDI communications channel between the two main ICs there

For reference, this is the underside of the board.


After probing around and toggling the sustain pedal, I was able to find a signal which resembled a MIDI signal. However, it’s at 215.5kBaud.


There is no ‘simple’ way to convert a 215.5kbaud signal to 31250 baud required for MIDI. So I took upon reprogramming an ATMEGA32P (same as arduino) to do the conversion. With the internal RC clock running at 8MHz, there is no nice divisor which allows a 215.5kbaud UART.

Instead, the UART is used for the bootloader and the 31250 baud, while INT0 is used for a soft UART. You’ll be able to see that the timings to achieve the 215.5kbaud is done via assembler ‘nops’. We really do need to count cycles in this application.

Source code here:

Solder up the necessary parts (including the reset pullup)WP_20161213_004.jpg









You also need to solder up the (right to left) +5V, GND and the MIDI Out at 215.5kbaud


Wire up a socket with the 220 ohm resistor. Note that the additional connection on Pin1 is the RXD required for the bootloader, to allow field upgrads of the ATMEGA32P if required in the future.


Drill a hole and mount the connector.



And there you have it! MIDI Out enabled Casio PX410R. This modification might work on other Casio models which don’t have a MIDI Out port.

Either way, my Casio PX410R is happily playing with my Integra 7 via MIDI!




8 thoughts on “Casio PX410R MIDI Out Hack

  1. […] The Roland Integra 7 is a rack mount synthesizer with classic MIDI ports. [adriangin] wanted to control the synthesizer over MIDI, but their Casio keyboard only had MIDI over USB available. To get around this, [adriangin] set out to add a standard MIDI Out port to the Casio PX410R. […]

  2. I managed to score a CTK2400 for free and was disappointed that it only had USB MIDI, but then I remembered reading about this hack. I haven’t opened it up, but I assume I’ll be able to replicate the hack as it just makes sense for it to use midi internally up until the USB part. Thanks for the write up, hopefully the baud rates are the same and I can just reuse your code!

    1. Heya, you’ll need the minimum of MIDI (215k, PIN D2, Goes to INT0 on ATMEGA) IN and MIDI Out (31250, UART TX / Pin D1).
      If you look up the MIDI Specs you’ll see the plug needs +5V, and the MIDI Out Sink.

  3. Could you please email back to me here regarding which wires connect to which pins on the ATMega ic> I can’t make this out from your pics here. I have a PX575 Casio and will do this conversion if i know how to wire up the IC. I am Jokeyman at the Casio Music Forums group.

  4. i have a usb problem on my casio px 410r. my computer can’t detect the usb from my casio px 410r. Before its working i install the driver and other program form the casio website. i accidentally change the settings on midi in, midi out . Now everytime i insert the usb on my laptop nothings happed. My casio usb is corrupted. Is there a factory reset on USB MIDI. hope you can help me with my problems.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s