What's up

Therematron v3 - the final ! 

The Therematron v3 at one with nature

The upgrade to the Therematron, done a few years back was a great extension to the already wonderful Music From Outer Space's Soundlab Mk2. My execution was hasty and rather messy but the really annoying problem was the bleed which affecteds the pitch of the VCOs that came from the LFO and ADSR.

I'd attempted to fix this pitch issue before by enhancing the power supply to be ultra-smooth but this proved fruitless. The issue was that the voltages coming in via the Coarse and Fine frequency controls on the panel were dirty with the signals of the LFO and ADSRs. I removed this incoming voltage and used my bench power supply to supply the power and the situation improved immensely.  I designed up a small power supply which delivered the required voltage. Thankfully I could use the incoming dual rail 12v for the rest of the unit and put in 9v regulators for this VCO power supply. It is very smooth now and makes the Therematron a more usable unit.

In reality this was just one of the issues. As mentioned I threw this upgrade together and used inferior preassembled cabling which was not of good quailty. I use dupont header cables in this unit, so I decided I needed buy some decent wire and make my own up.

Other issues included the layout of the PCBs within the case. The original design had the Soundlab PCB mounted to the base of the unit. This board has almost 100 single wire connections on it and the location is not easy to access. I decided to move this PCB to the rear of the case where it is now fully accessible.

The initial upgrade included a second VCF. My first attempt at a VCF was a very simple design that Ray Wilson (MFOS) had in his Analog Synthesizers book. This didn't work well so I decided on a different type of VCF, a Steiner VCF design from Yves Usson of YuSynth fame. This is nicely unpredictable and most usefully different from the Soundlabs SVF. I want to say here is that the original VCF board was still mounted inside the case as it was difficult to get it out. It's now out !

The second LFO, based around a digital potentiometer driven by an Arduino ProMini, was a little adhoc in its wiring and mounting. This has been greatly improved with the LED display and button now being directly connected to the LFO board as opposed to originally where I had a second ProMini sending data back and forth between the LFO board. This was not a reliable approach. Now the display board is simply a 74HC595 serial to parallel converter with a LED on each output. In addition to this hardware upgrade I also improved the LFO code so that the external Trigger In and Sync In controls work. They're not perfect. The Trigger In will listen for a pulse and restart the waveform with each pulse and the Sync Input will change the speed of the LFO based on the input voltage. The caveat with the Sync In is that I can't read negative voltages on the Arduino so it only reacts to positive voltage changes which is nicely unpredictable.

The original upgrade saw the removal of the Echo Rockit, the PT2399 based effects unit from MFOS. This didn't really do it for me as it was too lofi. No problem. I had good experience with the Experimental Noize FV-1 chips and I designed a unit around their SKRM modules. The signal flow out of the Soundlab module was to have a way of changing the order of what's next. I have the Steiner VCF and effects unit hard wired in but I wanted the ability of swapping their order. So I came up with something using switches which didn't really work in the end due to the complexity. One of the added features was a feedback control which took the effect signal of the effects unit back into the Steiner VCF. This didn't work at all. The upgrade for this section was based around removing the complicated switches and replacing them with a PCB which had four DPDT relays on it. This works really well. This makes the wiring simpler as well as I only have a couple of wires to the front panel to control the relays. Best of all the feedback control now works though you have to be careful.

The Therematron gets its name from the original design which had a Theremin in it. Big Fail. There was too much noise floating around inside the case for that to ever work. So the Theremin board was removed in the first upgrade but the front panel controls still existed. This "final" upgrade sees the Theremin controls removed and replaced with four new modules.

There are two Octave modules. These put out -4 to +4v volts for the VCOs. I often use the Therematron with an Arturia BSP sequence which outputs control voltages. This unit is setup to output 1v per octave control voltages. In use I found  that changing octaves on the Therematron was down to retuning which can't really be done in the middle of a performance whereas now I can simply switch up or down. This schematic I took from Elby Designs' Octave Transposer.

The other two identical modules are Lag Processors which allow me to slew any control voltage. This can be anything from smoothing a LFO waveform to creating Portamento on the pitch of a VCO. This design was based on the MFOS RC Lag processor.

I've checked all the functions and found a couple of mistakes but they were easy to fix and so far it works quite well. I also made a small modification to the Soundlab PCB which was a resistor on the VCA's Modulation input from the LFO. The signal level here was quite light on but now it will take the sound to almost nothing when the control is fully clock wise.

Amongst Projects 

I've decided to include the latest and archive blogs from Amongst Projects where my music electronics and filming gear is stored.

TMNSD - CV Arpeggiator 

TMNSD - The Final Unit !

The TMNSD is short for ? Actually I've totally forgotten what it's short for. Never mind. My friend Bernard asked me to build this unit for him to his needs for his modular synthesizers. This unit is three independent Control Voltage controllers each with a built in arpeggiator designed to control modular synthesizer systems Voltage Controlled Oscillators or any other voltage controlled input device.

