Testbild-synth / HAGIWO-029-033-Eurorack-quantizer

Through hole PCB version of the HAGIWO Dual Quantizer/SH101 Sequencer Eurorack Module-.
MIT License
26 stars 6 forks source link

HAGIWO 029/033 Eurorack Quantizer Module

Through hole PCB version of the HAGIWO 033 dual quantizer and 029 SH101 sequencer Eurorack Module. The modules uses a seeduino xiao and a mcp4725 dac.

The dual quantizer quantizes to notes selectable on the screen and can automatically trigger an envelope on note changes. The SH101 sequencer allows recording and playback of cv sequences.

CURRENT STATE: HARDWARE VERIFIED WORKING, DOUBLE QUANTIZER FIRMWARE WORKING, SH101 SEQ NOT TESTED

Hardware and PCB

You can find the schematic and BOM in the root folder. For the PCBs, the module has one main circuit PCB, one control circuit PCB and one panel PCB. You can order them on any common PCB manufacturing service, I used JLCPCB. I made the circuits pcbs under 100mm to get the discount price. Standard settings should be fine, but as there is exposed copper on the panel you should go with a lead free surface finish (ENIG/Leadfree HASL). If the panel size is not correctly detected by JLC (happens on some of my exports) manually put 30x128.5 mm.

when ordering the display module, make sure to choose an 0.96 I2C oled module that has the pinout specified as GND-VCC-SCL-SDA as opposed to VCC-GND-SCL-SDA (both exist and the latter will fuck it up).

Also make sure you order a Seediuno XIAO (with a SAMD21/Cortex M0 chip) as opposed to the XIAO esp32c3 or the XIAO rp2040, those are different chips.

Assembly

When assembling, you can either use a header for the screen or solder it directly, as it is a litte too tall. The 7805 voltage regulator is optional, if you do not want to use it, simply solder the SEL header on the back of the main pcb to BOARD instead of REG (meaning you bridge the connection to choose your 5v voltage source to either be 12 regulated to 5v, or a 5V connection of your rack power if you have it).

Tuning

There are two things in the circuit that need to be tuned for: The input resistor divider going from 5V to 3.3V, and the output opamp gain to go from 3.3 back to 5V. I will provide a script to help with this and a detailed description in the future, but for now the short version is: Input resistors are compensated for in code with the ADC_calb parameters. Output gain is adjusted using the trimmers on the main pcb.

Arduino Code

Double Quantizer

HAGIWO did great work, but I decided to make some changes to the Arduino code because I had ADC issues on my seeduino Xiao.

The main changes are:

TODO: