teensy-audio-fx

Playable effects modeled on the Teenage Engineering Pocket operator series. Featuring Teensy 4 for audio processing.

Inspect Gerbers

Tracespace View

Assembly Guide

Interactive HTML BOM

Order PCBs:

Compare PCB Prices:

Buy Parts

Adjust quantity:
%
 
ReferencesQtyDescriptionFarnell
C1, C3, C6, C10, C11, C12, C16, C17,8Unpolarized capacitor, small symbol1759424
C2, C4, C5, C7, C13,5Unpolarized capacitor, small symbol1414663
C8, C9, C14, C15,4Unpolarized capacitor, small symbol2112915
D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20,20Light emitting diode2099236
J1, J2, J3,3Audio Jack, 3 Poles (Stereo / TRS)2915138
L1, L2,2Ferrite bead, small symbol2215655
R1, R2,2Resistor1469887

Teensy FX

Hardware

board

schematic

gerbers

photos

noise performance

Buy the right parts through the links on the kitspace page.

Hardware Resources

Based off the teensy 4 audio board and the teensy beats shield

Hardware V1: git commit 99c1038

check the git repo out to the hash to make sure everything is in sync.

Errata

  • Do not place C16
  • Swap LRCLK & BCLK - see pic lrclk-bclk-swap
  • 2.2uF ceramics sound as good and are much cheaper than the 1uF acrylics for C8, C9, C14 & C15

Hardware V2: git master

  • test points for mic input
  • separate regulator for pot 3.3v to reduce noise?
  • put leds and buttons below pots for easier viewing and pressing
  • leave space on back for rubber feet
  • update FP of audio sockets to new FP - audio sockets weren't available in EU, changed to 35RASMT2BHNTRX which has 5 pads but will fit on the same fp
  • filter behind pot mux was a mistake. filters must be in front of mux or removed - fixed by removing
  • fix LRCLK & BCLK mixup - fixed

Back graphic

  • Art by Kipling: http://bit.ly/39Wxc4R. Designed in ContextFree
  • 100 x 60mm == 3.94 x 2.36" == 1182 x 708 pix

FW

  • each knob controls one of the parameters
  • each knob has a number of steps of recordable automation
  • knob's leds brightness shows current value of parameter
  • record time is based on bpm tap tempo and number of steps (4 bars in control.py)
  • buttons are: tap tempo/sync, write, erase and start automation loop from beginning
  • press & hold tempo button to switch between tap tempo and PO sync mode
  • press write and move a knob to record its movement
  • moving a knob without pressing record will wipe the pattern and set it all to the current knob value
  • 4 leds on top right show progression through the automation loop

Uploading

Then:

make prog

issues

  • freeverb noise issue fixed here
    • to fix this you can copy the local effect_freeverb over the one in ~/.platformio
  • if delay is not as long as expected (should be seconds), check teensy audio lib is up to date, older versions didn't support teensy4's large memory

Audio patch

made with https://www.pjrc.com/teensy/gui/index.html

patch

Software

control.py is a PyQT program that was developed in order to make an MVP interface that could later be translated to hardware in the form of a PCB.

gui