The user can simply play single notes or use the arpeggiator to cycle through the chosen notes in a variety of patterns and also over a larger range of octaves. The arpeggiator has several Play Modes. There's Up, Down, Up/Down and Random. It also has a AsPlayed Off and On mode which means the notes will play in the order that they were selected. The Latch control will hold the notes on when first pressed and turn off when pressed again.

Each module has an external trigger input located on the left side of the unit. On the right hand side each module has CVA and CVB outputs. These are control voltages set at 1V per octave to control the VCOs (Voltage Controlled Oscillators) pitch. The outputs have an accurate range of 12 octaves. There are three trigger type outputs - Trig, Gate and Aux. The Trig outputs the trigger signal and naturally the Gate outputs a gate signal. The Aux output has several output options. The only link between the three units are an internal sync connection. They are synced to the previous module. By this I mean that module C will sync to B, B to A and A to C. This way most combinations can be achieved.

Top view of the completed TMNSD

The front panel controls consist of a potentiometer for controlling the arpeggiator speed when in independent mode. It also acts as an time offset control. More on this later. There are 12 touch sensors which represent the 12 notes of a chromatic octave which have 12 associated RGB LEDs and four function controls. These controls are FUNC which takes the unit through several setup screens. ARP which puts the module into arpeggiator play mode. LATCH which will latch the notes off and on and finally MODE which is another setup screen relating to the arpeggiator controls.

The FUNC key takes the unit through 3 different modes. When lit green the unit is in PLAY mode where notes can be selected. When RED the unit is in the INPUT and OUTPUTS setup where the clock source can be changed, what is output on CVB is changed along with what the Aux output will be outputting. During this mode the ARP SPEED potentiometer also changes to control the timing offset of the Trigger output which will range from 0% to about 90% offset to the next trigger. This also affects the Gate signal. When FUNC is BLUE the note keys represent a divisor of the clock speed whether internal or external. This starts from 1/1 up to 1/12 on the B note.

The other function is when the MODE key is GREEN. During this mode the notes have several different functions which include the play direction of the Arpeggiator, the octave range of the arpeggiator and also a transpose function which takes the arpeggiator down by up to 2 octaves.

The Hardware

Each module is made up of two PCBs. There's the CPU board and the Panel board. The CPU board contains an Arduino Pro Mini which controls a MCP4922 dual channel 12 bit digital to analogue converter via SPI. The two outputs of this converter are processed through an op amp to change the output voltage range of 0 to 5v to -6 to +6 volts. The opamps have 10 turn trimpots for tuning the output voltage offset and range to generate an accurate 1 volt per octave output. The trigger outputs are generated from 5v digital outputs on the Arduino which are buffered through a TL074 quad op amp. The trigger inputs are processed through a diode and transistor to clamp voltages over 5v as to protect the digital inputs on the Arduino. This schematic came from the wonderful Electro Druid web site. As can be seen below, the AMP trimpots from CVA and CVB have been removed. For this project I decided it would be easier to fix the feedback resistor of the op amp channels and use software to correct any error. I could have done similar with the Bias trimpots as well.

TMNSD CPU Board vD - note the capacitors across the resistors and the lack of AMP Trimpots

The front panel is made up of 16 daisy chained WS 2182 RGB LEDs which I've used before and have down pat though I have to admit that I wrongly used two different purchases of LEDs to find that the second batch had a different LED order. Thankfully these are all together on separate modules. The touch sensors were using a new discovery, the BS818 chip which is an eight channel capacitive touch sensor chip. I've previously used TTP-223 chips which are single touch switches but I needed to find a multi-switch version for this project. The potentiometer is also mounted to the front panel board for ease of construction. The touch sensors themselves are neodymium magnets. I'd previously used drawing pins for touch sensors but they needed complicated electrical connections in the way of single sockets.

Front Panel Board - front side - populated

The boards were made by Seeeds Studio in China and they are very good quality. I've had 10 made of the CPU boards and 5 of the front panel boards. Due to the numbers I decided to make the CPU boards a little more generic. The board has provision for MIDI and via the serial port which includes a jumper location to change between the programming port and the MIDI port and an I2C for a LCD screen. I have a number of previously made MIDI interface boards which could be used. This way the module could potentially be used to create an LFO module or any other number of music related projects. The I2C connection could be used to connect another Arduino which in turn would have provision for multiple potentiometers or data encoders. The options are there.

Close up of a LED bezel shows the countersinks for the magnet and bolt
The front panel of the case is a 3d routed piece of 4.5mm black acrylic that contains lots of opaque white acrylic inserts which are the combination touch sensor and LED. These bezels are countersunk to 2mm to accommodate the magnets. Underneath the magnets is a flat head bolt mounted to the front panel PCB to give the electrical connection to the touch sensor pad. The magnets locks themselves to the bolt by magnetism. These work quite well but on some of bezels the countersunk hole for the bolts were deeper than the bolt hence there was no electrical connection. I found that using a fibre washer under the bolt head and only placing one magnet instead of two, gave the same height and an electrical connection.

