Giter Site home page Giter Site logo

teensy-eurorack's Introduction

teensy eurorack audio shield

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

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 Version 1.8.1

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

MIT open source license

  • MIT license unless otherwise specified on a per file basis.

Open source software stack

support

This project is a work-in-progress! The functionality has been tested and are working at a basic level.

There are some improvements I'd like to make later

  • improve noise to signal ratio on pots on breakout board.
  • 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, journal.md

What you can do if you like to see progress with this project?

  • sponsor via paypal.me: paypal.me/nicnewdigate - please leave a message :)
  • 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...

social media

printed circuit boards

  • 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

assembly technical drawings

youtube videos

versions

v2.0.2

  • Mainboard: spaced out traces as there appeared to be some interference under certain circumstances.

v2.0.1

  • 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!!!)

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
status:
  25/07/2020:
    * received pcbs, stencil and components

todo

  • General
    • cleanup / refactor footprints, replace footprints and symbols imported from eagle with kicad equivalents
  • Breakout board for rotary encoders and pots
    • order
    • assemble
    • verify
    • firmware
    • document
    • certify
  • panel
    • measurements
    • design
  • finalize circuits / boards
  • testing
    • CS42448 audio codec
      • Audio input
      • Audio output
    • control voltage input
    • control voltage output
    • gpio (input & output)
    • usb host
    • usb device
    • midi in/out
    • st7735 display
    • sd card extension & adapter
  • Document
    • order & build process
    • software process
  • Firmware
    • Sliced audio loops
    • Midi looping

build

credits

3d models

teensy-eurorack's People

Contributors

newdigate avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.