Wednesday, November 25, 2020

module #005: Thomas Henry VCO-1, Second Build

On stripboard, using the layout i shared with electro-music.com.

I haven't tuned it up yet, there's always a nice high that comes with finishing the last solder joint. Of course, if it doesn't work, that's not the last solder joint after all...


I spent 3 hours working on a stripboard layout for the Thomas Henry 555 VCO, only to have DIYLC crash and lose the work. That's ok, it was starting to look like black MIDI anyway. Stripboard layouts always take multiple attempts to get right.

I'll be splitting my time between working on the 555 VCO stripboard layout, and wiring up another stripboard version of the Yusynth ADSR. The next milestone for me is 3 oscillators and 1 white noise, controlled via MIDI, for a nice follow up to that Super Mario theme video I previously shared.



Saturday, November 21, 2020

smd tempcos suck

I did my first smd relead. 2k tempco for the exponential converter in this Thomas Henry VCO-1 build.

Tuesday, November 17, 2020

Parts order placed

I have some CMOS TLC555 timers on the way. These are extremely popular because everyone knows how to use a 555, but the SynthDIY community likes the CMOS version because it plays nicer with our power supplies. The downside is that they cost significantly more per chip. Juanito Moore mentioned using a NE555 in one of his circuits and responded when i asked him about it:

All my NE555 designs have a ~150R resistor inline with the power rail with a big old cap, usually 100uF to ground. I have a whole raft of NE555s because they're ssssooooooo cheap, but managing their cruelty to the power rails does require design tweaks

 Food for thought, anyway.

Begrudgingly, i've also ordered some MCP4822. It seems like they will be pretty simple to use with the ATTiny84 / 85, but i also still believe that some pitch accurate CV out is possible without the DAC, even if it's only 3 octaves and takes both PWM pins to do it... The thing that finally sold me on it was that the Mutable Instruments CV Pal is open source and uses essentially the ATTiny84 with the MCP4822 clocked by a 20Mhz crystal. I'm speculating that the xtal is the secret sauce to getting the '84 to decode MIDI accurately. I'd like to see it support regular old Serial MIDI (ie, DIN5 connector) though, so it will need some additional code for that. Overall, the whole thing is Stripboard Friendly, which is how i like to roll. Maybe i'll upgrade to proper panels and chinese PCBs in the future, but i love the garage aesthetic for early work. I feel a connection to the early synth pioneers when i work this way.


I finished up stripboard construction of Module #004, the prototype MIDI CV module using Kevin's code. Hoping to test it out later today while the construction crew works on my staircase - tell the truth its hard to get "real work" done with all that racket. The particular DIN5 connector i chose is really not well suited to my panel construction method and will be a total bummer to cut.

Sunday, November 15, 2020

Module #004: MIDI to CV prototype

We now return to our program, already in progress...

I've got a VCO, VCA, and ADSR Enveloper. But I don't have a CV/Gate keyboard, or any other suitable inputs. It seems like there ought to be some open source MIDI solutions.

I don't know which microcontroller is best for this, so I started with the ATTiny84, per something Jan Ostman said in his article. This turned out to be a fools errand, as the ATTiny84 has a hard time decoding the MIDI byte stream. So I've gone over to the ATTiny85, which is what Jan originally used in his project, and what Kevin has used in his updated code.

I had this working on breadboard, but found that the performance was linked to noise on the MIDI serial input. As the next step, I've drawn up a design for Stripboard. It's pin compatible with Kevin's code, and includes a header for easy re-programming. I've included a pad for PB0, even though Kevin's code doesn't use this, and I've also included a SPDT switch to toggle between summing the Pitchbend CV with the Note CV, or to send it to a separate jack. The Pitchbend code isn't implemented in Kevin's sketch, but looking at Jan's, you should be able to get the idea.

I hope to approach these fine folks soon about potentially open sourcing the code and putting it on GitHub.


It's currently working well enough that I can send single note events from my Alesis Q88 with reasonable stability. Some events are dropped. This is more pronounced as more data is written to the incoming MIDI stream.

Update 11/17: It's working very well on stripboard, compared to the breadboard setup i had before. Not dropping many events at all, and the few that were dropped, i think would be improved by further shielding. I've uploaded a new version that includes a couple of jumpers that were missing from the previous layout. They are light blue in this drawing.

My build is not tracking perfectly, as indicated by a clip-on guitar tuner on the monitor output. However, i am not sure if this is the PWM CV out, or the unmatched transistors in the exponential converter section of the VCO. The journey continues.

MIDI, Part 4

My two modules have been assembled, and are ready for testing. No time to test tonight, but i'm eager to hit it tomorrow. Top: My curren...