Arduino Midi to CV Interface

Buttons / Features

CH Button
Quick Press - Change MIDI Channel
Long Press - Auto Assign Controller

INV Button
Quick Press - INVERT Gate
Long Press - SAVE all Settings

CC Button
Quick Press - Manual set CC UP
Long Press - Manual set CC DOWN

• All 127 MIDI controller codes assignable to PWM out.
• MIDI Channel Selectable
• can be used a small MIDI monitor
• Invert GATE out
• Save settings to non volitile RAM
• OLED Sleeps after 30 seconds of inactivity
• Assign last Controller heard on MIDI
• No computer required once programmed
• Covers 5 octaves
• Only uses 41% of program storage
• 2 Spare Pins A2 and A3
• Re-Program in circuit, no button to press
• MIDI THRU many units or synths can be chained

Arduino Code Nov 2021

Work goes on- Updated 11th Dec 2021
Hardware You can buy this project as a kit!
Purchase Kit

Update 11th Dec 2021
Arcylic Covers Arrived!
from LaserLab in Bristol. Very Happy.

Update 7th Dec 2021
Ordered Arcylic Covers
from LaserLab in Bristol. Waiting for postman
Update 5th Dec 2021
White PCB Built & tested in desktop format!
New Bigger 1.3 inch Screen
White Version v1 PCB
Update 25 Nov 2021
New PCB in white !
This version adds option for horizontal buttons
As well as better spacing for enclosing in acrylic.
There is also a mounting place for a Potentiometer.
White Version PCB Update 22 Nov 2021
Software THRU now works.
The MIDI OUT Socket acts as a MIDI THRU
The hardware is now proven in software. Yay!
Other Reading / Libraries

Arduino IDE

Fritzing PCB File
Editable PCB Files by Dan
22/11/21 Green v1
25/11/21 White v1

Laser Cutting Files for panels

Panels For white PCB v1
Desktop Format

5v MIDI IN Circuit breadboard

5v MIDI IN Circuit Diagram

Original Concept
by Barito 2018
We salute your maker skills.
View his excellent instructable

See how they got
2x 12bit DACS running
In this clear
walk through

ProMicro Pins

OLED Screen
7 Pin SPI
U8g2 Library SH1106
16 15 14 A1 A0
+ -

mcp4725 12bit DAC
2 pin i2c
1v/Oct Pitch Out

Velocity Out
1 Pin PWM

Controller Out
1 Pin PWM
CC Assign on screen

Gate Out
1 Pin
Invert gate on screen

MIDI In / Out
2 Pin
2 and 1

External DC IN +
6v Max

Dans Comments

MIDI input amd output uses Type A TRS MIDI Cable

If supply is via USB you get different voltages on different computers and hubs. You can compensate for this but will lose the top notes as your voltage decreases. 4.7v is not 5v. Check the code there are notes to help you adjust.

We have to spend our clock cycles with care.

The flute here THIS TUNE is a Curtis CEM3340 synth I built.
Using the CC out on this board I Used a MIdI controller and DAW to sequence notes and record the filter sweep that made it chirp like a flute.

Text only graphics, I opted for no screen buffer to keep down on overhead, as a result bitmaps or crazy animations are not possible. You could try using the full buffer library and see if it interfears with timing.