GithubHelp home page GithubHelp logo

bomas / hagiwo-029-033-eurorack-quantizer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from testbild-synth/hagiwo-029-033-eurorack-quantizer

0.0 0.0 0.0 11.15 MB

Through hole PCB version of the HAGIWO Dual Quantizer/SH101 Sequencer Eurorack Module-.

License: MIT License

C++ 100.00%

hagiwo-029-033-eurorack-quantizer's Introduction

HAGIWO 029/033 Eurorack Quantizer Module

Through hole PCB version of the [HAGIWO 033 dual quantizer](https://www.youtube.com/watch?v=6FJpljEYZq4) and [029 SH101 sequencer](https://www.youtube.com/watch?v=--qb_QYZrTk) 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).

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:

  • HAGIWO had a check that cv is only updated then there's a big enough change from the last value. I took this out since I want to be able to process slow cv changes (i.e. from LFOs), also.
  • I followed suggestions from this very nice blog about adc accuracy on samd21. With lower input impedance and the changes from this blog, the readings got a lot more accurate on mine. Downside is more latency (in the single ms range) but frankly im willing to take that for more stability/less noise.
  • Also, to make use of this, the note calculation is now done with 12 bit instead of downsampling the adc values to 10 bit.
  • Comment out the specified lines in the code if you dont want the slower adc.

TODO:

  • Test and verify SH101 firmware
  • maybe add display indication for played notes

hagiwo-029-033-eurorack-quantizer's People

Contributors

testbild-synth avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.