Switch Accessible Assistive Tech LED Piano

by vir2des in Circuits > Assistive Tech

776 Views, 5 Favorites, 0 Comments

Switch Accessible Assistive Tech LED Piano

Cover Real.jpg
Photo 1.jpeg
Photo 3.jpeg

This piano is a switch accessible project I made for my Physical Computing class at Boston College to give to the Boston College Campus School. The Campus School is a special education day school, and many of its students have limited physical abilities. Their assistive technology director was looking for switch accessible entertainment projects/devices, and I love music, so I decided to make a piano that can be operated by a switch accessible button.

Upon button press, the piano cycles through 8 piano covers of popular songs from movies, and LEDs flash rainbow colors on the keyboard. Below, I've prepared the instructions to build the piano and code in CircuitPython. This project is highly customizable: feel free to change up the light display (the current code flashes rainbow colors quickly - you should modify this animation if you anticipate the piano will be used by photosensitive users) and add your own sound files if you choose!

My main focus for this project was to make the piano durable. The code and functionality is pretty simple, but the piano is made of strong, thick wood, and is well-protected by polyurethane. I hope that this piano will get some great use at the Campus School.

Supplies

Supplies:

Wood:

  • 1/4" Baltic Birchwood
  • Wood Conditioner
  • Jet Black and Antique White Wood Stain
  • Oil-based Semi-Gloss Polyurethane
  • Painters' Tape
  • Brushes/Rollers to apply wood treatments
  • Wood Glue

Electronics:

Miscellaneous:

  • Super Glue
  • Duct Tape

Machines/Software:

  • Mu Editor
  • Adobe Illustrator
  • Laser Cutter Machine

Prepare Illustrator Files and Cut Wood

Wood Cut Layout.jpeg

Prepping Piano Console for Cutting:

To make the illustrator files for the box, I used the console designer at Boxes.py. I was able to get the basic plan for the piano's shape from here, and then I brought it into Adobe Illustrator, where I added the piano design on the face of the console. I've included my illustrator file here, but if you want to change the dimensions, design of the piano, etc., follow the Boxes.py link and make the changes you'd like.

There are holes on the keys (to insert lights later on), and three holes on the left side to pass cables through.

Cutting the Piano:

This part is pretty self-explanatory - once your Illustrator files are prepped, it's time to cut! I used the Laser Cutter at my college's maker space, and brought my Illustrator file into Trotec Ruby to complete the cutting process. Once your wood is cut, you should have pieces that look like the image above.

Sand and Condition the Wood

Conditioned Wood Progress.jpeg
Conditioned Wood.jpeg

Sanding the Wood:

Sand each piece of the piano 3 times, working from 60 grit, to 120, to 180 except for the face piece of the piano (the piece with the keys). If you use the lower grits on this piece, you'll mess up the engraved design, as it doesn't go far down into the wood.

Conditioning the Wood:

Conditioning the wood helps to even out any particularly dark spots on the grain, which in turn helps to create even color when staining. This step isn't totally necessary if you're using birchwood, as birch typically has a pretty even grain. Feel free to skip this if you'd like, but I find it makes the stain soak in better.

  • Coat each piece of wood with the conditioner. Let it sit for two minutes, then blot any excess off with a microfiber towel.
  • Let the conditioner dry - this should take around 30 minutes.

Stain the Piano and the Keys

Wood Staim.jpeg
Photo 2.jpeg

Next, we'll stain the wood. All piece of the wood should be stained with the black stain, Except for the face of the piano.

  • Stain each piece of wood (minus the face), and use the same stroke direction for each piece.
  • Just like the conditioner, let the stain sit for two minutes, then blot off the excess with a towel.
  • Let dry for at least one hour.

The Face of the Piano:

The edges and the sharp keys (the small keys) of the piano should be stained black. If you trust your hand, you can do this without painter's tape, but I would advise against this. Cover the main keys on the piano in tape, and use the black stain. Once the black stain is dry, stain the main keys with the antique white stain. This creates the look of a piano's key layout.

Add Polyurethane to the Wood

Polyurethane Up Close.jpeg
Polyurethane.jpeg

Since this project is going to be used in a school, I decided to coat the wood with polyurethane. A layer of polyurethane protects the wood from damage (like, if someone spills something on the piano) by making it non-porous. A big goal of mine was to make this piano as durable as possible, and the polyurethane is a great way to help achieve this.

Also, the polyurethane adds a slight gloss to the wood, and helps make the piano look more like a shiny, real grand piano.

In the first picture, you can see the difference that adding polyurethane makes.

Applying the Polyurethane:

Applying it is simple: spread it evenly, stroking in the same direction every time. Be generous with it! The more you use, the shinier and more protected the wood becomes.

Set Up the Code and Test Your Hardware

Wiring Test.jpeg

The Code:

The first step to this code is to prep the SD card.

Prepping the SD Card:

  • Create a folder on the card called "FinalProjectSounds". Add all the MP3 files that you want to the piano to cycle through into this folder.
  • In the code.py file:
  • Line 66: Replace the brackets with the name the name of the first sound in your folder.
  • Line 70: In the brackets, list the name of all your sound files, separated by commas.

Other Notes About The Code.Py file:

  • If you anticipate this piano being used by photosensitive users, edit the play_mp3 function beginning at Line 73 to get rid of the rainbow LED flashing. If not, the code file is ready to be used.

Testing the Hardware:

Hook up the MicroSD reader, the 3.5mm mono adapter, the speaker, and the LED strand to the Pico on your breadboard. Here are the pinout locations:

  • LED strand: GP14
  • Speaker: GP16
  • Mono Adapter: GP15
  • MicroSD:
  • cs = board.GP13
  • sck = board.GP10
  • si = board.GP11
  • so = board.GP12

If this works, then you're ready to start putting the final touches on the piano:

Downloads

Glue the Piano Casing and Set Up the Wiring

Glueing.jpeg
Back LEDs.jpg
Front LEDs.jpg
35mm Pic.jpg
Outer wiring.jpg
Outer wiring outer view.jpg
Wiring Up Close.jpeg
Wiring in Housing.jpeg
Taped up.jpg
Speaker and charger.jpg

First, glue all the pieces of the piano together (except for the front piece). (Image 1) I used way too much glue here. You don't need to use this much - I scraped most of it off after taking the picture.

Then, place the bulbs of the LED strand into the piano key holes (I used duct tape to hold these in place). (Image 2 + 3)

Then, pass a microUSB charger, the speaker cable, and the 3.5mm adapter through the 3 holes on the left side of the piano. User superglue to hold the 3.5mm adapter into place - this is where switch buttons can be plugged into the piano. (Image 4, 5, 6)

Finally, prepare the breadboard using the same wiring scheme as from step 5. Once it's ready, place the breadboard into place on the bottom panel of the piano. You can use the adhesive backing of the breadboard to make sure it stays into place. I also used some duct tape to secure the longer, looser wires so that they don't shake around. (Images 7, 8 and 9)

Finally, use velcro or sticky tack to place the speaker and battery pack on the exterior of the piano. I placed these on the outside so that it will be easy for users to charge these components without having to open the piano every time. (Image 10)

Once this is done, you can place the piano face onto the front. I did not glue the front part of the piano onto the rest - the ridges of the 1/4" birch stays together very firmly even without glue, and I want to be able to remove this piece if I ever need to access the circuit board (like, to update the SD card or replace parts down the road).

Enjoy Your Piano!

Switch Accessible Piano

The piano is ready to go! Plug in a switch accessible button, and enjoy the music.