Bleached (DIY midi controller)

nice ! I thought this might be the case but I didn’t want to sacrifice a build to confirm - I’ll remove these from the bom & guide. did you skip the surface mount header on the bottom too ?

I’ll also switch to teensy LC - does it have the same footprint as 3.2 or would I need to specify where to place it in the existing pin holes ?

you can skip the surface mount stuff too. all you need are the pins in use. i’ve hand wired a few little knob things this way since building my bleached. also, LC is the same footprint as 3.2 :slight_smile:


makes sense ! I wonder why there are multiple power & ground pins then ? that was my only hesitation for keeping them

The 5v and 3.3v pins are typically if you want to power something from the controller (like a display perhaps). For the 3.3v pins, there’s just 2-3 for convenience. At least one of the GND pins should be connected, but AGND can usually be ignored. Pretty much all other pins only need to be soldered/connected if you’re using them in the project.

So in this case, only pins 20 (A6), 19 (A5), 18 (A4), 17 (A3), 16 (A2), 15 (A1), 14 (A0), (one of the) 3.3v pins and GND pins need to be soldered. I’m not entirely clear why you have AREF tied to 3.3v, but that one interior pin is also necessary


As mentioned by @eigen @okyeron and @Justmat, the duplicated 3.3v and GND pins are connected on the Teensy board, so there’s no need to connect them again externally, although I’d imagine the board design has a ground plane so it’s neither here nor there
I’m not 100% sure, but I believe the AREF pin is only needed if you wish to provide a stable, reference voltage for more accurate measurement. It’s not really needed in this application, however.

If you were only going for the top and bottom row pins, you get analogue inputs for up to 10 pots, 11 with the end row added, and 13 with the interior pins.

Just for my own amusement, I knocked up a layout in KiCad for a 9-pot Teensy LC version (8 pots +1 for control functions etc):

It’s slightly longer than the original and a touch narrower, but it should be fine. Pot spacing is a couple of milimetres different (I went for the Mutable Instruments pot spacing) but I kept the lovely offset design of the original Bleached. I’ll throw it up on Github later on once I get back from the supermarket.

Apologies to @andrew if this is a bit foot-steppy; I can throw this in a different thread if you’d prefer.


Well, here’s the github of the version I’ve done. Gerbers are compiled as a .zip file if anyone wants to give them a whirl. From Andrew’s original, I just changed the footprint of the Teensy to a custom version of the TeensyLC with the additional pins stripped out. This allowed easy routing of the PCB as the pads on the right side of the Teensy were no longer an obstruction, giving clear access and allowing me to use the entire underside of the board as an unbroken ground plane.
I originally planned to fork the original from @andrew’s Github, but then I remembered that I don’t know how to use Eagle and gave up after ten minutes of failing to figure out how to rotate a potentiometer footprint! Absolute disgrace.
Oh! If anyone fancies giving it a try and isn’t concerned about green PCBs, AllPCB are doing a crazy promotion where you can get 5 free PCBs with free shipping. In other words, they’re completely free. Madness. If you’d prefer some stealthy black PCBs, JLCPcb is the cheapest source. I added some instructions in the Github readme on how to make sure that the order code is hidden under the Teensy on the board. Doesn’t really make much of a difference, but still…Aesthetics and all that.
Thanks again to Andrew for the project. Again please give me a slap if this shouldn’t be posted in this thread.


Finished mine. Nice little project, first time breaking and drilling pvc and ordering from Mouser. Works like a charm running on a LC with only sides soldered.


wow I missed all your edits @ramphands, this is fantastic ! strictly congratulatory slaps from me. after using 7-knob bleached for a year or so now, I suspect 9 is more of a magic number : ) jealous !!


Phew! That’s a relief! Thank you so much for the project - I hugely appreciate it!

Well, I’ve ordered boards and potentiometers, and a Teensy LC is sat in front of me on my desk, so I should be able to test whether I’ve borked it or not in the next week or so. In fact, my first upload had (groan) reversed pot pins, which was a mortifyingly embarrassing mistake now rectified. I’ve just uploaded one with a slight edit to the silkscreen, so that the pot names are easily visible for anyone who wants to hack the code further without breaking open KiCad.

Thanks again for the kind words!

Have these been made available as a pre-built design or strictly diy?

It’s strictly DIY, but an excellent first project for someone who wants to try their hand at soldering.

Your mod made me think: How many knobs would you get if you elongated the pcb to match the length of a Grid? Would that be practical at all?

1 Like

20 characters of like This?


I was going to say the exact same thing! There’s another one with three(?) groupings of pots which I’ve forgotten the name of, but that looked lovely.

Four-n midi controller

You beat me to it!!
Also for what it’s worth, if you don’t know a lot about getting PCBs made but can drill and cut and solder wires, a free wire version where you just solder a bunch of 10k pots or sliders to a teensys analouge ins, use the code of one of these linked above and mount it in some kind of box also works great. The actual circuitry is super super simple and there are plenty of youTube videos on teensy midi controllers :slight_smile:


So cuuuuute. Ive cobbled together a breadboard norns friend which just pushes MIDI cc, but this thread makes me want to get fancier knobs than those for protoing, and maybe build enough of a case so that it can be moved without pieces falling off.

Figure 1. Typical protoboard.


Before I go making my own (which I’d be happy to share assuming that’s ok!), has anyone made a 3d printed version of this?

I was going to throw something together in Fusion 360 over the next couple of weeks, but if someone else already has, I figured I’d just use that. I’m wanting to make a fully enclosed version as opposed to just extruding the panels so one can just hand wire the whole. The circuit is so simple, if someone has the parts and a 3d printer, I feel like it can be soldered built in just a few hours, excluding print time.

1 Like

Finally got the boards and could build it up!
Works perfectly!

Using it as a 2x8 bank for controlling Sines


beautiful !! :ok_hand: :chef’s_20_character_kiss_:100::


Aww thanks. Couldn’t have done it without your original design and code and @Justmat’s great code additions for the bank changing. Haven’t coded anything in donkeys so it was a lovely nudge back into that world.
I’m going to take a look at the Mutable Instruments code for the Clouds mode pot and see if I can make sense of it. It would be excellent to be able to bank change and the have the pots hold their value until you sweep past their existing value as is done in Clouds. It would prevent any sudden jumps in value as can be the case as is.
Quite pleased with how my DIY “lightpipe” worked out - I just drilled a 2mm hole directly above the Teensy LED, stuck in a bit of acrylic rod from the local DIY store, superglued it and then cut it flush with the top panel.


Since updating my Norns shield, I have an issue where my Norns seemingly freezes on certain tasks when my bleached is connected. I described the issue in the Arcologies thread as this was where I first noticed it.

Other than the very reproducible Arcologies issue, it happens for instance when loading Firstlight and some other scripts; it gets stuck on the loading screen until I unplug my bleached. Then the script starts as normal. I can replug my bleached after and everything seems then fine.

Does anyone else experience the same issue?

Could there be anything that creates such an issue from the teensy? The code is not process heavy and only pushes new data upon change. Mapping and controlling parameters otherwise works as it should.