Pitch to voltage converter

Pitch to voltage converter: Front view
Pitch to voltage converter: Front view

This is the software driven replacement for my all hardware pitch to voltage converter from my Shakuhachi to Synth project. The software driven approach has the advantage of easily adaption for different frequency ranges. In my case it is the range of the Shakuhachi. To change the range just adapt the software. It is completely temperature independent. The needed input is a pulse train derived from your original signal. You can use my Signal to Trigger converter to provide the pulse train. An offset voltage is added to the V/Oct output to fit the needs of your VCO (Synthesizer).

Specs and features

  • Software driven pitch to voltage converter
  • 12bit resolution
  • V/Oct output
  • Offset CV Fine and coarse adjustment
  • Runs on +/-15V and +/-12V
  • Power consumption around 45mA positive rail, 15mA negative rail

The documentation and the Gerber files for download can be found in my website.

Pitch to voltage converter: Microprocessor board
Pitch to voltage converter: Microprocessor board
Pitch to voltage converter: Control board
Pitch to voltage converter: Control board

The incoming pulse train is feed to the microprocessor. IC1 (301-F) prevents the microprocessor from negative inputs. Zener D2 prevents from overvoltage. The trigger starts an internal timer of the microprocessor in input capture interrupt mode. The ticks are counted and the count is then looked up in a table. The lookup table provides the values for the V/Oct conversion. The read value is the send to the DAC MCP4921 which is follwed by a low pass (IC1A, 301-B)). IC2A (301-F) adds the offset voltage and IC2B (301-F) corrects the phase.

Pitch to Voltage converter: Populated PCB's
Pitch to Voltage converter: Populated PCB’s
Pitch to Voltage converter: Side view
Pitch to Voltage converter: Side view

NGF Project: 440CPS

NGF-E Project: 440CPS front view

NGF-E Project: 440CPS front view

Not much to say. A 440CPS module. Quite useful for tuning in a bigger system. OK, one more sentence. It is the replacement for the 440CPS module from the Elektor Formant in my Next Generation Formant project Project.

Specs and features
• On/Off Switch to keep the 440Hz out of the system when not needed
• Runs on +/-15V and +/-12V
• Power consumption below 25mA +rail / 5mA -rail

The documentation for download can be found in my website.

NGF-E Project: 440CPS schematic

NGF-E Project: 440CPS schematic

Everything is done in software. Output is a 440Hz Square wave. That’s it.

NGF-E Project: 440CPS populated PCB

NGF-E Project: 440CPS populated PCB

NGF-E Project: 440CPS back view

NGF-E Project: 440CPS back view

Clock Divider with prime numbers

Clock Divider with prime numbers

Clock Divider with prime numbers

This clock divider divides the incoming clock signal down to the prime numbers /11, /13, /17, …. /31. The output is a 5V positive pulse. The length of the incoming pulse is kept. The trigger is on the rising edge of the incoming signal. The reset input can be used for syncing with other clocks. All outputs are buffered and brought out parallel with LED signaling the pulse.
Specs and features
• Regular input clock/square wave +5V
• Input signal divided by prime numbers
• Output +5V pulse with the length of the input signal (pulse)
• Runs with +15V/-15V or +12V/-12V (with minor changes)

The documentation for download can be found in my website.

Clock Divider with prime numbers, schematic

Clock Divider with prime numbers, schematic

Most work is done by the microprocessor. The micro takes care of the input and output timing. All outputs are independently buffered. The clock is made visible with LED.

Clock Divider with prime numbers, populated PCB

Clock Divider with prime numbers, populated PCB

Clock Divider with prime numbers, rear view

Clock Divider with prime numbers, rear view

Looping ADSR – Electric Druid

Looping ADSR front view

Looping ADSR front view

This Module is build around the LOOPENV 1B Pic chip from Electric Druid.I have bought the pic chip and added some protection and level shifting circuitry around it. For details of that chip please refer to the original documentation from Electric Druid.

The documentation for download can be found in my website.

Looping ADSR: schematic

Looping ADSR: schematic

Nothing special here. Just some standard input protection for the pic chip and a filter for the PWM signal to generate the output voltage.

Looping ADSR: populated PCB