Front Panel with all the acrylic pieces in place and the white paint infill completed

The case was another milestone for me. It's made from hardwood in particular Tasmanian Oak which is a plantation wood. It is quite hard, as the name suggests, and takes a considerable amount of time to cut on the router but after many attempts I managed to make a finger joint using this wood. Previously I have used MDF and plywood but neither of these woods worked to form a clean finger joint. I think this is something that I will be using more into the future. The input and output panels are 3d routed from 3mm black acrylic and filled with white acrylic paint as I have done in many projects.

The power for the system runs from a 18v plugpack. This in turn is converted to 5v via one step down converter and another buck converter creates the -12 and +12 volts needed by the opamps.

New Web Hosting 

So Hostbaby is closing down and has been taken over by Bandzoogle. I have to say that it's all looking good so far and easy to edit. There are some caveats with formatting but I personally like some limitations.

I'm "streaming" through my Amongst Projects blog here as well which is a little out of date but its purpose is to log my electronic projects I design and build for music and film related areas.

MIDI Transport Controller and Joystick 

The Transport Controller - this unit does the transmitting - well used already !

A while back I made up a simple transport controller so I could remotely, well a few metres away, control my two main audio software packages, Cakewalk Sonar X3 and Sony Vegas Pro 13.

This unit is made of two parts. There is the remote battery powered transmitter and the receiver unit which has a MIDI output on it to connect to one of my MIDI interfaces. The transport controller transmitter simply has seven switches which are monitored by a Arduino Nano which when pressed transmits the a value to the receiver. The receiver gets these values and puts out an appropriate MIDI controller value to the music computer.

The radio setup in both units are nRF24L01+ 2.4Ghz ultra low powered transceiver modules which are cheap and work a treat. Several libraries exist for the Arduino making coding simple. I used mirf. The radio modules communicate with the Arduino via the SPI interface.

I wanted to also try out something different for the controller buttons. So I went with touch sensitive buttons. This uses a small module called the MPR121 capacitive touch sensitive breakout board containing a Freescale MPR121 chip that interfaces with the Arduino using the I2C interface. I became aware of them via Julian Illets youtube videos for his penny touch organ. The module has 12 touch sensitive electrodes in total. I am only using 7 for this project. The buttons themselves are drawing pins as it seemed the simplest way of getting a neat electrical connection from the front of the panel to the pins on the MPR121 board.

Another challenge was to use WS2812G RGB leds as indicators for each button. These I mounted onto the rear of some routed 6mm opal acrylic bezels to help diffuse the light. In turn these bezels where mounted through holes of the transport controllers front panel. The front of these pieces of acrylic had the basic transport control symbols routed into them and filled with acrylic paint. This has a nice effect of backlighting the symbols. When the unit is running each of the symbols are lit with a washout colour but when the button is pressed it goes to full saturation.

The power for the transport controller comes from an 18650 3.3V LiPo battery. The battery is charged via a micro USB connector which is mounted on the TP4056 based battery management  board which takes care of charging the LiPo battery. From the outputs of the TP4056 there is a step up voltage board which takes the voltage of the 3.3v LiPo battery to 5v which powers the Arduino Nano. In hindsight I should ave used a 3.3v based Arduino as it would have saved using this step up board as all other parts in the transport controller can run from 3.3v.

The receiver unit showing the USB power socket, MIDI connections and Joystick socket on the top.

The receiver is a simple Arduino Nano with a nRF24L01+ attached. Pretty simple. One of my standard MIDI I/O boards is also mounted in the receiver case to transmit the incoming radio signals to the MIDI output and eventually controlling the software. Once again I used the Forty Seven Effects midi library.

The joystick controller

I have recently made an addition which is a joystick controller that sends out MIDI controller values for the X and Y positions of the joystick. This is something I wanted to control certain VST plugins within Sonar. One VST in particular which is a granular effect emulates a joystick on its own screen which I was able to attach to my new joystick controller. For this I made one of my acrylic cases to house the joystick with a 4 core cable running back to the transport controller receiver. The two signal lines from the joystick for X and Y are connected to two analogue voltage inputs on the Arduino and their values are converted into MIDI controller values. I found I needed to add a bit of smoothing via a couple of 100nF capacitors across the analogue input pins as the power coming from my USB 5v power supply which powers the receiver was a little noisy and affects the incoming joystick values.

The unit works well when doing recording mostly. I have the controller sitting on the keyboard I am using and with a simple setup with either audio package I can record and do other operations.

Therematron Upgrade 

The Therematron NOT - current model
Well you may ask why is there an upgrade when I've not seen the original version ? I ask myself this also. It's a long story.

