LEET is my vision of a new kind of modular affordable synth you can build yourself. It consists of several MIDI devices that can be used together or separate with your preferred DAW.
It became a massive project covering industrial design, embedded programming, 3D modelling, electronics and music theory. I’m happy with the current state, but I hope that with the help of others, the project will continue to evolve and improve.
I have designed a keyboard, drum pad, chord keyboard, control unit, arpeggiator and a step sequencer. One special feature is that the units have RGB LEDs for each key, enabling playback visualization (so each device is both MIDI out and in). This is helpful for music training and editing, but it also looks great. They can be used as input devices to any computer with a DAW (Digital Audio Workstation) like Ableton, Logic, Cubase, Garageband etc. It will run on Windows, Mac or Linux (including Raspberry Pi). They can even be connected to your mobile phone (Android or iOS), providing a tactile super portable music development platform.
Build your own synth
The devices are easy to build and anyone with a 3D printer and basic soldering skills should be able to replicate them. They are designed to use few components that are easily accessible and affordable (one keyboard cost around $6).
Hacking is encouraged
Everything is open source and built with the easy to use Arduino framework so it can be tweaked, improved and complemented with new functions to fit all kinds of different needs. Build a wooden stand, add a light sensor to control timbre, connect it to a speak and spell or build something completely new – the possibilities are endless!
3D Printed Circuit Board
All devices are built around a 3D printed core (3DPCB) that creates the exterior of the product, holds all components in place and has integrated wire channels that connects the components in a fool proof way. 3DPCB makes the devices easier to replicate, less expensive and you don’t need to wait for PCB delivery.
Techy retrofuturism
I designed the devices to be simplistic, solid and playful. The design might be called retrofuturism since they are inspired by old-school mainframe computers from the 70s with lots of blinkenlights like PDP-10, but the addition of full color LEDs and 3DPCBs makes them futuristic at the same time (maybe they are from a past that never happened ;)
Modularity
I kept the form factor for each unit similar and designed a simple snap on stand where two or three units can be stacked and tilted for easy access. The units can also be equipped with magnets, allowing them to be snapped together side by side. With this approach, a two or three octave keyboard can be constructed by joining modules next to each other.
There is also a snap on accessory that just contains a sticker in order to identify the units. Like “Lead, ch2” or “Drums, ch7”.
Development
This project started as an idea to develop a synth using the 3DPCB idea. I initially planned to design a self-contained synth with batteries, sound generation and built-in speaker, but quickly realized that it would be more useful to build a modular system instead. By using MIDI, the project becomes flexible and enable high quality sound generation. I considered using MIDI over Bluetooth, but the increased complexity with batteries, charging circuits, size, cost and reliability, made me stick with traditional USB connections.
Before I started, I defined some goals for the project – this is what I aimed for:
- Playful
- Modular
- MIDI
- Portable
- Affordable
- Easy to replicate
- Lots of blinkenlights
To demonstrate the abilities, I decided to develop different parts that are needed for a system that can record and playback a song with a keyboard, arpeggiator and a basic sequencer.
To me this is a proof of concept – see it as a base for inspiration. The input units/ keyboards are working great, but the more complicated sequencer has room for improvements. I hope that others will assist on development and that future firmware releases will improve the functionality.
What I really like with the project is how easy it is to build something unique. Combining the components (microprocessor, LEDs and switches) is like building with LEGO. It would take me less than a day to build a working keyboard that starts with the note “A” instead of “C” (if I for some reason would want one). Adding a gamepad joystick, or even a light sensor to control pitch bend, is just as easy. Sure, you need to have basic understanding of electronics, 3D modelling and Arduino programming, but it’s not that complicated, and a project like this is a great learning experience.
FAQ
Can anyone build one?
If you can hold a soldering iron in the right end you should be fine. My 12-year-old have built a keyboard that works great.What equipment is needed?
You need a 3D printer (fff/ fdm) with a spool of PLA plastic, a soldering station with a narrow tip (and preferably a smoke extractor) and basic tools like pliers. If you don’t have this at home visit your local hackerspace!What does it cost?
The components for keyboard costs around $6 (depending on shipping and supplier). Prices from eBay:
* Arduino pro micro ($4),
* 13 LEDs from a ws2812 led strip (60led/m) ($1.1),
* 15 6×6 tact switches ($0.2),
* 34g PLA filament ($0.7).
The more expensive sequencer also needs
* 2pcs of 8×8 ws2812 LED matrixes (2*$8) and
* a micro SD card reader ($3)How long does it take to build one?
Printing time for a keyboard is 3.5h on a Prusa i3 and soldering takes 1-2 hours, depending on your experience.
What is generating the sound?
A computer or mobile phone generates the sounds mapped to different channels. Sunvox is a great free option, but DAWs like Ableton Live, Logic Pro, Pro Tools, FL Studio, Cubase, Studio one, Reason, Garageband can be used.
The keyboards and sequencers are only sending MIDI commands (like note C3 on channel 4 at full velocity). This gives you full freedom to choose from east coast (subtractive), west coast (additive), FM, samples, wavetable, vector, granular or any other synthesis of choice. With a MIDI to CV interface they can control analog modular systems. Maybe I should design a eurorack version one day?..
Is the keyboard velocity sensitive?
No, the standard tact switches used does not provide any velocity or after-touch data. Using two switches per key and measure time difference can be done, but not something I have investigated.How big is it?
The dimensions of a keyboard unit are 154x45x8mm (6×1.8×0.3 inches) (without cables and knobs)
This is a great project – how can I help?
I appreciate all feedback and ideas for future devices and improvements.
It would be super cool to develop a simple Android or PC application that maps soundfonts/ samples to different MIDI channels and automatically echo MIDI commands to enable LED feedback. If you are good at embedded development, the sequencer has room for improvements.I created a forum where people who want to contribute can share ideas and assist with development: https://vonkonow.com/wordpress/forums/forum/leet-synthesizer-development/
What does it take to modify or hack one?
Most important is a “how hard can it be?“ mentality. Modifying it is a great way to understand how it works and learn new things. When you are done you will know more about electronics, 3D CAD and embedded programming. Don’t forget to post your hacks!
Do you have any ideas for future improvements?
Yes, lots of them, here are some:
* A playback device (Raspberry Pi zero?) that generates sound without the need for mouse, keyboard or monitor. (MIDI in -> audio out). Maybe something like this:
* A keyboard with mechanical linear switches (Gateron/ Kailh/ Cherry MX)
* A keyboard covering two octaves
* A keyboard with a small MIDI sampler and transposable playback.
* A tiny sequencer with 0.96” OLED display(s) instead of LED matrix.
* A full color MIDI visualizer using the sequencer display.
* An AI based deep learning synth using google magenta and ESP32…
Build your own
Below are links to posts for each of the different LEET Devices. All of them with BOM, building instructions and code + 3D models needed to replicate them.
Don’t forget to share your build in the forum. The forum is also the best place to share ideas, assist with development and get support and help other LEET builders
LEET Keyboard
LEET Chord
LEET Pad
LEET Control8
LEET Control
LEET Arpeggiator
LEET Sequencer
LEET Linux
Could I get in contact with you to help with development?
Hi Dominik
I’ll send you an email.
If you have any specific ideas for what you want to do, this is a great place to share them! (guess I’ll have to set up a proper forum if it grows in popularity ;)
/j
Hey thanks for making this. This looks perfect for a beginnermediate solderer person like myself.
Can you recommend a 3D printer (cheaper the better, please!) for someone with a brain but no 3D printing experience to delve into or is there a printing service you recommend?
Thanks for taking the time to design this project and then to explain how others can build.
Hi Tom
Since I’m mainly using PLA almost any printer will work (even without heat bed). The Creality series is affordable and has a large community for support.
Here is a site listing printers from $200-1000:
https://all3dp.com/1/best-cheap-budget-3d-printer-affordable-under-500-1000/
/j
This is so awesome! Cannot wait to make a whole set of these! Thanks for being awesome and sharing your creativity with us!
Can it interface to a standard or USB midi keyboard, or CV from an analog sequencer?
Hi Ritchie
The devices are acting as USB devices (not hosts). In order to hook it up to other devices you will need a computer (or mobile phone). A raspberry pi is an affordable and flexible option!
CV would be cool to add in the future and shouldn’t bee too difficult (at least 0-5V output), util then you need to use a MIDI 2 CV adaptor…
/j
Hi Tom
Happy to see that you are eager to try them out!
I’m working on documenting each device and will share the files as soon as they are ready. As I mentioned in the post, expect it to take a while since I’m doing this on my (rather limited) spare time…
/j
I love this idea and am interested in making some. I could help out with getting things ready for release. I have knowledge/experience with everything involved (3D printing, Arduino, DAW). Shoot me an email to let me know how I could help.
Hi Steve
Thanks for offering assistance on the development – your expertise sounds like a perfect match!
I just popped you an email where I also mentioned the newly created forum for collaboration and development of future devices: https://vonkonow.com/wordpress/forums/forum/leet-synthesizer-development/
/j
Sorry for the typos.
I love these so much. It is a beautiful design. I will excitedly await some things to appear!!
Those wire channels are so damn elegant. Beautiful!!!
-Charles
Hi Trevor
I will provide both .stl for 3d printing (polygon mesh) and .stp for 3D modeling (NURBS)
/j
Hi Cathy
I’m working on documenting each device and will share the files as soon as they are ready…
I see a pocket operator in one of your photos. Can they be linked together? Can a PO use the midi input for synchro?
Hi
Unfortunately the PO series are lacking connection possibilities. As you probably know, the only integration is sync signals to/ from your DAW (I have not added sync to the sequencer, but it would probably be possible).
Have you seen this midi conversion kit using a teensy and pogopins? https://blog.tindie.com/2019/05/pocket-operator/
Looks pretty cool, but these are not a synths. They’re MIDI controllers.
Hi Ben
You are absolutely right. But add a mobile phone and you have a synth ;)
My vision of the LEET synth includes future sound generating devices enabling standalone synth capabilities. Let’s see if we get there one day!
/j
Fantastic! I’ve got a number of friends with kids and teens and the parents have the chops to help with the soldering. I’ll be putting some free kits together for them when this comes out!
Hi Andrew
I will update this page when a device is published.
But in addition to this I just created a forum where you can register to get notices on updates: https://vonkonow.com/wordpress/forums/topic/project-updates/
I plan to use github (not thingverse) for code and 3d models – allowing revision history and branches etc.
/j
Weird, hope it will work better now (I rearranged the forum page and links to login, register and pw. It works for me now – even in incognito)
BTW, just released the documentation for the keyboard!
/j
Instead of a Raspberry Pi Zero you should use an Electro-Smith Daisy Seed
https://www.electro-smith.com/daisy/daisy
Which “can” understand arduino code just fine.
Looks cool and fits perfect within this field.
Unsure if it can work as USB host / enumerate a USB hub?
Hi Liz
Try again and let me know if it works better now (seems ok from my side)
/j
Still not working. Was able to get to the gethub and download the files, STL files looked good and printing now
Finally found and corrected the error. Thank you for informing me.
Good luck with the print and assembly. I would love some feedback when you are done.
/j
Hi Sean
You seem to be in good company ;) hope it works better now!
Any wire will do (as long as it conducts electricity ;)
The CAT-6 wire I have is 0.6mm in diameter – double the 0.3mm I used. It will probably work, but it might be more difficult to route it in the channels.
Can you post a link to what wire you are referring to?
The exact diameter of the wire is not critical. Any conductive wire will do.
I have tried lots of different wire diameters and think that 0.3mm diameter is the goldilocks option, not too stiff, and not too fragile.
I have used strands of wire from RK cable (24 strands in each cable) since it can be bought in any hardware store at very low cost. The RK cable is typically used as internal wiring in fuse boxes and control units, since it is easier to bend than the cables used in the walls (with fewer and thicker strands).
Technical name is RK (H07V-K) (750/500 V), it typically follows
IEC 60228 class 5. https://en.wikipedia.org/wiki/IEC_60228 and SS 424 02 31-3
Here is one source in Sweden with an English website: https://www.biltema.se/en-se/construction/electrical-installations/installation-cables/coupling-cable-2000017929
I’m sure that there are similar cables around the earth. If you find one, please let me know the name in your region and I will update the post.
Great! That makes it 28 AWG bare copper wire, or one could source it through a larger cable, like you have. Then could be HOOK-UP STRND 10AWG 600V which has 78 strands of 28 AWG tinned copper. But, I’m not in the industry, so someone may know a common trade name. Searching for H07V-K did yield some results on ebay. I’m sure I could walk into a hardware store with a decent set of calipers and quickly find what is needed.
Great project(s)! Any idea if this would work with SamplerBox (https://www.samplerbox.org/) as the sound generator – to use instead of a phone/PC?
That should work perfect!
This is very much what I had in mind when I proposed this:
https://vonkonow.com/wordpress/forums/topic/ideas-for-a-raspberry-pi-based-synth-engine/
Thank you for the link, I’m eager to try it out (once I’m done documenting the remaining parts ;)!
Hi
The step sequencer is not released yet (still working on clean up and documentation).
I update this post for every major change: https://vonkonow.com/wordpress/forums/topic/project-updates/
Hi I just finished documenting the final device – the LEET Sequencer.
https://vonkonow.com/wordpress/leet-sequencer/
All units I showed three weeks ago are now fully documented with all files available to build your own. Thank you for your patience!
I’m looking forward to take this project further with new devices in the future.
Hey, great project and inspiration! If you want to integrate flexible synth development instead of midi interface development. I recommend looking into Teensy, it’s Audio board and it’s design tool. It’s a bit more costly than the pro micro $6. I think a teensy 3.2 and and audio board cost about $35 and you’d be able to make it a standalone device AND an midi controller.
For CV integration I would look up the teensy projects by little-scale he has some cool stuff that could aid the development of your project. :)
Yeah, the Teensy is definitely a capable device. It is unfortunate it is a bit pricey, but you get lot of power for the extra cost and compared to music equipment it is still cheap ;)
Generating sound in the devices would be pretty cool, but also requires more components and probably an UI of some sort. If you have ideas of how it would look, please share them in the forum
I have been thinking about building a sound engine and are investigating two tracks:
• Arm Cortex M0 with usb host mode (probably on blue pill or seeed xiao)
• Raspberry pi Zero with a tiny oled screen and some switches
The pi seems to be more versatile, so I will probably start there.
Would you consider releasing schematics for these? I don’t have a 3D printer, but I’d like to make some PCBs for these.
Hi Joshua
That’s a great idea. Schematics is kind of not needed, the wiring diagram show how each switch is connected to the microcontroller and you can also read the pin mapping from the code itself. It is dead simple with each switch to its own I/O. If you opensource the PCB I can help you make a table with the wiring ;)
Johan,
Didn’t even think of looking at the source code, that’s a good idea! I’d be happy the opensource the PCBs; I’ve wanting to do some layout work and I think this might scratch the itch. Wiring table would be handy if you don’t mind.
I’ll start a thread in the forum on this. Thanks!
Here is the wiring table for the LEET Keyboard:
If you build custom pads for the LED-strip you can probably solder it directly at each end. With SMD switches and top side pin headers everything could be single sided (but not sure it would add any value ;)
Good Luck!
I/O 2 data in – LED-strip (with 7 LEDs)
I/O 3 key “E”
I/O 4 key ”C”
I/O 5 key “D”
I/O 6 key “F”
I/O 7 key “F#”
I/O 8 key “A#”
I/O 9 key “G#”
I/O 10 keyOctDown
I/O 14 key “B”
I/O 15 key “G”
I/O 16 key “A”
I/O 18 (A0) keyOctUp
I/O 19 (A1) key mode
I/O 20 (A2) key “D#”
I/O 21 (A3) key “C#”
GND to all switches
GND to both LED-strips
VCC to both LED-strips
Data out Data in (between LED-strip 7 and LED-strip 6)
I would very much like to build one of these. I dont have a 3d printer but if anyone would be willing to print the body for the chord version (possibly the single note version as well) I can provide monetary compensation.
Amazing concept though, super interesting stuff.
West coast canada btw.
Thank you for this project! I am eager to try it with my son. I have a bunch of Arduino nano, can this be used to for this? Is the coding and wiring the same? Do you have STLs for it? If not, I will try to create one.
Hi
The Arduino nano is unfortunately not well suited for LEET devices since it is lacking USB-MIDI capabilities (only serial interface) and it is also larger than the pro micro. In theory you can use a serial to midi program (hairless midi), increase, and reroute the 3DPCB to fit the nano, but it’s a lot easier to use the pro micro…
I had a question on the buttons. Are you using 2 pin through hole or 4 pin smt.
Hi
I use the common 4 pin through hole (6x6mm) for all switches.
Check out the device instructions for all parts used and building instructions. https://vonkonow.com/wordpress/leet-keyboard/
Hi Johan. I’m Andrés Baldivieso from Argentina. I already have my first LEET-Keyboard working.(Works perfectly)
(www.ab-soft.com.ar/leet-synthesizer/leet-keyboard.jpeg)
I think I’m going to build them one by one.
My question is: With which of the other modules should I continue?
LEET-PAD, LEET-CONTROL or LEET-ARPEGGIATOR or
LEET-SEQUENCER?
Thanks a lot!
Hi Andrés
I think that any order will work. Pad and Chord is similar to the keyboard.
The Control8 might be better than the previous control, but control and arpeggiator uses the same hardware, it’s up to you.
When you have built a few, you are ready to build the more complicated sequencer.
Good luck!
These are the boards I got, but they are too big:
https://www.aliexpress.com/item/32836616428.html?spm=a2g0s.9042311.0.0.27424c4d2R5Xme
Might someone be able to share a link to a product that works? I’m looking to buy around 10. Thanks!
I have used arduino pro micro clones like this one:
https://www.aliexpress.com/item/32768308647.html?spm=a2g0o.productlist.0.0.59117ec3o5Aa5t&algo_pvid=3348af5f-1b0b-4f32-a4a4-404db9c20f68&algo_expid=3348af5f-1b0b-4f32-a4a4-404db9c20f68-1&btsid=0b0a0ae216097021487726960ee1ba&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
It should have micro USB connector and ensure it is the 5V version (16MHz)
(You can also find them on ebay, digikey, sparkfun etc)
No matter what I’ve tried, WordPress rejects my login attempt to the forum.
I’ve changed my password five times. It always fails.
Is there any way around WordPress?
Hi Dominick.
Did you get the WordPress login to work? (Curious if something is wrong)