• Stars
    star
    197
  • Rank 197,722 (Top 4 %)
  • Language
    HTML
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hardware Design: Eurorack shield for teensy 4.1 with 14 in / 16 out analog channels

teensy eurorack audio shield

Version 2.1 Teensy 4.1 success Join the chat at https://gitter.im/newdigate/teensy-eurorack kicad pcb ops CI teensy40 built with kicad MIT license

Sponsored by:

open source hardware and software for a 30-channel (14 in / 16 out) 16-bit analog teensy 4.1 eurorack shield

  • add peripherals to extend your teensy 4.1 to interface with
    • analog line audio (6 in / 8 out)
    • analog control voltages (8 in / 8 out: -10 to +10 volts)
    • midi in/out
    • microSD socket breakout
    • USB-A host and USB-B devices
    • 4 potentiometers, 3 encoders w/switch
  • online designer teensy eurorack audio gui ^

updates

contents

sponsor

specifications

  • microcontrollers:
  • 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

build

order pcbs

sourcing parts

Most parts are available from mouser.com - you can use the mouser BOMs below as a template to create an order.

mouser boms

parts not on mouser boms

  • panel:
  • mainboard:
    • 2.54mm pitch pin headers and sockets
      • J28: Eurorack power header: either male or female (2 x 8), I use female as my eurorack power (tip top) has male connectors.
  • breakout:
    • uSD card socket: pjs008u-3000-0 yamaichi

    • display: ST7735 (1.44 inch TFT LCD ST7735 SPI display module 128*128 8pin 65K color)

    • 16 x thonkiconns: PJ398SM

    • 4 x 9mm snap-in pots: alpha-9mm-pots - You want linear (B-series) not audio (A-series) B5K or B10K should be ideal.

    • 3 x rotary encoders w/switches: Half axis (D-shaft) rotary encoder, handle/axis length: 20mm, EC11/EC12 digital potentiometer with switch - 5Pin

Update: USB-A-S-X-X-VT is no longer available. Amphenol Commercial Products GSB11111ALF looks like it may be a good replacement.

interactive html boms online

source code

improvements

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

versions

v2.1 (Saturday 3 April 2021)

  • Improvement: Mainboard: Tie LRCLK pin 20 to pin40 to sync DAC/ADC sampling w/ audio sampling
  • FIXED: breakout: add 1k pull-up resistor to MIDI rx pin
  • mainboard: silkscreen: add Kicad OpenSourceHardware logo
  • breakout: silkscreen: add Kicad OpenSourceHardware logo

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

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
  • order (v.2.1)
  • assemble
  • testing
    • CS42448 audio codec
      • Audio input
      • Audio output
    • control voltage input
    • control voltage output
    • usb host
    • usb device
    • midi in
    • midi out
    • st7735 display
    • sd card extension & adapter
  • Document
    • order & build process
    • software process
  • Firmware

continuous-integration

credits

sponsored by

Massive thanks to these generous people who have provided support!

  • Hannes Schnaitter
  • Daniel Hengeveld thedaniel on github
  • Derek Brost
  • Martin Eigel
  • Morgan Massens

More Repositories

1

eurorack-awesome

awesome eurorack diy and opensource
225
star
2

teensy-variable-playback

Firmware library: variable playback rate for teensy audio library
C++
34
star
3

teensy-midi-looper

teensy midi loop recorder
C++
30
star
4

rgb565_colors

https://en.wikipedia.org/wiki/Lists_of_colors
C
22
star
5

teensy-control-voltage

Hardware Design: 16 channel analog control voltage shield for teensy 4.1; 8ch in / 8ch out; +-10V @ 16bits/sample;
19
star
6

teensy-3.6

Teensy 3.6 audio display project
16
star
7

teensy-eurorack-software

source code for teensy eurorack device
C++
14
star
8

teensy-quencer

my attemp to make a little sequencer using teensy audio library... work in progress!!!
C++
11
star
9

teensy-audio-multipressor

multi-band audio compression using teensy microcontroller
C++
10
star
10

teensy-sample-flashloader

load .RAW audio samples to teensy 4.1 built-in flash from microSD card
C++
10
star
11

teensy-polyphony

play multi-polyphonic audio samples with teensy audio library
C++
10
star
12

kicad-github-action

Shell
6
star
13

