MidiPrint
Why this project?
I have always loved synth style instruments and I grew up playing piano. When I was thinking about what I should make for this Hackathon, I was inspired by compact synth boards created by teenage engineering and how they were able to create almost flatpack designs for their instruments. With this, came the need for a board that could hold the components and gave me an outlet to test some new conductive PLA filament I had been meaning to test.
How it works
The circuitry is very simplistic. An Arduino NANO acts as the brain with a piezo buzzer attached to pin D2 and traces running from VCC and GND pins to either side of the keyboard. An exposed wire is soldered to the A0 analog pin to act as the slider for the home-made potentiometer. Finally, 220 ohm resistors bridge the space between each key to provide varying resistance. Code was created in the Arduino IDE and stores resistance values alongside tones for each note within lists that paly a note if the resistance value read when the stylus is used is within a certain tolerance.
Why was this meaningful?
I have always wanted to see if I could create a synth or MIDI device and the idea of printing a custom PCB using a 3D printer has always been an interesting idea I've thought about. This Hackathon gave me the chance to tackle both and all within 4 hours. This device has prompted me to further pursue research into making PCBs with a 3D printer and discovering how to make the device a MIDI controller that is compatible with music software like Garage Band.
The process 
I began by using Fusion 360 to create a model for the PCB that would be printed using white PLA from Overture and Grey Conductive PLA from Protopasta. This print was prepared before the competition.
I began by creating a prototype of the circuit using an Arduino nano, piezo buzzer, and potentiometer. I used the to test the functionality of the overall design and to make sure the note tones were played incrementally when the potentiometer was turned.
The Arduino nano the board using hot glue before using a soldering iron to melt the conductive PLA in order to attach the necessary wires. The code was created using the Arduino IDE and is listed below. The main issue I kept running into was noise coming over pin A0 when the data pin used as the stylus was not touching a key/contact pad.
To create varying resistance between the VCC and GND pins, 220 ohm resistors were added between each key/contact pad to ensure a good range. In the code, each resistance was measured using the stylus and recorded to be later mapped to a note.
Final shots
Below are a few more shots of the final project in good lighting
MidiPrint
Published:

MidiPrint

Published: