Eurorack MIDI2CV and Arpeggiator using an Arduino Nano.
Loading README and project media…
Miarph is an Arduino based MIDI2CV converter with 4 0-5V 12 bit DAC's and 10 trigger outputs.


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.

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:
| Address | Description | Example value |
|---|---|---|
| 0x00 | unused | -- |
| 0x01 | Split keyboard at note | 0x40 (use 0x00 for no split) |
| 0x02 | MIDI 1 Channel | 0x01 |
| 0x03 | MIDI 2 Channel | 0x02 |
| 0x04 | Transpose Channel 1 | 0x40 |
| 0x05 | Transpose Channel 2 | 0x40 |
| 0x06 | Control Change Number Channel 1 | 0x07 (0x07 = volume) |
| 0x07 | Control Change Number Channel 2 | 0x6A (0x6A = filter cutoff) |
| 0x08 | Control Change Channel 1 | 0x01 |
| 0x09 | Control Change Channel 2 | 0x02 |
| 0x0a | Pitchbend Channel 1 | 0x02 (number of notes) |
| 0x0b | Pitchbend Channel 2 | 0x0c (number of notes) |
| 0x0c | Midi Channel 1 sync | 0x00 (00 = use potmeter, otherwise nr of midi clock ticks) |
| 0x0d | Midi Channel 2 sync | 0x00 (00 = use potmeter, otherwise nr of midi clock ticks) |
| 0x0e | Clockticks to advance the clock divider | 0x03 (0x03 = sync to quarter notes) |
| 0x0f | unused | -- |
| 0x10..0x18 | Port Mode (0 = clock divider, 1 = drum trigger) | 0x00 |
| 0x18..0x20 | Port Trigger Note | 0x36 |
| 0x20..0x28 | Port Clock Divider Division (0=1/1, 1=1/2, 2=1/4, 3=1/8, etc) | 0x00 |
| Designator | Package | Quantity | Designation | PartNo |
|---|---|---|---|---|
| RV1 | Potentiometer_Alps_RK09K_Single_Vertical | 1 | B10K | |
| NANO | Arduino_Nano_Silk | 1 | Nano v3 | |
| C1 | GenericCap | 1 | 100uF | |
| C2 | GenericCap | 1 | 10uF | |
| C3,C4,C5,C6,C7,C8,C9 | GenericCap | 7 | 100nF | |
| D1 | LED_D3.0mm | 1 | LED | |
| D2,D3,D4 | D_DO-35_SOD27_P7.62mm_Horizontal | 3 | D | |
| J1 | PinHeader_1x02_P2.54mm_Vertical | 1 | ProgramJmpr | |
| J2 | IDC-Header_2x05_P2.54mm_Vertical | 1 | Power | |
| J3,J14,J15 | PinSocket_1x04_P2.54mm_Vertical | 3 | Conn_01x04_M | |
| J4,J24,J25 | PinHeader_1x04_P2.54mm_Vertical | 3 | Conn_01x04_F | |
| J5 | PinSocket_1x08_P2.54mm_Vertical | 1 | Conn_01x08_M | |
| J6 | PinHeader_1x08_P2.54mm_Vertical | 1 | Conn_01x08_F | |
| J7 | Jack_3.5mm_QingPu_WQP-PJ366ST_Vertical | 1 | Midi Input | |
| J8-J13,J16-J23 | Jack_3.5mm_QingPu_WQP-PJ398SM_Vertical | 14 | Misc | |
| R1,R2 | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm | 2 | 2K2 | |
| R3,R4,R5,R6 | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm | 4 | 1K | |
| R7 | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm | 1 | 220 | |
| R8,R9,R10,R11,R12,R13,R14,R15 | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm | 8 | 100 | |
| U1 | TO-220-3_Horizontal_TabDown | 1 | L7805 |
| U2 | DIP-8_W7.62mm | 1 | 24LC256 |
| U5 | DIP-4_W7.62mm | 1 | PC817 | PC817XNNSZ1B |
| U6,U8 | DIP-14_W7.62mm | 2 | TL074 |
| U7 | DIP-16_W7.62mm | 1 | 74HC595 |
| U3,U4 | DIP-14_W7.62mm | 2 | MCP4922 |