So the original Therematron design was based around MFOS Soundlab Mk2 designed by the late and great Ray Wilson. Along with this wonderful 2 oscillator synth I was to use Ray's Echo Rockit digital delay unit and the icing on the cake would be the PAIA Theremax theremin. What a wonderful machine it was. In theory anyway.

It was quite a while ago that I started the original Therematron. I started this back in August 2014 or possibly earlier. Looking back at my daily log I read that it wasn't until February 2016 that I finally got back to trying to make the Therematron work. I had got the Theremax working inside the case but there was something wrong with the Soundlab. The wiring of Ray's boards isn't easy. I fully comprehend that he designs his boards to be as small as possible but in the process most potentiometers and switches don't have their terminals next to each other and can often be part of a chain of wires to get them all connected hence the wiring of a single board synthesizer is quite messy. Add to this the limited space inside the case and problems become quite difficult to solve. Hence I appear to have put off getting this unit running considering it was in late 2014 that I had made the case up.

Moving along to March 2016 and several other distraction projects later, I was battling with getting the VCOs to be stable. The issue was and still is to a degree, an amount of the envelope generators LFOs coming through. It must be something to do with the earth line as far as I can tell. I'm not working on solving this issue as I'm happy with where it is. Someday I may come back to this.

I made this funky light display on the rear of the Therematron as just something to do and it also affects the power supply but to a greater degree that I can't use it. I could possibly try putting in a power regulator on the light display to help alleviate any affect it has on the other parts of the power circuit. Since this is only seen from there rear I think I will just put a 9v battery inside to run it when I use it live. Seems the simplest solution to me.

Rear panel atom animation
One thing that did help with tuning the VCOs was the purchase of an Arturia Beatstep Pro sequencer. This wonderful unit includes CV and Gate outputs of which I can tune to output very accurate voltages which helped with the tuning. The tuning is done using the Scale Trim and High Frequency Compensation Trim pots. Using the BSP and a guitar tuner I was able to achieve about 5 octaves which I am more than happy with.

It was during this period of finalising the Therematron that I could not get the Pitch on the Theremax working when installed in the case along with all the other electrical noise. I could get a reduced output from the Volume antenna. Quite disappointing. I was also disappointed by the quality of the Echo Rockit. I knew that it was "lo-fi" but it was lower fi that I was happy with. So there Therematron went back on ice and then we moved to the country. It was February 2017 before I started what would become the Therematron NOT !

Having moved into the new house and setup a new studio I returned to where I left off back at the Blackwood Studio and started work on the Therematron NOT! in the new Wahroonga Studio. I decided that I would remove the Theremax and replace the Echo Rockit with an Experimental Noize module. Quite a bit of work but I wanted to get this machine working. The Theremax may still appear in a new case later down the track.

This upgrade couldn't be simple could it ? Oh No. I designed an effects chain which not only had the EN SKRM module but in addition the module contained an analogue feedback path which, for extra variation in sound, includes a VCF and a LFO for VCF modulation. The idea being to emulate to some degree what the Echo Rockit could do and more.

The EN-SKRM module was mostly straight forward as I had already made the UM-XN1 guitar effects unit. Where the Therematron version differed was the addition of a feedback path which routes the output of the unit back to the input but via a VCF. This VCF can also be moved within the signal path. It can be changed from being in the Feedback path to being at the start of the effects unit. Reasonably straight forward in theory.

So a LFO. I wanted to make a LFO based around an Arduino controller and a MCP41100 digital potentiometer. These potentiometers have a 256 level 100k pot which are controlled simply using SPI from a microcontroller. So the idea came to me to use the Arduino to create several different waveforms as a CV to output as a modulator. A fellow electronics nut and musician, Abram Morphew, had done all the work already. Abram had created what I was after as far as the waveform creation using interrupt timers on the Arduino. Some small modifications to his code made the digital pot do all the work.

The LFO has another Arduino which controls the selection and display of waveforms on the front panel. The EN-SKRM module also has a similar Arduino panel controller. I decided to use a simple serial protocol to have the panel Arduino talk to the LFO Arduino which appears to work well after some initial problems. I originally had the serial communications working over the Software Serial library, which is a software method of creating a serial line on any Arduino digital connection but the downside of this is there is no UART with a data buffer. Hence, if you do not monitor the software serial connection you may miss something. The hardware serial ports  on the Arduino have a buffer where data is stored until read or until it's full. This way you don't have to be as concerned about servicing the serial port.

