Teensy Drone

Teensy Drone

Teensy Drone
This is a mashup of some interesting audio designs I found lying about the internet. A Benjolin and a Blippo box are similar and both make use an intriguing device called a Rungler. So I put them together in one synthesizer, with a better-than-average user interface to control it.

Effects:

Features:

Technology

Synth Section

Audio processing is handled by the Teensy4 with an Audio Shield. The Teensy4 is headless; it takes control inputs via MIDI from the user interface section.

Audio Architecture
Teensy Drone Audio Architecture

The Teensy receives MIDI control messages and converts the values (which are 0 to 127) to the appropriate frequencies, mixer levels, etc. and sets the audio object properties. The Teensy audio library takes care of the rest, pumping data through the audio objects and audio connections.

User interface (UI)

The user interface is implemented on a Raspberry Pi Pico RP2040 with an external EEPROM. The UI takes input from the knobs, plus MIDI in, and sends it to the synth section. UI to synth communication is via an internal MIDI channel. So the RP2040 receives MIDI from a controller and/or keyboard, which it then sends back out to the Teensy on channel 1. The Teensy doesn't send MIDI anywhere.

The settings are automatically saved to EEPROM after a few seconds of inactivity. The standard grade 24c128/24c256 EEPROM endurance is 100,000 writes. To improve the synthesizer endurance a wear leveling algorithm multiplies the EEPROM endurance by 127, allowing 12,700,000 settings updates (minimum). The smallest EEPROM chip needed is 24c128, and a 24c256 may be substituted.

The user interface incorporates a VelociRotor 6 Dial Panel plus a VelociRotor 9H to implement the knobs. The 320x240 color display is mechanically mounted on the 6 dial panel, but it is just a pass through connection to the RP2040.

Isolated Power

An optional ADuM1201 digital isolator separates the Teensy4 and the RP2040 power supplies to make software development easier. When development is complete a jumper block replaces the ADuM1201, which joins the power supply busses.

Design Documents

Schematic Diagramteensyfx_schematic.pdf
PCB Gerbersteensyfx_gerbers.zip
MechanicalT4 Drone Panel.stl
Source Code - Teensy4teensydrone_teensy4_code.zip
Source Code - RP2040teensydrone_rp2040_code.zip
Front Panel ModuleSix Dial Panel Module
Navigation Dial ModuleVelociBus Modules

MIDI control

All the audio settings can be controlled via MIDI. The channel used for MIDI control is selectable, or the MIDI control can be disabled entirely leaving manual control only.

The mode is set by a MIDI Program Change message.

MIDI ProgramSynth ModeDescription
0BenjolinBenjolin Mode
1Blippo 1Blippo using Oscillator 1 and Oscillator 2
2Blippo 2Blippo using Compare and Oscillator 2
3Blippo 3Blippo using Oscillator 1 and Rungler

The settings are Continuous Control (CC) messages.

CCApplies ToDescription
7All ModesThe master output volume. This applies to all modes.
82All ModesOutput can be Mono or Stereo. The stereo effect is simulated. Value 0 for mono, nonzero for stereo.
26All ModesOscillator 1 base frequency. The frequency is on a log scale, so it can be used as a LFO or audio tones.
27All ModesOscillator 2 base frequency. The frequency is on a log scale, so it can be used as a LFO or audio tones.
20All ModesThe amount of frequency modulation from the Blippo sample-and-hold to apply to Oscillator 1.
23All Modes'The amount of frequency modulation from the Rungler to apply to Oscillator 1.
21All ModesThe amount of frequency modulation from Oscillator 2 to apply to Oscillator 1.
24All ModesThe amount of frequency modulation from the primary Rungler to apply to Oscillator 2.
25All ModesThe amount of frequency modulation from the secondary Rungler to apply to Oscillator 2.
22All ModesThe amount of frequency modulation from Oscillator 1 to apply to Oscillator 2.
17BenjolinThe amount of Oscillator 1 to include in the audio mix.
18BenjolinThe amount of Oscillator 2 to include in the audio mix.
16BenjolinThe amount of comparator output to include in the audio mix. The comparator input is Oscillator 1 vs. Oscillator 2.
74BenjolinThe Benjolin filter corner frequency. The frequency is on a log scale.
71BenjolinThe Benjolin filter's response level near the corner frequency.
85BenjolinThe amount of rungler output to use for filter frequency modulation.
86BenjolinThe amount of Oscillator 2 to use for filter frequency modulation.
87BenjolinApplies a constant level to the filter frequency modulation.
79BlippoThe amount of Sample-and-hold output to include in the audio mix.
89BlippoThe amount of the primary Rungler output to include in the audio mix.
90BlippoThe amount of the secondary Rungler output to include in the audio mix.
76BlippoThe corner frequency for one of the Blippo ladder filters.
77BlippoThe corner frequency for one of the Blippo ladder filters.
75BlippoThe Blippo filter's response level near the corner frequency.

MIDI CV

The oscillators can be modulated with MIDI note on and note off messages. MIDI notes are recognized from all channels, and disabling MIDI control does not disable MIDI CV. Note numbers 64 and above modulate Oscillator 1. Note numbers 63 and below modulate Oscillator 2. Note that this synthesizer is monophonic, so only one note will play at a time.

Build Pictures

Front Front Front Front Front Front Front Front Front Front