Awesome
Teensy FX
- A Teensy 4 based FX unit with Pocket Operator style and playability.
- 12 knobs, 4 buttons each with LED, and 4 LEDs showing automation cycle.
- Combination of filtered reverb, ping pong filtered delay and a noise source, but this is customisable.
- Each knob can be automated (a bit like punch in effects on the Pocket Operators)
- Tap tempo and PO sync
- video series on development and use of the teensy-fx
Hardware
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
- teensy 4 audio board schematic https://www.pjrc.com/store/schematic_audio4.png
- SGTL5000 datasheet
- TLC5947 24 channel PWM LED driver
- 4067 multiplexer for the knobs
- pot RK09K1130AP5
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
-
remove modemmanager
-
install teensy rules: https://www.pjrc.com/teensy/00-teensy.rules
sudo cp 49-teensy.rules /etc/udev/rules.d sudo udevadm control --reload-rules sudo udevadm trigger
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
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.