The VCF I wanted to be cheap and dirty. I chose a design Ray Wilson had in his book, "Make: Analogue Synthesizers". It was based around a single LM13700 chip. The only problem was it was too dirty. Aghhh ! Now I need to find space and another design. I was getting bored by this stage. I trawled through links to find the YuSynth site. Here I found a Steiner VCF that was not only a good sounding VCF but there was also a single sided PCB design. So I set out and cut myself a slightly modified version of this VCF. I moved the power connectors around and change the ins and outs to suit my connectors.
The new VCF, LFO and Effects section
The only small catch with this VCF design is it calls for a match pair of BC547 transistors. I did have any on hand at the time so I used BC549s. So I made up a simple matching circuit using Ian Fritz's transistor matcher to help me find a pair and I used them. But then the inevitable happens and I get limit sound from the unit. I also didn't have a TL074 so I used an TL084. So I immediately presume that the TL084 that I've used instead of the 74 and the BC549 instead of the 547 are causing the problem. So when I next go into Adelaide I purchase these from Jaycar. Put them in and no change. Turns out I had several microscopic solder bridges on the board. It now works but I do wonder if the components made a difference. It sounds great !

So now I had a good sounding setup. I needed to create a new bottom panel for the Therematron. Like usual I spent a good day in Freehand moving things around on the screen and realised that I had some spare real estate now that the Echo Rockit has been replaced. "Let's put in another module !" - I heard my evil twin shout. But what ?

I had been playing around with some simple circuits from my copy of Nicolas Collins, Handmade Electronic Music, is recent months and I remembered where he describes using a 4017 at audio speed. A 4017 can be used as a divider. It's in reality a decade counter. So it gets me thinking about using a 4017 to make a sub-oscillator. Why stop there. A 4017 puts out a nasty square wave so I put a variable filter after the 4017 and now I have switchable 1 or 2 octave sub-oscillator with a low pass filter on it. That fits quite nicely into the front panel.

My rather messy schematic for the Sub Oscillator (note power input is +/- 5v)
Now NO MORE new stuff !!

It all fits quite neatly. Don't lie ! It's a mess inside there. Do not enter without a guide. It's not perfect as the whole VCF switch around on the effects doesn't quite work but for now I am happy. I've programmed the SKRM module with a basic set of reverbs, echos and modulation effects for now and I can always come back and change these later. The top front panel still has the Theremax controls but the Theremax is no longer contained and the aerials for the Theremax are still there and act as nice handles. Now I just need to use it to make noises !

But the main question is whether this is the end for the modifications after all there's the front space where the Theremax controls were ?

The full rear panel

Flatman and Ribbon 

The Flatman and Ribbon - Dual Ribbon CV controller
Talking to artist friend Bernard, who recently decided that spending lots of money on modular synth modules was his new pass time, wanted some other kind of alternative controller. I suggested a ribbon controller mainly because my new Solaris has one and it's a great way to control anything on the synth. As always I head for Google to find if someone else has already done one of these projects. I found a project by Chip at Synth Hacker - http://synthhacker.blogspot.com.au/2016/04/diy-ribbon-controller-cv.html. This was the basis of the unit I was to build.

The main focus is making a controller for modular synth units hence it needed to put out a control voltage relative to the position on the ribbon. Going to my trusty supply of Arduino Pro Mini processors you may know there is a lack of voltage output control. There is a method of creating a voltage output using a resistor ladder and several digital outputs but we wanted something a little more accurate and less output hungry. So I chose the MCP4922 dual 12 bit digital to analogue converter (DAC) primarily because Chip used this one in his ribbon controller project. This digital to analogue converter was cheap and has two converters on it. So it was the dual converters on the DAC that allowed this project to easily have two ribbons.

The botched job of the MCP4922 Digital to Analogue converter can been seen at the bottom left of the printed circuit board.
The DAC is easy to connect, and thanks to Chip's notes, easy to program. It uses the SPI protocol to communicate between itself and the processor.  As mentioned, analogue synthesizers use a control voltage to control pitch and modulators on synthesizers use control voltages as well. These modulators usually range from a negative value to a positive value and use 0v as the mid-point where no modulation happens. To achieve this on the Flatman and Ribbon I used an inverting amp with adjustable bias. Once again Ray Wilson has a useful calculator on his web site which allowed me to calculate the values I needed for this part of the schematic.http://musicfromouterspace.com/index.php?MAINTAB=SYNTHDIY&PROJARG=ELECTRONICS/TECHBENCH/TECHBENCH.php&VPW=1910&VPH=825. Chip wrote a version simple routine which I have used to set the output voltage on the MCP4922 converters. The only issue I had here is probably not obvious in the above photo as you can't see the converter but during the design of the board I needed to create the component for the DAC and for some reason I made the package a DIP-14 whereas it's a 16 pin package. What you see here is the fixup to avoid redoing the printed circuit board.

Showing the back side of the controller unit. The overkill power supply with it's 6 x 1000uF electrolytic capacitors
The other complex part of the hardware construction was creating a dual power supply to allow for a maximum of -5 to +5v outputs on the control voltages. These power rails needed to be stable as they are source of the outputted voltage to the synthesizer. For 1V per octave synthesizers a simple calculation of 1 volt divided by 12 semitones per octave gives us 0.083 volts per semitone. So this suggests that any slight interference within the power supply would vary the control voltage. Using the 12 bit digital to analogue converter over an 8 bit converter gives us a smoother transition between frequencies especially when using the full -5 to +5 range on the ribbon.

