
Daylight Matchstick
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group

pyControl compatible audio player
Audio teensy is an open-source printed circuit board by Karpova-Lab, from the Karpova-Lab/audio_teensy repository on GitHub. It is a 2-layer board of 44.1 × 43.5 mm with 22 parts on 41 nets, routed with 152 tracks and 17 vias.
It is built around the SSM-114-L-SV-BE. Its parts include 7 capacitors, 5 connectors, 3 resistors and 3 ICs. It belongs with the audio and music boards of this library.
This device connects with a pyControl breakout to play audio tones. A Teensy 3.2 generates an i2s audio signal which is later decompressed and amplified by the SGTL5000 codec IC. A left and right amplified signal is output to two separate mono headphone jacks. The design of this pcb is based on the Teensy Audio Adaptor Board.
| Qty | Reference | Description | Value/MPN |
|---|---|---|---|
| 3 | C2, C3, C7 | 0603 Capacitor | 100nF |
| 1 | C4 | 0603 Capacitor | 150nF |
| 2 | C5, C1 | 0603 Capacitor | 1.0µF |
| 1 | C6 | 0603 Capacitor | 2.2µF |
| 1 | FB1 | 0603 Ferrite Bead | 600Ω @ 100MHz |
| 1 | J1 | RJ45 Jack | 54602-908LF |
| 2 | J3, J2 | 14pin Female Header | SSM-114-L-SV-BE |
| 2 | J4, J5 | Mono Audio Jack | 4832.2230 |
| 1 | R1 | 0603 Resistor | 100Ω |
| 2 | R3, R2 | 0603 Resistor | 2.2KΩ |
| 1 | U2 | 1.8V LDO Regulator | AP7313 |
| 1 | U3 | Codec IC | SGTL5000 |
This following firmware creates 6.5KHz and 14KHz sine waves that are frequency modulated at 6.66 Hz. It responds to commands received over serial UART. 'L' plays the left tone, 'R' plays the right tone, 'S' stops playing both tones, 'V,5' adjust the volume to 5. This firmware is loaded onto the Teensy microcontroller.

#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
// GUItool: begin automatically generated code
AudioSynthWaveformSine modulation; //xy=323.0056381225586,328.0056438446045
AudioSynthWaveformModulated left_tone; //xy=530.0056648254395,308.0056457519531
AudioSynthWaveformModulated right_tone; //xy=533.1874694824219,363.0965919494629
AudioMixer4 mixer; //xy=719.1874771118164,330.0965805053711
AudioOutputI2S i2s; //xy=868.0056648254395,332.0056505203247
AudioConnection patchCord1(modulation, 0, left_tone, 0);
AudioConnection patchCord2(modulation, 0, right_tone, 0);
AudioConnection patchCord3(left_tone, 0, mixer, 0);
AudioConnection patchCord4(right_tone, 0, mixer, 1);
AudioConnection patchCord5(mixer, 0, i2s, 0);
AudioConnection patchCord6(mixer, 0, i2s, 1);
AudioControlSGTL5000 codec; //xy=607.0056762695312,492.0056781768799
// GUItool: end automatically generated code
int current_waveform=0;
const int LED = 13;
from machine import UART
from array import array
class Teensy_audio():
def __init__(self, port):
assert port.UART is not None, '! Teensy Audio Player needs a port with UART.'
self.uart = UART(port.UART, 9600)
self.uart.init(9600, bits=8, parity=None, stop=1, timeout=1)
self.uart.write('S')
def play(self, side):
if side == 'Left':
self.uart.write('L')
elif side == 'Right':
self.uart.write('R')
return True
def stop(self):
self.uart.write('S')
return False
def set_volume(self, volume): # Between 1 - 65
self.uart.write('V,{}'.format(volume))The start and stop latencies are both about 6.5 ± 1 ms

| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2, C3, C5 |
| 2 | 1.0µF | Capacitor_SMD:C_0603_1608Metric | C1, C6 |
| 2 | 2.2KΩ | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | 4832.2230 | asl_footprints:mono_jack_throughhole | J2, J3 |
| 2 | G*** | svg2mod | svg2mod, svg2mod |
| 2 | SSM-114-L-SV-BE | Connector_PinHeader_2.54mm:PinHeader_1x14_P2.54mm_Vertical_SMD_Pin1Left | J4, J5 |
| 1 | 0855025008 | asl_footprints:RJ45_THP_Vertical | J1 |
| 1 | 100Ω | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 150nF | Capacitor_SMD:C_0603_1608Metric | C7 |
| 1 | 2.2µF | Capacitor_SMD:C_0603_1608Metric | C4 |
| 1 | 600Ω @ 100MHz | Capacitor_SMD:C_0603_1608Metric | FB1 |
| 1 | AP7313 | Package_TO_SOT_SMD:TSOT-23 | U1 |
| 1 | DIN Rail Adapter | asl_footprints:DIN_Clip | DRA1 |
| 1 | SGTL5000 | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm | U3 |
| 1 | Teensy 3.2 | asl_footprints:Teensy30_31_32_LC_SMD | U2 |

VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

abhishek-kakkar/BeagleLogic
A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.

Chrismettal/flipper-zero-backpacks
Backpack-style addon boards for the Flipper Zero!



CRImier/MyKiCad
My KiCad boards. Can't be bothered uploading individually anymore, so here you go.
It measures 44.1 × 43.5 mm and has 2 copper layers, 1.6 mm thick.
22 parts, built around the SSM-114-L-SV-BE. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Karpova-Lab/audio_teensy repository on GitHub, at the commit this page was made from: the board is pcb/Audio_teensy.kicad_pcb and its schematic pcb/Audio_teensy.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Karpova-Lab before reusing the design.