firmware for Hagiwo's MOD1 open source digital eurorack module
https://note.com/solder_state/n/nc05d8e8fd311 https://www.youtube.com/watch?v=1raYsBepOF0 https://www.patreon.com/posts/mod1-arduino-cv-118769416
feel free to open an issue or message with questions/bugs
3ch LFO (same as Hagiwo's, I just added ramp wave)
--Pin assign--- POT1 A0 LFO1 frequency POT2 A1 LFO2 frequency POT3 A2 LFO3 frequency F1 A3 frequency CV in (apply all ch LFO freq) F2 A4 LFO1 output F3 A5 LFO2 output F4 D11 LFO3 output BUTTON change waveform LED LFO1 output EEPROM Saves select waveform
grids
Controls: POT1 A0 = X position POT2 A1 = Y position POT3 A2 = Global density
Input: A3 = Clock input D4 = Reset button
Outputs: D9 = Kick trigger D10 = Snare trigger D11 = Hat trigger
LED: D3 = Clock / reset indicator
simple manual cv knobs + latch
cv outputs F2-4 follow knob 1-3 positions from 0-5v. f1 and LED latch at 5v or 0v when the button is pressed.
POT1 A0 -> CV1 D9 POT2 A1 -> CV2 D10 POT3 A2 -> CV3 D11
Button: D2 -> toggle latch state
Latch output: A3 / D17 -> 0V or +5V (F1)
LED: D3 -> latch state indicator
Range: CCW = 0V CW = +5V
CV attenuverter
Channel 1: A0 = Pot 1 (attenuation 0.0 → 1.0) A3 = CV IN1 D10 = OUT1 (PWM)
Channel 2: A1 = Pot 2 (attenuation 0.0 → 1.0) A4 = CV IN2 D11 = OUT2 (PWM)
Output = Inverted Input × Knob Position
2 channel quantizer (todo: make 1 channel version with clock input)
POT1 A0 Scale selection (major, minor, etc.) POT2 A1 Portamento time POT3 A2 Transpose (e.g. -12 .. +12 semitones) CVIN1 A3 CV input channel 1 CVIN2 A4 CV input channel 2 BUTTON D4 Bypass toggle (INPUT_PULLUP) LED D3 Scale index indication (blink count on change) CVOUT1 D10 Quantized CV output channel 1 CVOUT2 D11 Quantized CV output channel 2
steplength euclidian
--Pin assign--- POT1 A0 number of hits POT2 A1 rhythm rotation POT3 A2 step length (5, 6, 7, 8, 12, 16) F1 D17 reset step in F2 D9 clock in F3 D10 number of hits CV F4 D11 Trigger outpu BUTTON reset step LED Trigger output EEPROM N/A
attenuverter
(this is a CV attenuverter, obviously it won't work with audio)
Channel 1: A0 = Pot 1 (attenuation 0.0 → 1.0) A3 = CV IN1 D10 = OUT1 (PWM)
Channel 2: A1 = Pot 2 (attenuation 0.0 → 1.0) A4 = CV IN2 D11 = OUT2 (PWM)
Output = Inverted Input × Knob Position