newdigate / Teensy Eurorack
Projects that are alternatives of or similar to Teensy Eurorack
teensy eurorack audio shield
open source hardware and software for a 30-channel 16-bit analog teensy 4.1 eurorack shield
some peripherals to extend your teensy 4.1 to interface with analog audio and eurorack control voltages (-10 to +10 volts)
For stable, tested version please see
- sponsor
- specifications
- license
- open source software-stack
- teensy eurorack source code libraries
- improvements
- social media
- printed circuit boards
- schematics
- panel design
- assembly technical drawings
- videos
- versions
- todo
sponsor
- patreon/teensy_eurorack
- BitCoin: bc1qxkm5nhzf5wqhgtxx8fcqw328z2jxhv25qmm2d9
- paypal.me: paypal.me/nicnewdigate
specifications
-
microcontrollers:
- 600 Mhz ARM cortex m7 ( teensy 4.1 board )
-
audio: multi-channel audio codec ( 6-in / 8-out 24-bit sound card - CS42448 )
- the audio codec circuit originally started as a discussion on quad audio channel outputs and a pcb design integrating teensy and cs42448 from Paul Stoffregen on pjrc forum
- analog control voltage ins/outs: -10V to 10V 16bit/sample, 8 x inputs and 8 x outputs ( ad7606, 2x ad5754 )
- display: ST7735 128x128 16bit-color tft display
-
breakouts:
- microSD card socket,
- USB host/device,
- midi in/out,
- knobs (4 x pots, 3 x encoders w/switch)
- panel: 24HP aluminium panel mounted for eurorack case
-
programability:
- write arduino compatible c/c++ firmware & program using arduino/teensyduino
- arm gnu toolchain downloads
- teensy audio library
license
- All artifacts are MIT license unless otherwise specified on a per file basis.
Open source software stack
- All schematics and boards are created using Kicad
- All mechanical designs are created using FreeCAD
- Some images have been rendered using Blender 2.81
teensy eurorack source code libraries
- Teensy Audio library drivers for ad5754, ad7606 via SPI
- simple standard midi file reader
- generic sequencer
- variable rate playback
- oscilliscope and x/y scope display components
- cmake macros for compiling c++ for arm cortex
- Audio level and CV level meters
improvements
The basic functions of the teensy eurorack shield have been tested and are working at a basic level. Unfortunately version 2 is not entirely ready yet, Im still in the process of varifying it, hopefully shouldnt be too long now...
At this point Im just focusing on finalising/polishing the current version, but there are some improvements I'd like to make at some point.
- add 4x jack sockets for analog output of knobs on breakout board.
- use 3.5mm jack sockets (as well as standard midi din connectors) for midi in and out.
- switch to active audio input and output circuitry, allow switchable 0dB / 12dB gain, for guitar signals.
- let me know if you're think there something else that can be improved, added, removed.
There is a journal of my progress (its a bit out of date, sorry) - journal.md
What you can do if you like to see progress with this project?
- #sponsor...
- star this repository (means you need a github account - go for it!!)
- subscribe Nic N on youtube
- download kicad and freecad, clone this repo, make improvements, commit & send pull-requests, and raise issues...
printed circuit boards
mainboard
- standard double layer printed circuit board
- thinkness: 1.6mm
- minimum trace: 6 mil
- minimum clearance: 6 mil
- dimension: 118mm*102mm
- socket to connect teensy 4.0 board
- cs42448 audio codec
- 3 x stereo 6.35mm TRS jack inputs
- 4 x stereo 6.35mm TRS jack outputs
- pin sockets to connect breakout board
breakout board
- 2 layer printed circuit board
- thinkness: 1.6mm
- minimum trace: 6 mil
- minimum clearance: 6 mil
- dimension: 110mm*111mm
- 8 x 3.5mm jack socket for analog control voltage inputs
- 8 x 3.5mm jack socket for analog control voltage outputs
- midi in/out DIN sockets
- usb device/host
- USB-B: USB device mode
- USB-A: USB host mode
- micro-SD card socket
- 4 x linear pots
- 3 x rotary encoders with switches
schematics
panel design
assembly technical drawings
youtube videos
-
Nic N
- youtube: Assembling custom eurorack audio shield for teensy 4.1
- youtube: Teensy 4.0 eurorack shield design intro
- youtube: 0v to 10v control voltage input, output and display using teensy 4.0
- youtube: DIY assembly build - teensy 4.0 eurorack audio module
- youtube: assembly teensy eurorack shield
- youtube: assembly timelapse
- youtube: Eurorack digital audio modules powered by teensy micro-controller
- youtube: side-channel stereo audio separation with teensy 4.0
versions
v2.0.3 (Saturday 13/02/2021)
- breakout: st7735 display changed vcc, reset, backlight from 5v to 3v3.
v2.0.2 (31/01/2021)
- Mainboard: spaced out traces as there appeared to be some interference under certain circumstances.
v2.0.1 (27/01/2021)
- Mainboard: add daisy chain TX/RX connector on back side to communicate between multiple boards
- Breakout board: changed back to double layer board.
v2.0.0(b)
- Breakout board: Corrected polarity of +-12V pin headers on breakout board (ouch!!!)
- change ADC to use external 2.5v voltage reference, same as DAC voltage reference now
v2.0.0
- SPI: separated ADC, DAC from display:
- st7735 display has its own dedicated SPI - (SPI0, stays the same)
- ADC / DAC are now sharing SPI1
- integrated ADC and DAC into teensy audio library.
- added one more ad5754 DAC for total of 8 control voltage analog output channels
v1.9.1b
- mainboard: correction: reconnected LRCLK to codec.
v1.9.1
- connected DAC_SCK output (pin 19) to pin 31
- allow cable select to be asserted on minor spi data cycle after every 24 or 48 spi clock cycles, using interrupt on pin 31.
- hopefully this will allow DMA spi transfers to AD5754 and which will make integration with teensy audio library much easier
- allow cable select to be asserted on minor spi data cycle after every 24 or 48 spi clock cycles, using interrupt on pin 31.
v1.9
updated to teesy 4.1 and improvements to make easier to build
- updated from teensy 4.0 to teensy 4.1
- schematic, footprint and pcb clean-up
- replaced footprints imported from eagle with native kicad footprints
- removed atmel samd21 and gpio ICs
- replaced gpio with AD5754 (extra 4 DAC channels)
- replaced RGB encoders with regular encoders
- replaced analog-GND-to-digital-GND footprint with a 0805 zero ohm resistor footprint. (DRC checks can pass now...)
- (temporarily) removed serial TX/RX to unused eurorack power pins
todo
- [ ] finalize design / circuits / boards
- [x]
order(v.2.0.3) - [x]
assemble - [ ] testing
- [x]
CS42448 audio codec- [x]
Audio input - [x]
Audio output
- [x]
- [x]
control voltage input - [x]
control voltage output - [ ] usb host
- [ ] usb device
- [ ] midi in/out
- [x]
st7735 display - [ ] sd card extension & adapter
- [x]
- [ ] Document
- [ ] order & build process
- [ ] software process
- [ ] Firmware
build
- testing automated build and packaging
- github.com/pwuertz/kicad_picknplace_assistant
- github.com/productize/kicad-automation-scripts
- InteractiveHtmlBom by openscopeproject
credits
Sponsored by
Massive thanks to these generous people who have provided support!
- Hannes Schnaitter
- Daniel Hengeveld thedaniel on github
- Derek Brost
3d models
- potentiometer: https://grabcad.com/library/potentiometer-30