EasyEi8ht Performance Trigger Sequencer Eurorack Module
by ozerik in Circuits > Arduino
395 Views, 2 Favorites, 0 Comments
EasyEi8ht Performance Trigger Sequencer Eurorack Module
!!!AIR RAID SIREN EDIT!!!
Two (2) things real quick before getting into it:
1) install the middle column of keyswitches first, then do the Arduino pin headers. This build guide shows a side column first, which will work, but middle is better IMO
2) cut those jack LED legs so so so flush. The jack footprint will allow any raised area there to interfere with metal parts inside the jack.
Good, time to jump in:
Maybe you bought a Modular for the Masses kit! Maybe you downloaded the Gerbers and got the boards printed yourself? Maybe I accidentally sent a kit to the wrong address like I do ALL THE TIME and you followed the QR code on the PCB..... in any case, let's see how one of these is built.
Supplies
Here's what you'll need to complete this project:
- A PCB set, which should include the electronics board with the SMD parts already assembled, and a front panel
- An Arduino Nano featuring the ATMega32p chip
- The pin headers to attach the Nano to the board (along with female pin headers if you choose)
- One 1 x 2 DuPont style pin header and a jumper (can use just a wire to bridge the pads if you want)
- 9 x Cherry MX or compatible key switches, either "3 pin" or "5 pin". More on that later
- 9 x Cherry MX compatible key switch caps. The possibilities boggle the mind
- 1 x mini ON-OFF-ON toggle switch with nut
- 11 x Thonkiconn-style mono 3.5mm jacks with nuts
- 20 x 3mm through-hole LEDs, any color. One of a contrasting color is a cool idea
- 1 x Eurorack power header, 2 x 5 pin
Finally, you'll need soldering equipment, a well-lit, tolerably uncluttered workspace, ventilation if you're afraid of solder fumes, clippers and pliers and magnifiers and holders and whatever you'd expect to use to assemble a Eurorack module like this.
KEY SWITCHES
Cherry MX style mechanical key switches are perhaps the rabbit-holiest rabbit-hole you could dive down. There's maybe a dozen different types available from Cherry, with numerous physically-compatible types from other manufacturers such as Gateron. I've chosen brown or blue key switches for my builds: brown being tactile yet silent, blue being tactile, with a light clicky sound.
Furthermore, there's 5 pin or 3 pin copies. 5 pin key switches will work best, since the extra two "pins" (plastic locator pins) serve to keep the key switches positioned correctly. I'll be using 3 pin switches in this build, so pay attention to how to get them nice and square.
First Column of Switches
The first picture is how I've found is the easiest way to place these LED/switch combos. Put the LED in the switch first, with the long leg so that it'll be going into the squared-off LED pad, as pictured. This is important, since LEDs won't work if installed backwards.
Notice the second picture with the LED and switch installed. With some switches, you can install the LED under the switch, but that makes it harder to keep the switch in place during assembly.
Hold the switch and LED firmly against the PCB while you bend the LED leads over as in the 3rd picture. Bend the leads over firmly, so that the switches will be held in place while positioning.
Notice the last two pictures: the switches can be crooked and wonky, or they can be straight and true. Get them as straight as you can! Solder the first three key switches in place, and get ready to move on to jack LEDs!
Oops! Jack LEDs But Also NOT the Key Switch LEDs
OOPS, the jack LEDs go in early in the process. Let's do them all now. But to be clear, not the key switch LEDs -- those also do feature a hole near some LED pads but are not the same, not at all the same.
We've got to bend all the LEDs over so the legs can go into the PCB. For this build (and all M4TM projects), you'll need to bend the LED legs over like this:
Hold the LED as in the picture, with legs to the left, the longer leg on the bottom (because of gravity, is how I remember).
Bend them right over so the bent legs are nearly touching the LED body.
Put the LED legs (long leg always goes in square pad) where they need to go in each jack, so that the LED can shine through the hole in the PCB.
Solder the LED legs from the component side! Look at the picture! My dirty af soldering iron tip is on the WRONG SIDE!?!? Yes, that's how you should do it becauuuuuse...
You'll need to trim the LED legs off as flush to the PCB as you can. Flush-cut clippers are absolutely necessary here. Thonkiconn jacks will make electrical contact with any solder blobs or component leads that poke up here, so get it FLUSH!!!
CUT THEM FLUSH!!!
I'm not kidding. Cut them flush. Here's a whole step making that point -- cut those leads off as close to the PCB as you can.
Now We Add One Pin Header. and the Second Column of Switches.
After installing one column of switches and the jack LEDs, it's time to install the first pin header. Not a lot to say about this step, besides don't be shy about a high soldering iron temperature. I have my soldering iron at 730F (390C) so I can get the pin and pad area hot enough to accept solder and make a nice joint while working fast enough not to melt nearby plastic key switches.
Next, install and solder the second row of key switches with their LEDs in place.
OH I ALMOST FORGOT if you want the shift key LED to be a different color, select a different color LED for that key switch. It's the middle switch.
Second Pin Header
It's time to install the second pin header for the Arduino Nano! Please place the header while also having the Arduino on the header (not soldered in place, for SURE) but you definitely don't want to solder both pin headers and later realize your Arduino won't fit because the headers are crooked.
Once you're happy with how the headers are placed, carefully solder them into the PCB, moving quickly to avoid melting the key switches.
Third Column of Key Switches!
Soldering key switches in place should be easy by now. Finish that task up, because it's so easy and fun!
Toggle Switch
The toggle switch in this build is a fraction of a millimeter taller than the Thonkiconn jacks that will be next to it. Not a lot we can do about that -- just install the switch as snugly to the PCB as you can.
That's it for this step -- short!!!! Next up? Power header and LED-enable jumper!
Power Header and Little Jumper
Here's a whole step dedicated to installing the power header and the little jumper that lets you choose if you want the jack LEDs to be lit or off (or dim? Put a resistor in there (1K? 10K?) if you want the jack LEDs to be more dim???)
As for the power header, any 2x5 set of DuPont headers will do fine. The module is ready to accept a power cable in either orientation, so you won't need a boxed header at all.
As for the jumper? If you're confident you'll want the LEDs on all the time, just bridge those two pads with a bit of wire. A header with a jumper is a way to reduce how much current this module consumes. If you're on battery power or a marginal power supply, it's nice to have that option.
Thonkiconn Jacks
Put all the Thonkiconn jacks in place. Once all of them are in place, carefully fit the front panel over the switch and jacks.
Notice that with the jack nut in place and nuts on the top row of Thonkiconn jacks, there will be a small gap between the base of the jacks and the PCB. This is okay, and soldering them in like this will keep the faceplate from becoming bowing from the extra height of the toggle switch.
Pain-free Jack Nut Installation!
A little cone of poster putty will let you snag a jack nut and easily twist it in place! Highly recommended. Tools exist to allow easy tightening of knurled jack nuts.
Flashing the Arduino Nano. Also Let's Yeet the Pin 13 LED
The code for this project is at INCLUDE LINK HERE AS SOON AS IT'S DONE!!!!!!!
You'll need the Arduino software on your computer, and have the Timer1 library installed to be able to compile and upload the EasyEi8ht firmware. This can be frustrating if you're unfamiliar with the whole Arduino ecosystem, but be patient and persistent and Google a bunch, and you'll get it done!
I prefer to flash the Arduino before soldering it into the project, since quality control on the cheapest Arduinos can be bad. It's frustrating to build up a whole module and have the Arduino be defective.
After flashing, and before installing, be sure to knock the built in LED (or its resistor) from the Arduino. Pin 13 is already used with an LED in the module, and the Arduino's built-in LED will interfere with how the module looks. If you don't do this step, the module will still work, but the LED under key switch 4 won't light up as expected in some circumstances.
Solder the Arduino in Place
Here's the Arduino in place where it needs to go. Mind the orientation, the USB port will go "down" as indicated on the PCB.
It's a fine idea to use female headers on the Arduino (or PCB (or one-each-in-each-row to avoid possibly misaligning the Arduino)) so your reliable analog electronics aren't hard-soldered to possibly-unreliable digital electronics, but I've been happy so far with just installing the Arduino right into my projects. As long as the Arduino can be successfully flashed as in the previous step, it's overwhelmingly likely that it'll work perfectly in the project.
Once this is done, and when you install the key caps of your choice, CONGRATULATIONS!!! you'll have a functioning EasyEi8ht trigger sequencer!
Using Your New Module!!!
Soon, the complete user manual will be written, but a quick rundown real quick :P
Mode R/P this is record/play. Tap a key, and the corresponding output will instantly play a trigger, and that event will be recorded into the sequence pattern.
Hold the shift key (middle key) and holding a key down will only play on the clock event (each 16th note) and be recorded into the sequence pattern.
Tap the shift key and it'll light steadily (with slight blinks). Tap any other key, and that track will be muted. Tap shift and touch that key again, and the track pattern will start playing again. Tap the muted track WITHOUT tapping the shift key? The track gets muted and you can now enter a new pattern into that track.
Mode Cfg this is the configure mode. Okay...
Shift-1 and Shift-3 keys decrease and increase the length of the pattern. Minimum length is 16 beats. Maximum is 256 beats.
Keys 1, 2, and 3 (shift not held) select the freestyle mode. That key's LED will dimly light to indicate which freestyle mode is selected.
All three keys across the middle pressed at the same time stops the internal clock. Pressing the shift key in R/P or freestyle mode will restart the clock. An external trigger will also restart the module but I haven't written that code yet. While the clock is stopped, key 4 and 5 (either side of the shift key) will scroll through the recorded pattern.
All three keys in the middle column pressed at the same time will delete the entire sequence. Blank slate time.
Tapping the shift key will clock the module according to the tempo you enter. It keeps going into the arbitrarily distant future, so you can tap for ages, and the total time spent tapping will keep being divided by the number of taps tapped, for an unexamined amount of time, so it should be pretty accurate, and increasingly so the longer you tap.
The bottom three keys control SWING! The left bottom corner key "subtracts" swing time, the bottom right corner "adds" swing time. It's impossible for the module to know which beat in your particular pattern is the downbeat, and which is the off beat, so the module can go either way. The middle bottom key resets the swing value to zero. The swing amount isn't a percentage, so increasing the tempo with the tap-tempo feature (or with an external clock trigger) will change the percentage of swing even while the microseconds of swing remain consistant.
I think that's it. In the near future, I will write the code that will "save important parameters" into the module's memory, which will be triggered by pressing keys 6, 8, and the shift key at the same time.
Free(style) mode
In freestyle mode, nothing you can do will change the pattern that's being played.
Mode 1: holding any key will play 16th notes from that track. Holding shift will mute all tracks, no triggers at all will be played. Shift key plus any other key will still play 16th notes from that track.
Mode 1: same as mode 1, but the triggers play at 32nd notes for those sweet trap hats.
Mode 3: this is the glitch mode. Parts of the pattern are played in loops at various speeds and lengths. I'm not sure how appealing this glitch mode will be -- I've not investigated it fully while performing, but it seems promising. Think Aphex Twin or Mr Oizo weird glitchy beats, that's the kind of mood I'm aiming for while I continue to code this mode.