Looping ADSR: populated PCB

Looping ADSR: back view

Looping ADSR: back view

Leap 42.3 broken AVR toolchain after update

After a recent update the AVR Toolchain did nor longer work. It turned out that some links are missing. You can repair that easily. Login as root and then goto:

cd /opt/cross/avr

Now set the limks:

ln -s /usr/avr/sys-root/include include
ln -s /usr/avr/sys-root/lib lib
ln -s /usr/avr/sys-root/man man
ln -s /usr/avr/sys-root/share share
The toolchain should work again.

Clock Divider 2-8

Clock Divider 2-8 front view

Clock Divider 2-8 front view

This clock divider divides the incoming clock signal down to /2, /3, …. /8. The output is a 5V positive pulse. The length of the incoming pulse is kept. The trigger is on the rising edge of the incoming signal. The reset input can be used for syncing with other clocks. All outputs are buffered and brought out parallel with LED signaling the pulse.

The documentation for download can be found in my website.

Clock Divider 2-8 schematic

Clock Divider 2-8 schematic

Most work is done by the microprocessor. The micro takes care of the input and output timing. All outputs are independently buffered. The clock is made visible with LED.

Clock Divider 2-8 back view

Clock Divider 2-8 back view

BPM Generator

BPM Generator module back

BPM Generator module back

The BPM Generator give you +5V pulses output with 20ms length, from 40 to 240 beats per minute. Controlled by a microprocessor. The BPM are displayed with three 7 segment LED. The speed is adjusted with an rotary encoder.

The documentation for download can be found in my website.

BPM Generator module schematic main

BPM Generator module schematic main

Most work is done by the microprocessor. The micro takes care of the output timing and the multiplexing off the display. All four outputs are independently buffered.

BPM Generator module schematic display

BPM Generator module schematic display

BPM Generator module front

BPM Generator module front

Scanning Keyboard: Mechanics IV – First wiring

This is the last post about the mechanics. I promise. I have now a mechanical working keyboard with Kimber Allen contacts and the basic wiring. Next step are the electronics. I have them working since 2004 but it might be useful to do some rework with newer parts. I have to move from stripboard to PCB as well.

New holder waiting for contacts

New holder waiting for contacts

Fitting the contacts and do some rework if needed.

Fitting the Kimber Allen contacts

Fitting the Kimber Allen contacts

Fitted and mounted with PCB

Fitted and mounted with PCB

Fitted and mounted with PCB

Soldered and screwed

Contacts soldered and screwed

Contacts soldered and screwed

Putting it together

Contacts mounted with keyboard action

Contacts mounted with keyboard action

Some wires

First wiring to the shift register

First wiring to the shift register

Old scanner electronics from 2004

Old scanner electronic

Old scanner electronic

And my first “keyboard” from 2004

First test keyboard

First test keyboard

The new keyboard mechanic is working quite well with the old electronic. It is a lot of fun playing chords with the synthesizer. Next step is to think about the electronic. I want to get rid of the old stripboards and make some small PCB. Back then i used a ATmega8 and shift registers for keyboard scanning and a 16bit R2R ladder for DA conversion. Programmed in assembler. Maybe it is time to redo it in C and using a DA chip. I’ll give it a try.

AVR ATMega328p Testboard with MCP4921

Building a ADSR or LFO with certain features can become very complex and costly. And there are features that can not be realized at all. Like special waveforms. Other functions are hard to realize in the analog domain. So i wanted to experiment with a microprocessor in the digital domain. To start with i build a testboard around the ATMega328p and the 12bit analog to digital converter MCP4921. I added some hardware features that i found might be useful.

ATMega328p Testboard with MCP 4921

ATMega328p Testboard with MCP 4921

Analog inputs: 4Pots 2CV

CV inputs with selectable threshold +2.5V/+5V

Several digital inputs for switches.

Two digital inputs normalized to 5V with overvoltage protection

Analog output with 12bit DAC MCP4921</li>

Analog output switchable 0..5V / 0..10V / -5V..+5V

2 LED for visualizing analog output

External clock 20MHz

External voltage reference

ISP

ATMega328p Testboard with MCP4921 PCB

ATMega328p Testboard with MCP4921 PCB