I went a little overboard with the power supply. It's based on Ray Wilson's (MFOS) design which I have used before. The Wall Wart Bipolar Supply is a simpler way of getting a dual rail power supply as it  avoids dealing with mains wiring. This is because it uses an external 12v AC plugpack or wallwart. I don't think anyone really likes plug packs but working with mains wiring is less appealing plus there is the added cost of the associated hardware. Using Ray's schematic, I replaced the 7812 and 7912 in the design with 7809 and 7909 regulators to give me 9v which is more than adequate for the output voltages needed. If I used 12volts I would be pushing the Arduino's own power regulator to its limit which I didn't want to chance.

Showing the front panel with the outputs down the left side and the lcd with menu buttons on the right
The unit has an LCD display with menu buttons. I used a 16x2 backlit lcd display which comes with an I2C interface board attached. The I2C buss uses less wires to communicate between the Arduino and the LCD display. The I2C buss is on A4 and A5 on the Pro Mini. The four buttons are for changing menu items. There's a Menu Up, Menu Down, Value Up and Value Down. It's a design I have used before and works well. Though it wasn't until I'd finished making this project that I realised I had put in extra components that are not needed.  For each button I would put a debouncing capacitor and a pulldown resistor. It didn't occur to me that I could use the Arduino's internal pullup resistor's which each digital i/o has. Next time !

Next to the output sockets I've put a rgb led associated with each output. These rgb leds are my favorite led at the moment - the WS2812. What makes this leds nice is you can simply string several together and the library courtesy of Adafruit makes them easy to control. I highly recommend you support Adafruit. I would more if the freight costs to Australia were more affordable. These leds reflect the state of the outputs. The control voltage leds do a colour wheel effect based on the ribbon position. There was a small issue when it came to the software. I use have used one of the processors interrupt timers when running the sample/hold mode but alas the Adafruit library gets upset with me doing this thus during this mode the leds do not function correctly.

The unit includes a MIDI In and Out. Since the Pro Mini has a standard serial interface it makes sense to include a MIDI interface. The unit will act as a MIDI merger allowing all MIDI information coming on the In connector to be thru putted on the Out socket. With the addition of the information from the ribbons. In addition there is a MIDI function which monitors the MIDI in for a MIDI clock and converts this into a pulse on the Aux Output.

The outputs on the controller box are Control Voltage A, Trigger A which are associated with the top ribbon. Control Voltage B, Trigger B which not surprisingly are associated with the lower ribbon and Aux Output. Depending on what mode you are running the unit in depends on what the different outputs do.

The underside of the controller panel lid. Shows the LCD at top with it's I2C daughter board, button board at the bottom, the rgb leds and output sockets to the right.
There are currently 3 modes - Default, Tempo and Sample/Hold. Default mode is simply where the top and bottom ribbons output a control voltage. Their associated Trigger Outputs will either put out a Trigger when a finger is applied or hold the Trigger Output high until the finger is removed. This is the Gate mode and each ribbon can be set independently to either Trigger or Gate. In Tempo mode the top ribbon acts the same as the Default mode but the bottom ribbon will output a pulse on the Trigger Output. The speed of the pulse is affect by the position along the ribbon. Finally in Sample/Hold mode we see the Control Voltage from the top ribbon output a random voltage. The range of the voltage is defined by the fingers position on the top ribbon and the speed at which the random changes is defined by the finger position on the bottom ribbon. By default the Aux Output will always output a pulse based on MIDI Clock and the Clk Divisor value set in the menu.

There are various parameters within the menu system. For both ribbons we have:-
  • U Lo Volt - sets the lowest voltage value
  • U Hi Volt - sets the upper voltage value - note this can be made a low value and the U Lo Volt can be a high value thus creating a reserve direction ribbon
  • U Trigger - whether the trigger output is Trigger or Gate - trigger will simply pulse when the ribbon is first pressed whereas Gate will hold the trigger pulse high until released
  • U Hold - set this On and the control voltage output will be held at the last value otherwise it will revert to the U Lo Volt value
  • U MIDI Ch - this is the MIDI section and this value sets the output midi channel
  • U MIDI CC - this is the controller value that this ribbon will output on
  • U MIDI low - the minimum value to output
  • U MIDI high - the maximum value to output
A set of these menu items exist also for the Lower Ribbon. The only other current parameter is Clk Divisor which is the divisor of the MIDI Clock. The MIDI Clock outputs at 24 pulses per quarter note. The Clk Divisor value will simply divide this number and then output a pulse. https://en.wikipedia.org/wiki/MIDI_beat_clock 

