This is a PCB design for a full "Baby 8" style sequencer based on the ideas presented in "Baby8" CV Step Sequencer – Part 1.
Key features I'm after:
- Fully analog CV, gate and trigger outputs.
- Configurable number of steps up to 8.
- Internal, adjustable clock source.
- Cascadable.
- Fully compatible with my Educational DIY Synth Thing.
- Arranged in a circle.
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
If you are new to electronics, see the Getting Started pages.
The Circuit
This has taken the oscillator and cascading 4017 counter design from part 1 and added the CV and gate sequencer output stages. The main design is largely based on several designs found around the Internet.
The CV signal is a simple sum, via a diode, of a potentiometer output from the counter output stages. Each output line also has a LED connected via a single 10K resistor to GND. As each LED will only be on one at a time in turn, I've just used a single common resistor.
The gate signal goes via a switch and another diode. The switch can be used to "skip" a step. Note this doesn't completely skip the step rather just stops the gate being active for that step. It is also not a full "mute" switch as the CV will still be generated.
A trigger output is also required. This is created by taking the gate signal and using a couple of the NAND gates from the 4093 to only output a signal when both the gate and the clock is active. As the clock has a 50% duty cycle - i.e. is high for half a period and low for half a period - this creates a pulse for every clock tick that the gate is active. Two NAND gates are required as one acts as an inverter to create a "active HIGH" pulse.
One common problem with generating triggers from gates with a Baby 8 is that the gate won't be turned off until the next clock cycle. This means there is a slight overlap where the next clock is high but the gate is about to go low. This will cause a spurious trigger for any steps where the "skip" switch is on. This is illustrated below for three steps with skip on for the second step.
One solution is a simple RC circuit that causes a very small delay to the clock signal as it enters the trigger circuit.
In terms of cascading sequencers, there is a "in" and "out" header which contains all the required signals. The headers also include a "return" signal which can be used to link the last sequencer in a chain back to the first without lots of extra wires.
When cascading modules the internal clock needs to be disabled on all but one module; and the internal resets must be disabled on all modules. This is done via jumpers.
One thing I hadn't picked up on in my earlier experiments is that when designing the circuitry for a cascading sequencer it is useful to be able to tie the CLKINH (or CLKEN) back to GND when in single-use mode. Otherwise there is a pulse on CLKINH at the same time as a reset and odd things can happen, including missing step 1. As there is already a pull-down resistor on the CLKINH line, it is simply a case of being able to unlink this line from the rest of the RST circuitry.
Consequently the RST jumper selects between connecting RST OUT to RST IN (when in single use mode) to hooking CLKINH into the RST sequence (when in cascading mode).
The output electrical and physical arrangements are designed to match what I need for my Educational DIY Synth Thing. They are not designed as such for use with other systems - i.e. there is little protection, buffering, or adjustment of signals going on.
The whole thing can be powered from either the 3V3 or 5V line of the Synth Thing and the output range for CV and gate/trigger will scale accordingly.
However it is worth noting that as the output is passing through a diode there will be a slight non-linearity in response - there won't be an output until the voltage is larger than the forward voltage of the diode, and there will be a bit of a voltage drop too. This will be more pronounced when running at 3V3 than 5V but I'm not anticipating it being a major issue for what I want to do.
PCB Design
Probably the most "fun" part of this was getting the positioning right for the circular placement! In the end I broke out a spreadsheet that took the angular separation and outputted the values I needed, allowing for things like the offset of the "origin" point for a component within its footprint in KiCAD compared to where I wanted it centering. For example, I wanted the hole/circle of a pot to be the centre-point of the placement, but those pot footprints have an origin at pin 1 which is both below and 2.54mm offset from the centre.
Fun facts: the plotting function allows a quick sense-check. The SIN() and COS() functions work fine as long as you remember to RADIANS() any value in degrees 🙂
I was able to repeat the same process for the LEDs. These were slightly easier as the origin offset was just half a standard header space away - i.e. 2.54mm/2 = 1.27mm.
I didn't have a footprint for the multi-way switch, so I had to go back to the provided spec from my purchase and make a footprint from that. One quirk is that the mounting holes are slightly off-centre. Also two of the end pins are both wired as the common switch element.
Originally I was going to have the knob for the switch in the centre of the board, but I couldn't quite make it fit. But the two controls are pretty much in the centre.
I've used standard 2.54mm spacing for the switches. This matches the cheap slider switches I have.
There are three sets of header pins - an in and out header for the cascade function, and a complete set of control headers for the CV, gate and trigger outputs and power input. There are two jumpers that switch over the clock and reset lines to allow them to be cascaded.
Closing Thoughts
The first issue board had several problems, which were all patchable, but have made me decide to do a second issue:
- There was the problem with the CLKINH/CKEN pin. I was just going on what the circuits that have been published elsewhere seem to be saying and none seem to talk about this issue. I'm still not entirely sure why it hasn't worked, but I think it is some interaction between CKEN temporarily going HIGH in the reset condition causing the counter to miss a clock pulse somehow. Anyway having the jumper to delink CLKINH works fine.
- My initial version had the spurious triggering issue, so the second version added the RC circuit.
- And annoying, I'd wired all the pots the wrong way round! I can't believe I'm still managing to get that wrong in designs! 🙂
Putting all that aside, I think I've arranged things so that it ought to be possible to design a panel and case for this board to match the other devices I have, but I'm not sure about the heights of components. The LEDs should be ok to be extended but the switches are likely to prove problematic.
I have included mounting holes though so an "open top" case is certainly a possibility.
Kevin
No comments:
Post a Comment