Skip to the content
PCBKitNew board
2 layers81.3 × 96.5 mmMidi2cv, the printed circuit board in 3D

Eurorack MIDI2CV and Arpeggiator using an Arduino Nano.

Size
81.3 × 96.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
63
Nets
112
Pads
285
Tracks, vias
544, 22
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
8 Jun 2019
Updated
2 Feb 2020

Overview

Midi2cv is an open-source printed circuit board by tomarus, from the tomarus/midi2cv repository on GitHub. It is a 2-layer board of 81.3 × 96.5 mm with 63 parts on 112 nets, routed with 544 tracks and 22 vias.

It is built around the MCP4922-E/P, 24LC256-I/P and 74HC595, with the L7805 and B10K among its other parts. Its parts include 25 connectors, 15 resistors, 9 capacitors, 8 ICs and 4 diodes. It belongs with the audio and music boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

MIARPH * MIDI2CV + ARPEGGIATOR

Miarph is an Arduino based MIDI2CV converter with 4 0-5V 12 bit DAC's and 10 trigger outputs.

Preview 1.0 PCB

Preview 1.0 Module

Video Demo

Video Demo

Features

  • 4 individual 0-5v 12 bit DAC's (MCP4922 based)
  • 10 Trigger outputs
  • Dual Arpeggiator
  • SYSEX configurable.
  • Two MIDI-CC controller outputs.
  • Two Midi Note + Trigger outputs.
  • Split note (single channel) or two individual channel operations.
  • 8 individually programmable gate triggers to be either drum trigger or clock divider.

Building Notes

  • Use a real Arduino Nano or atleast one with a real FTDI chip.
  • There is no tuning possibility, but a stable LM7805 is key.
  • The LED is on the wrong side but easy fixable using 2 short wires. (This is the only mistake on the PCB).
  • The LED resistor is dependent on your LED specs.
  • Capacitors have three holes, always use the square one and one of the others. Both 2.54mm and 5.08mm caps will fit.
  • Polarized caps should have their positive in the square hole and the negative pointing outwards the board. (See image above!)
  • Remove the jumper and power cable before programming!
  • DO NOT CONNECT POWER AND USB AT THE SAME TIME!

BUGS

  • It crashes at split note change. But after a reset it is correctly read from eeprom.
  • Transpose is buggy, but required because it can only support 60 MIDI notes.

Programming Using Webconfig

See https://midi.tomarus.io/miarph/

You need a modern browser like Opera or Chrome to use this site.

Note that all values are initially unknown until you actually change something. The device has no MIDI output so config values can't be read back.

After initially building the device, you should set all of your defaults once via webconfig. After changing values it is stored on the device's eeprom and used at the next power up.

Webconfig Screenshot

Programming Using the Commandline

Use the midi2cv Go utility to program the device.

Example:

./midi2cv write 0x01 0x77

Where 0x01 is the address and 0x77 the value.

List of addresses to program:

AddressDescriptionExample value
0x00unused--
0x01Split keyboard at note0x40 (use 0x00 for no split)
0x02MIDI 1 Channel0x01
0x03MIDI 2 Channel0x02
0x04Transpose Channel 10x40
0x05Transpose Channel 20x40
0x06Control Change Number Channel 10x07 (0x07 = volume)
0x07Control Change Number Channel 20x6A (0x6A = filter cutoff)
0x08Control Change Channel 10x01
0x09Control Change Channel 20x02
0x0aPitchbend Channel 10x02 (number of notes)
0x0bPitchbend Channel 20x0c (number of notes)
0x0cMidi Channel 1 sync0x00 (00 = use potmeter, otherwise nr of midi clock ticks)
0x0dMidi Channel 2 sync0x00 (00 = use potmeter, otherwise nr of midi clock ticks)
0x0eClockticks to advance the clock divider0x03 (0x03 = sync to quarter notes)
0x0funused--
0x10..0x18Port Mode (0 = clock divider, 1 = drum trigger)0x00
0x18..0x20Port Trigger Note0x36
0x20..0x28Port Clock Divider Division (0=1/1, 1=1/2, 2=1/4, 3=1/8, etc)0x00

Bill Of Materials