teensy-eurorack-audio-gui

PaulStoffregen/Audio/gui + extras
HTML
6
star
14

sqlserver-revision-tables

SQLServer: Set of functions for creating revision/audit tables, triggers and data imports
PLSQL
6
star
15

teensy-audio-ad5754-ad7606

two ad5754 dacs and a ad7606 adc using a single SPI bus in teensy audio library
C++
5
star
16

teensy-lfo

Teensy LFO audio module with ST7735 TFT and 3 x rotart
C++
5
star
17

teensy-cmake-macros

build teensy apps and libraries using cmake and gcc-arm-none-eabi
CMake
5
star
18

midi-smf-reader

simple c++ smf midi file reader for linux and teensy
C++
4
star
19

virtual-apc40

a virtual apc40
HTML
3
star
20

freecad-eurorack-panel

parametric eurorack panel for freecad
3
star
21

teensy-audio-display-components

C++
3
star
22

midi-smf-writer

work in progress
C++
3
star
23

teensy_audio_tft

Teensy 3.2 audio display projects
Arduino
3
star
24

arduino-tftpianoview

piano view display component for Adafruit_GFX
C++
3
star
25

teensy-gfx-controls

user-interface library for 16-bit color gfx displays
C++
2
star
26

teensy-blink

proof-of-concept repo to see if I can get travis to build teensy code...
C++
2
star
27

Observables.Specialized.Extensions

C# Observable Dictionary
C#
2
star
28

teensy-x86-midi-stubs

work in progress
C++
2
star
29

eurorack-awesome-db

JavaScript
2
star
30

teensy-st7735-linux-stubs

crude emulation of st7735_t3 library
C
2
star
31

papilio_duo_i2s

Modular I2S projects based on papilio duo
VHDL
2
star
32

teensy-audio-libtftscope

A simple library to display audio buffers on tft displays
C++
2
star
33

teensy-audio-x86-stubs

teensy audio library ported to linux
C++
2
star
34

teensy-audio-launch-ctrl

play audio samples using usb midi controller
C++
1
star
35

teensy-x86-sd-stubs

mock SD for teensy
C++
1
star
36

teensy-x86-bounce2-stubs

C++
1
star
37

dotnet-cloud-guestbook

C#
1
star
38

eurorack-diy

1
star
39

teensy-audio-compressor-effect

C++
1
star
40

nodejs-scrape-and-generate-colors

Slerp up color info from wikipedia and generate c++ header file definitions for 16 bit color names
JavaScript
1
star
41

teensy-x86-stubs

stub classes to allow certain teensy code to be compiled and run on a desktop PC
C++
1
star
42

teensy-gfx

Portable C++17 TFT display graphics abstractions library based on ST3375_t3 and Adafruit-GFX libraries
C++
1
star
43

teensy-cs42448

Eagle schematic for cs42448 codec + teensy 3.6 (with passive filters)
1
star
44

notes-audio-to-adat

scrapbook for notes for audio-to-opto
Prolog
1
star
45

csharp-sql2expression

converting SQL select statements to c# expressions and evaluating them
C#
1
star
46

kube-ingress-expressjs

setting up an https expressjs site
1
star
47

teensy-x86-encoder-stubs

CMake
1
star
48

ExpressionMapper

.NET standard 2.1: C# expression translation between database and service layers
C#
1
star
49

DIYAudioElectronicsMaker

Code, schematics, printed circuit boards... digital and analog audio projects
1
star
50

teensy-audio-player

sd-card music player using a teensy 3.6 micro-controller, guitar audio shield, and st7735 oled display
C
1
star
51

teensy-tinyfpga

Teensy 4.1 meets TinyFPGA BX
1
star
52

newdigate

1
star
53

soa-dsl-scaffolding

scaffolding with a domain specific language using eclipse, xtext, and xtend
Xtend
1
star
54

teensy-audio-ad5754

using dual AD5754 DACs with teensy audio library
C++
1
star
55

csharp-method-dependency-analysis

C#
1
star
56

NFlowGraph

Modular flow-graph processor for .NET
C#
1
star
57

docker-teensy-cmake-macros

container image with arm-eabi-none-gcc compiler + teensy-cmake-macros
Dockerfile
1
star
58

csharp-remove-type-inference

remove type inference in c# files, projects and solutions
C#
1
star