LEET Control8

The Control8 MIDI unit is part of the LEET Synthesizer project. If you haven’t – It is a good idea to read the main post first before continuing with the details below:

This post describes how the Control8 unit works and what you need to build your own.

Description of the Control8 unit

Product guide. Click here to download high-resolution PDF.

Part list:

  • 1x 3D printed core 3DPCB
  • 8x 3D printed potentiometer knobs (use the version with 0 deg arrow)
  • 1x Arduino pro micro, or compatible clone (5V version. ATmega32U4)
  • WS2812 LED-strip with 8 LEDs (60 LEDs/m. I used IP60, white FPC)
  • 8x 100k trim-potentiometers (10k-500k will work)
  • 1x 25cm RK wire (containing 24 strands of 0.3mm copper wires)


  • 3D printer (FFF/FDM with PLA filament)
  • Solder station with a narrow tip
  • Basic tools: Needle- and cutting pliers, knife, hot-glue
  • Computer to run Arduino IDE and upload firmware (using a Micro USB cable)


The Control8 is the successor to LEET Control.

Control8 has 8 analog inputs and uses the same low-cost trim-potentiometers as LEET Chord and Sequencer. In order to simplify routing, the trim-pots are rotated 90 deg compared to the other devices – so make sure to use the right 3D printed top if you want the arrow to face upward in mid position.
I recorded the process when I designed the 3DPCB for the device if anyone is interested:

Designing a 3DPCB in 10x speed (still boring unless you want to learn how it is done ;)

Build it

I have not made a step by step building instruction, but if you have built another device, it should be sufficient to look at the illustration below. The build process is very similar to the step-by-step instruction for the keyboard.

Backside view showing routing of wires.

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

Download project files

All files required for this project are available at this GitHub repository:


This project is open source under MIT License
(Attribution is optional, but appreciated /Johan von Konow ;)

10 Replies to “LEET Control8”

  1. I programmed my pro micro with your code and using 100k potentiometer (not same as yours) when I rotate them normally on logic it can only go between +6db -71db not the full range logic uses I used with different slide pots when it hits -71 even my pot has space pro micro stops sending data (led is not flashing) can you help me?

    1. Hi
      Strange. This is one of those moments where you don’t know if the error is within hardware, or software ;)
      Let’s start with hardware: If you have a multimeter, I recommend that you measure one potentiometer and verify that one pin is 0V, one is 5V and the middle one should go between 0-5 when you turn it.
      If those measurements are right, lets move on to software. Open the code, change the debug constant to true, recompile, upload and open a serial terminal. You should now see the analog reading for each channel that is sent as MIDI.
      If everything looks good, it might be how your DAW interpret the data…

      Hope this helps! Let me know how it goes.

      1. I think its normal to jump between -71 to -infinite because I tried and there is no difference between -71 and -80,-90 so maybe it just divides the values like that.

        1. You can also test to remove the Schmitt trigger feature by setting “trigAmount” to zero.
          This will allow all values to be submitted (when it is one, it could stay at 0x7e, and not reach 0x7f)

  2. My pots working between 0-4,6 but the max voltage I can get from pro micro’s vcc out is 4,6.

  3. And when I use debug monitor everything is nice and smooth but there is little weird think. When my pot still has place to move in serial monitor it hits min 0 or max 7f so I can’t use my pot at full range

  4. Hi
    First of all if your serial moves between 0x00 and 0x7F, the problem is not on the LEET side…
    Most pots have a dead zone in the beginning and the end where the slider touches the end terminals, in that region you will not see any change of signal. On my trimpots this is only a few degrees, (so the dead zone is quite small), but I guess it depends on trimpot model…

    The 4.6V is strange, but doesn’t have to be a problem if the CPU is using the same reference. You can also measure the voltage between raw and gnd. but again, if you reach 0x7f, I wouldn’t bother too much. It can be due to a voltage drop over the LDO, but on my device i have close to 5V on both sides (VCC and RAW)

Leave a Reply