Super simple midi keyboard

Sent you an email… Rather than pollute this thread with baudot stuff

1 Like

thanks! I don’t think I got one though. not even in the old junk folder

I definitely sent it to the one linked on your website…!

Sorry to hijack the midi thread, but either your or my email don’t work!

Anyways, if you haven’t seen the third video, then I recommend checking it out as it explores the gpio side of things


As you can tell, it’s very nearly finished. I just need to set the pi to run the program when the device is powered on.

Would like to arrange a visit at some point so I can offload this thing to you :slight_smile:


ahaa the contact form! I see. there is 2 I recon that one went to the company that I got to organise the merch all good it’ll turn up tomorrow! at least I hope or I have something up With my site uhoh.

awesome I’m checking it out now!!!

20 char of lovely jublee!

1 Like

Id like to think that the merch company got a fun email about baudot codes and was like whaaa.
@MarCNeT lookin forward to the cool-ass baudot stuff m8.


I didn’t use the form on the website - I meant that I clicked the email icon at the bottom, which opened up my email client and filled in the address with the computer (at) address

I typed my stuff, and clicked send…

Just to test, I also sent an email to my mum, which she got (and was quite worried that I sent a random email at her)…

(Also the irony that I attempted to use email to prevent pollution to the midi keyboard thread, and now the thread is everything but midi keyboard stuff)


found it! super junk folder


lol - Nice to know where I stand :smiley:


Just got some buttons mounted to a cardboard box for some prototyping. I’m a bit of a noob to this sorta thing, so here is my first question…

  • I got the LED buttons like in the video. How should those (the leds) be wired together and where should they connect on the nano?

If I can get this running, I’d love to add a mod wheel, octave switcher and possibly some rotary controllers too- is this reasonable to try?



Welcome to the forum :slight_smile:

I didn’t build it, but maybe look in the code if there are pins for the leds in the program

but the led part of the switch has a separate circuit, i think you can just connects one side (-) to GND and the other (+) to +5V with a resistor between (1K for example)
and all leds in series


Thanks-I think that makes sense. For the resistor, is that between each led or just before the 5v? As for in series, I assume that means positive to positive down the chain until the last one which goes to 5v and same with ground? It seems that is what is being done in the video.
Again, sorry for the complete noob questions!


While I’m at it, here is another noob question…

In the video, a DC adapter is wired to the Nano. Is it possible to instead just power the Nano via USB? Seems like that would be a simpler option, just plugging in a USB extension cable. Along those lines, is the controller able to alternatively send midi messages via USB?


you can absolutely power via usb. sending/receiving midi messages over usb is not possible with the code as is, and i think with the nano in general. The nano uses that usb connection basically exclusively as a means to send code to it if that makes sense.

An uno or mega have the ATmega16U2 or ATmega8U2 which are a second, smaller microcontroller on board. This allows those boards specifically to be configured to use the main MCU over TTL UART and also act as a USB COM port. During normal operation, the 16U2 is just a usb to serial bridge but you can program it to be usb midi to serial bridge.

Its def out of the scope of a “simple” controller though!

Other microcontrollers like the teensy make midi over usb more possible.


i think a resistor on each led is good

that’s it

hey Eric if you havent6 already check inside the LED thing to see if there isn’t already an RESISTOR in it, there usually isa :slight_smile:


Those buttons tend to come with a built in resistor. The LEDs just plug straight into the 5V rail.


You should be able to add a mod wheel (potentiometer wired as voltage divider) without too many changes to the code. It would simply be a case of analogReading the pot value and sending out corresponding MIDI control change messages once every few milliseconds.
I will be building this on a PCB sometime and will probably implement this feature.

I think these are probably both in reach, but then you start running out of Arduino pins, bringing in the need for multiplexers which both make it not so simple and also (especially the octave switchers) need the code refactored in ways which are completely out of my programming ability. Possible, yes. Simple, not quite.


Thanks everyone. I’m thinking maybe there is a resistor already with the led since I’m using what looks to be the same buttons @lookmumnocomputer might be using? Hoping that is a safe assumption!


I think the point of this project is to be super simple and while I expect many people will want to go further and do more, I’d encourage you to keep it simple and build it simple if it’s your first project of this type. You will learn a lot and it will make taking the next steps much easier.

For those wanting to do USB midi I’d highly recommend looking at the Pro Micro based on the mega32u4. I’ve seen this recommended by multiple customer usb controller builders and I’ve created my own midi devices with it.

Small gotcha, make sure you read usb midi messages even if you are only writing/sending them, as the usb read buffer will fill up and crash your device.

If you need more buttons then I’d suggest creating a button matrix (only requires an extra diode per button/switch) before using a multiplexer. (But again see my note on keeping it simple above) I have built a nano based midi controller with 30? buttons, 4 pots, trs midi out and serial midi over usb (needs a software bridge, mostly added for debug)