Toy Keyboard Tone Piano – Part 5

In this part of my series on adding an Arduino to a toy keyboard, I’ve taken a second keyboard and actually embedded the Nano inside it to make it a complete DIY Oskitone Scout, powered by USB.  This is using the version of the hardware and code described in part 2 – i.e. without the additional IO.

  • Part 1 provides all the details for adding an Arduino to the original toy keyboard.
  • Part 2 demonstrates the toy keyboard running the Oskitone “Scout” firmware.
  • Part 3 introduced a 74HC138 3 to 8 decoder to handle some of the keyboard IO and added a simple volume control.
  • Part 4 started to document applications using the additional IO.

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

These are the key tutorials for the main concepts used in this project:

If you are new to Arduino, see the Getting Started pages.

The DIY “Oskitone Scout”

I happen to have a second keyboard, so I thought it would be nice to convert that one too, but this time to actually properly embed the Arduino Nano inside it, and turn it into a complete DIY Oskitone Scout.

The main details of the build are described in part 1 of this series, and they equally apply here.  There are a few additional considerations:

  • First of all, I’m not using the IO expander described in part 3.  For this build, I’m keeping things simple and using the directly-connected IO version from part 2. I have decoded all the buttons however, so they are available for additional software functions if required.
  • I did wonder about powering the unit from batteries, but instead opted to bring the Nano’s micro USB connection out to the casing.  This has the added advantage that the Nano can be reprogrammed without having to remove it from the case as well as being the source of power.
  • I’ve added in the volume control as described part 3 and updated the LED circuit as described in part 1.

The pinout for the Arduino is the same as described in part 1 which is expanded in the following diagram which shows where the main connections will be made.

Toy Keyboard Arduino Connections

Here are some photos of the additional build steps to complete the above.

As you can see in the following photos, the keyboard is largely the same as before, apart from the colour.

IMG_5855

Even the spelling mistakes on the pcb are the same, but there are a couple of minor differences – the most significant being that this one doesn’t have any diodes for the button/key matrix.

IMG_5856

Once again I removed the “cpu blob” edge connector, but unfortunately this time it wasn’t so neat and some of the tracks of the pcb came off too, but that means I just had to find other points to connect to.

IMG_5857

I used ribbon cables for the main links.  As you can see below, I connected the BP20-27 wires directly to the point on the pcb where the keyboard ribbon connects.  This is because four of the eight tracks from the edge connector  were damaged.

I also used two through-holes for the 5V and GND links.  Contrary to how it looks in the photo, black (GND) is on the left next to the audio output, and red (5V) is on the right next to BP00.

Once installed back into the casing, I used hot-glue again to provide support to the cables.  In the photo below you can see I’ve also added a resistor between the LED negative and ground and you can see exactly where GND and 5V enter the PCB.  The yellow wire is the LED signal and the purple wire is the audio out.

IMG_5872

Here it is soldered to the Nano.

I’m using a “right angle” mini USB adaptor to break out the Nano’s USB connection to the casing. I also had to trim one of the plastic supports in the base where the Nano will be. All the while it is necessary to check where the case screws and cables will be going.

I cut a hole out of the back for the USB link and fixed it in with hot glue.  I ought to do something more substantial at some point, but this will do for now. It does mean, however, that if I need to remove the button pcb again, I’ll have to first pick out the hot glue so I can remove the USB connector from the case.

There is also a hole for the volume potentiometer.

IMG_5876

The final unit is now fully self-contained requiring just power over USB to function.  The following buttons have functions:

  • VOL+ / VOL- increase or decrease the octave.
  • Drum switch – toggles the glide between individual notes.
  • STOP/PLAY – disables and re-enables the portamento for all notes.

IMG_5879

Closing Thoughts

I now have a ready-to-go Oskitone Scout clone with a few additional configuration options and a crude volume control.  What’s more, this frees up my original keyboard for some further experimentation.

At some point I’d still like to add a built-in pitch-bend control and the volume is a bit “all or nothing” at the moment, so I’d like to have it a little more controlled.

But this is quite a nice little unit now.

Kevin

Leave a comment