Microcontrollers: G8R!
Hey, everyone! I promised you a project utilizing what we’ve learned so far in our microcontroller series. So today, I’m thrilled to introduce you to my latest DIY Eurorack module creation: G8R. In this video, we’ll dive into the hardware and circuitry behind G8R, explore its features, and discuss the possibilities it offers for your modular synth setup.
Overview of G8R
G8R is a versatile Eurorack module focusing on gate and trigger events and designed to add MIDI integration to your modular synth rig. Here’s what it brings to the table:
4 CV Inputs: These inputs are perfect for CV control, although they may not be precise enough for V/oct applications. However, they’re great for adding external control to your microcontroller sketches. In the module front pannel, these input are labeled as CV A, CV B, Clock, and Reset, the two latter are currently dedicated to receive eurorack clock and reset signals, but all 4 can be used either for receiving gates, triggers or CV input. CV input is limited to 0v to 5v. The signals are conditioned to provide save 3.3vpp signals for our analog input pins. Here is how that works. First we scale the signal from 5v to roughly 3.45v. Wait what? I though you said 3.3v, well that is true, however, since all we are doing is using a voltage divider and we are using 1% tolerance resistors we need to account for that margin of error. Rather than complicating the circuit to add precision I opted to scale it so that we can fine tune the range in code. Since the signal will reach 3.3v before the potentiometer or CV is fully at 5v. This will ensure that the microcontroller sees all 1024 values at the cost of some small unusable throw at the highest voltage levels.
8 Gate/Trigger Outputs: G8R provides 8 gate outputs and since triggers are nothing more than gates with a super short on duration, it handles triggers as well. This allows you to trigger envelopes, sequencers, and other modules in your system.
8 LEDs: The LEDs provide visual feedback for each gate/trigger output, making it easy to monitor your patch’s activity. They can also be used as a UI element allowing a user feedback for configuration of the software in realtime.
1 Encoder with Button: This encoder with a built-in button enables intuitive parameter adjustments and mode selection.
1 Button with LED: The button, accompanied by an LED, offers additional control options and visual feedback. Currently this LED is configured to pulse on quarternotes giving us a visual representation of the curren tempo when operating from a clock driven mode but can easily be used for other things.
MIDI In/Out: With MIDI connectivity, G8R can seamlessly integrate with your MIDI-equipped devices and software, this means you can use G8R as a MIDI to Eurorack Drum conversion tool, a sequencer, a MIDI to eurorack clock sync tool, MIDI mutator, etc. There are endless possibilities just require some imagination and some programming skillz.
So… If you haven’t put two and two together yet. This module is hackable. Yes you heard that right! I’m releasing the schematics and firmware for this project under the Creative Commons Share Alike Non-Commercial license. So if you want to make G8R do something specific for your needs all you have to do is dream it and code it!
Modes of Operation
G8R currently operates in the following modes:
Weird Clock with Division Settings: This unique mode features an internal clock with adjustable tempo settings. Using the encoder, you can set the tempo and sync your modular patches to rhythmic patterns. Additionally, G8R can sync to external MIDI clock signals or eurorack clock sources, offering flexible timing options for your compositions.
Single Channel MIDI NOTE to Gate: In this mode, G8R converts incoming MIDI notes into gate signals. Gate outputs are calculated using a modulo operator on the MIDI note number as long as you have 8 chromatic notes the gate will trigger on different outputs. I have made it so c2 (42) will nicely line up with trigger/gate output 1 and so on.
Channel per Gate MIDI to Gate: Similar to the previous mode, but here G8R responds to MIDI channels instead of notes. This mode is perfect for integrating drum machines or other multi-channel MIDI instruments with your Eurorack setup. BTW, this was the main reason I created this module as I wanted to be able to play my eurorack drum modules from my Electribe ES 2 which sends each pad on a different MIDI channel.
I’m actually toying with the idea to make it behave more like the Erica Synths MIDI to Trigger module so the module can utilize a MIDI learn functionality, essentially combining both mode 2 and 3 into one. Doing this would provide more storage for additional functionality, like that of a eucledian sequencer, or some sort of digital logic module for example.
Hardware and Circuitry
G8R’s hardware and circuitry have been carefully designed to provide reliable performance and seamless integration with your Eurorack system. The CV inputs have been scaled and clamped to ensure compatibility with a wide range of signals, while the gate/trigger outputs have been buffer to ensure they are able to provide enough current for just about any eurorack module that accepts trigger or gate inputs. Both input and output ports are fed to and from the microcontroller, this means that any thru functionality is software based but also means that we can manipulate the MIDI messages before they are sent to the output jack giving us flexibility there too.
At the brain of it all the sofware relies on the STM32 BluePill. Which provides us with more processing power than we could achieve with the Arduino, but the code utilizes the Arduino framework which means we can retain the simplicity and support which Arduino provides.
Conclusion
I’m incredibly excited about G8R and the possibilities it offers for modular synthesis enthusiasts. Whether you’re a seasoned synthesist or just getting started with Eurorack, G8R provides a versatile and customizable solution for expanding your digital percussion setup.
While most of the software is operational I’m currently refactoring the code to make it easier to collaborate and expand. Organic growth often means taking shortcuts to reach functionality at the cost of maintainability. So next time we’ll go over the code and explain how you can customize this module shouldd you decide to build one! For now, stay tuned for future updates and demos of G8R in action!
Until next time, happy patching!