The USB end of the ribbon platform which I am very proud to have made work and look good
The platform on which the ribbons are mounted was quite a challenge for me. It's made from 19mm plywood just because I had some and it's a nice solid thickness. I wanted to make the final result as clean as possible. I had to mount a USB A socket in the end of the unit along with a printed circuit boards which has a few components and the ribbon connections. So I managed to route a chamber into the end of the platform to contain the pcb. One of the biggest challenges of this section was I had no way of screwing down the small pcb into the 3mm remaining plywood. The only part that I could screw down was the top acrylic piece. So I came up with the idea of making the pcb a tight fit inside the cavity. Then I soldered some small pieces of coiled wired to the bottom of the pcb so that it was levelled out given the usb socket was raising one end. Then I mounted some standoffs on the acrylic lid so that when the lid is screwed down these standoffs hold the pcb in place. The next tricky part was how to glue the two pieces of acrylic which make the side and lid as I didn't want to also have screws in the end panel. So I had to chance screwing down the lid with pcb in and adhering the usb piece of acrylic in place hoping not to adhere something else, notably the wood, in the process. It worked out fine and a very neat finish.

This the Cut2d shaded preview of the USB end of the platform. The pcb was made to the same shape as the large internal cutout but less 0.5mm in size so that it was a tight fit.

These two pieces were routed from 3mm black acrylic and adhered on their joining edge.

Florian Vox - Speech Synthesizer 

Florian Vox - View from the front

I got interested in voice synthesis one day partly due to being in the Kraftwerk cover band, Uber Ding, where I had given myself the task of creating some synthesized voices for some of the tracks. Hence the name Florian Vox being a reference to Florian Schneider, founding member of Kraftwerk.

I came across the Emic 2 Speech Synth module which was an easy to use and somewhat more advanced sounding than other voice synthesis. One nice thing about this module is it will allow singing at specified notes which I thought could be fun to play with.

So the project was to be a standalone unit which accepted MIDI as a controlling device. The idea being that I could create programs on the unit which were controlled via midi notes or controllers. Allowing the press of a key to say a word, phrase or even sing something at a given pitch. The unit would also need a few other items like an audio output as well as some simple buttons for various operations.

The unit is powered via the USB which is also the programming port of the Arduino Nano. This is the first project that I have done where I have used the standard hardware serial which is normally used for programing the Nano. I've placed a toggle switch on these ports because the MIDI interface which is connected to them during a run interferes with the USB interface and hence causes issues while programming the Arduino.

The Emic module has a speaker output with a small audio amplifier. I made the mistake of connecting the audio output to this connection. There is a 3.5mm jack on the Emic module but for some reason I thought this was also a speaker connection. It is actually a line level output. I modified my board to accommodate this error.

Florian Vox - View inside the case - the Emic2 module on the left hand side - one of my standard MIDI interface boards on the right.

The hardware side of things was quite straight forward apart from a couple of small errors. The other small error I made was regarding the toggle switch. I designed and made the printed circuit board before I had the pcb mounted switch in my possession. Unfortunately I had placed the pin holes in the wrong place and the outcome was the switch would not be mounted on the board but to the case. The angled toggle switch that I purchased at great cost was not used in this project.

I had some fun with the case. I took a vector graphic of Kraftwerk in fan recognised standing pose and then routed and paint filled it on the top panel. The case is one of my standard and now familiar cases. This is also the first case where I have replace the standard philips head screws with hexagon bolts as I think they have more of an industrial feel that I like.

The bad news though is that it can't really be used as a real-time instrument. The Emic module operates by receiving serial codes. There is a quite a substantial delay from sending this code to getting a response from the synthesizer. Simple problem really. So alas I use the unit to make the sounds and then sample these to be used in the band. Of course that doesn't mean the unit couldn’t be used in a less structured music type of way but I've left the unit programmed to simply receive serial via the Arduino IDE. Something to ponder for future development.

Florian Vox - Rear view showing the MIDI in and Out alongside the USB power and programming port

UM30 Mixer 

UM30 Mixer - Art View

What is the UM30 Mixer's purpose - let's step back in time first

The UM30 Mixer came from an origin idea to make a new and larger matrix mixer which would replace the UM13 Matrix Mixer. So it made sense to do a bit of a log of the UM13 Matrix Mixer.

I've not done a log of the UM13 Matrix Mixer design and construction but this unit is based around a 3 stereo inputs and 6 stereo outputs. The purpose of this matrix mixer is to allow me to connect  various effects units to my modular analogue equipment. So there are three input channels which each have five sends which lead out to effects sends. The sixth send is a main fader which sends a dry signal to the output of the mixer. What makes the mixer a little different is that the effects returns are also matrix input channels which can be send on again but only to other effects channels and only one at time. What this gives you is the ability to chain effects together and manually change them at any time during a performance. All input channels are stereo throughout.