DesignatorPackageQuantityDesignationPartNo
RV1Potentiometer_Alps_RK09K_Single_Vertical1B10K
NANOArduino_Nano_Silk1Nano v3
C1GenericCap1100uF
C2GenericCap110uF
C3,C4,C5,C6,C7,C8,C9GenericCap7100nF
D1LED_D3.0mm1LED
D2,D3,D4D_DO-35_SOD27_P7.62mm_Horizontal3D
J1PinHeader_1x02_P2.54mm_Vertical1ProgramJmpr
J2IDC-Header_2x05_P2.54mm_Vertical1Power
J3,J14,J15PinSocket_1x04_P2.54mm_Vertical3Conn_01x04_M
J4,J24,J25PinHeader_1x04_P2.54mm_Vertical3Conn_01x04_F
J5PinSocket_1x08_P2.54mm_Vertical1Conn_01x08_M
J6PinHeader_1x08_P2.54mm_Vertical1Conn_01x08_F
J7Jack_3.5mm_QingPu_WQP-PJ366ST_Vertical1Midi Input
J8-J13,J16-J23Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical14Misc
R1,R2R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm22K2
R3,R4,R5,R6R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm41K
R7R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm1220
R8,R9,R10,R11,R12,R13,R14,R15R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm8100
U1TO-220-3_Horizontal_TabDown1L7805
U2DIP-8_W7.62mm124LC256
U5DIP-4_W7.62mm1PC817PC817XNNSZ1B
U6,U8DIP-14_W7.62mm2TL074
U7DIP-16_W7.62mm174HC595
U3,U4DIP-14_W7.62mm2MCP4922

Parts

63
QtyValueFootprintReferences
8100Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR8, R9, R10, R11, R12, R13, R14, R15
7100nFTomarus:GenericCapC3, C4, C5, C6, C7, C8, C9
31KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR4, R5, R6
3Conn_01x04_FemaleConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ4, J24, J25
3Conn_01x04_MaleConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ3, J14, J15
3DDiode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD2, D3, D4
22K2Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2
2MCP4922Package_DIP:DIP-14_W7.62mmU3, U4
2TL074Package_DIP:DIP-14_W7.62mmU6, U8
1100uFTomarus:GenericCapC1
110KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3
110uFTomarus:GenericCapC2
1220/470Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR7
124LC256Package_DIP:DIP-8_W7.62mmU2
174HC595Package_DIP:DIP-16_W7.62mmU7
1Arduino_Nano_v3.xTomarus:Arduino_Nano_SilkA1
1B10KTomarus:Potentiometer_Alps_RK09K_Single_Vertical_HalfSilkRV1
1CTL1 OutputConnector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ10
1CTL2 OutputConnector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ11
1CV1 OutputConnector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ8
1CV2 OutputConnector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ9
1Conn_01x08_FemaleConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ6
1Conn_01x08_MaleConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ5
1Gate1 OutputConnector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ12
1Gate2 OutputConnector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ13
1L7805Package_TO_SOT_THT:TO-220-3_Horizontal_TabDownU1
1LEDLED_THT:LED_D3.0mmD1
1Midi InputTomarus:Jack_3.5mm_QingPu_WQP-PJ366ST_Vertical_CircularHolesJ7
1P1Connector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ16
1P2Connector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ17
1P3Connector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ18
1P4Connector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ19
1P5Connector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ20
1P6Connector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ21
1P7Connector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ22
1P8Connector_Audio:Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical_CircularHolesJ23
1PC817Package_DIP:DIP-4_W7.62mmU5
1PowerConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ2
1ProgramJmprConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1

Questions

How big is the Midi2cv PCB?

It measures 81.3 × 96.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Midi2cv use?

63 parts, built around the MCP4922-E/P, 24LC256-I/P, 74HC595 and L7805. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Midi2cv KiCad files?

From the tomarus/midi2cv repository on GitHub, at the commit this page was made from: the board is kicad/midi2cv/midi2cv.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Midi2cv design in my own project?

Its repository states no licence, so its author keeps all rights: ask tomarus before reusing the design.

Similar boards

  • 2 layers189.2 × 124.5 mmSleipner, the printed circuit board in 3D

    Sleipner

    ekdennisek/gjallarhorn-sleipner

    A Eurorack compatible step sequencer

    129 partsGPL-3.0
  • 2 layers162.8 × 99.9 mmPSU, the printed circuit board in 3D

    PSU

    Sakib-Ansari/Linear_Programmable_Power_Supply

    This repository contains the complete KiCad project for a multi-board linear programmable bench power supply. The design is organized into separate PCBs, including the Power Board, Control Board, Front Panel, Output…

    133 partsMIT
  • 4 layers363 × 128 mmBoard r1, the printed circuit board in 3D

    Board r1

    dennisss/dacha

    Monorepo for awesome tools/projects/libraries

    430 parts397Apache-2.0
  • 2 layers98.2 × 109.2 mmModule, the printed circuit board in 3D

    Module

    zlosynth/arplus

    Quantizer, arpeggiator, and string synthesizer in a single module.

    64 parts8CC-BY-SA-4.0