This mixer is built into a rack, which I did log, which also contains my PAIA 9700 modular synth and the Music From Outer Space Weird Sound Generator and 10 Step Sequencer. What it also contains is a Kawai RV4 which is a quite nice but basic quad stereo effect processor. This RV4 is what is connected to four of the effects loops on the UM13. The other effect loop is connected to a Line6 Pod which gives some nice distortions. The WSG (Weird Sound Generator) and the UM13 share a common dual 12v power supply.

UM30 Mixer - Front View - Note that I have used a simple single character to label what the pots function 

UM30 Mixer - an extension of the matrix mixer

When I only have a few pieces of gear, the three input channels was sufficient but of course like most people's setup, it starts to expand. Hence the need for more input channels.

The UM13's printed circuit boards are veroboard and the schematic design is overly complex - there's no real need for stereo input channels or sends. Both combine to make a noisy unit which is difficult to repair and has had ongoing wire connection issues which have only recently been fixed. One of the original design fails was using make before break wafer switches which caused a large thump when changing these switches. Replacing these with break before make switches has solved the thumping.

So the initial idea for the UM30 was a 8 input channel and 6 effects channel matrix mixer. I based the schematic design on the UM13 Matrix mixer but I wanted to make it more modular by way of having individual duplicate boards for the input channels and effects sends and returns. I also wanted to reduce the circuit components which meant going back to mono input channels. But it soon become clear that it was going to be too complex for me to make my own single sided printed circuit boards. I make my own printed circuit boards with my CNC router.

The result was that I would compromise the design and utilise the UM13. It was decided to treat the inputs on the original UM13 matrix mixer as effects input from yet another mixer. I know it's a little complex but it is the best option.

So the design has the following:-

  • 8 mono input channels
  • Each channel has a gain stage, 4 mono pre-fade sends, pan and level output
  • 4 stereo effects returns
  • Master output level

Each input channel of this unit is a separate printed circuit board which is held in place via the board mounted front panel potentiometers. The first three effects sends go to the UM13 with a spare effects send for another effect unit.

Many of my designs are based around someone else's design. Often I will base audio circuits on Rod Elliot's work. His designs are very good as far as I can tell. I've supported him in the past by purchasing some of his pcb's that he sells for his designs. I also cross reference with Ray Wilson of Music From Outer Space's designs. One of the new additions to the input channels was a comparator based led for the level indicator. I put in an dual opamp to make this circuit work. The circuit is simply a under voltage and over voltage setup where the green led will turn on at a set level as does the red led. The led used is an RGB led which I had in stock. These had a couple of 10 turn pots on them so I could calibrate them once the unit was completed. For no real reason I setup the red led to start flashing when the preamp on the input channel was about -6db from distortion. The green led starts up at around -28db. This seems to work well so far.

One of the stipulations of this new unit was for as little wiring as possible. Wiring not only adds places of noise and signal degradation but also makes for a slower construction. This started with the idea that the input channel boards would have all the pots mounted to the board and in turn the board would be mounted to the front panel via the mounted pots. So I have eight boards which are identical which are the input channels. The first board had a few design issues but I managed to modify this original board and still use it in the final project.

UM30 - Inside view of the Input Channel boards - note the worrying power distribution board with the heatshrink

All the panel sockets have boards behind them as well. The boards still have wiring to access power and join them up to their different busses but this is done using jumper leads.

I decided to build the power supply into a separate unit which in turn is powered from an AC plug pack using one of Ray Wilson's, rest his sole, wall wart regulator units. This is a cheaper way of powering a low power unit like the mixer. Otherwise I would have needed a more expensive 240vac transformer and associated regulation electronics. There is certainly no measurable noise from the power supply in this unit.

The unit is very quiet which is good as the matrix mixer is not overly quiet. But the noise levels are fine considering the use of these units within my analogue synthesizer setup which isn't overly quiet.

The case I designed and made up using my cnc router. It's about the largest I can do on my router and I actually cut the bottom piece of wood by hand. I used 16mm plywood because I had some in the shed and I wanted to use it up. The case is all glued together without nails or screws. The pieces are held together using the Mortise and Tendon join. This is where one piece of wood has male extension which fits into and is glued into a female cut. This diagram should help (picture needed here !!!!).

UM30 Mixer - shows the front panel mounts. The side pieces is screwed to the side piece of wood whereas the front square tubing is mounted into the side piece and glued at the same time as the front piece of wood.

The front panel is 3mm acrylic which was cut to size by hand and the routed with the cnc router. It was finished off by painting on white acrylic paint to fill the routes. This panel is held in with screws which screw into angles aluminium which are routed into the side pieces of the wood to make for a clean finish.

What I feel I achieved with this project was a method whereby I have managed to create printed circuit boards which avoid as much wiring as possible. My layout method was very accurate to allow for the pot holes to line up with the mounted pots on the printed circuit boards. The audio quality is very good due to a low number of components.

UM30 Mixer - View from the rear showing the hole where the DC power connects