Skip to content

Instantly share code, notes, and snippets.

View pschatzmann's full-sized avatar

Phil Schatzmann pschatzmann

View GitHub Profile
@pschatzmann
pschatzmann / usb-plan.md
Last active June 21, 2026 17:00
USB Audio Testing Plan

USB Audio Testing Plan

Platform × Direction (core tests)

# Platform Mode Key settings Test
1 ESP32 TX defaults (enable_multi_sample_rate=false) Record 5s with arecord, play back, verify clean sine
2 ESP32 RX defaults Play test.wav with aplay, verify rxXfer > 0, MeasuringStream output
3 ESP32 RXTX enable_ep_in=true, enable_ep_out=true Record AND play simultaneously
4 RP2040 TX defaults Record with arecord, verify clean sine
@pschatzmann
pschatzmann / rtttl.md
Last active October 21, 2025 10:07
RTTTL

Yesterday I was ask to extend my Arduino AudioTools library to support RTTTL. To be honest, I had no clue what this is, so I had to look it up: RTTTL stands for Ring Tone Text Transfer Language and was developed by Nokia to transfer ringtones to cellphones.

It basically descibes the notes and durations in simple text form. My library supports different sound generators and also provides the frequencies of all notes: so all I needed was to provide a parser for RTTTL and link it up with the existing functionality.

The new class is called RTTTOutput and you just provide the generator and output device in the constructor and then you can play the audio by printing the RTTTS string

/**
* A Simple exension of the WiFiUDP class which makes sure that the basic Stream
* functioinaltiy which is used as AudioSource and AudioSink
* @ingroup communications
* @author Phil Schatzmann
* @copyright GPLv3
*/
class UDPStream : public Stream {
@pschatzmann
pschatzmann / esp32-stacktrace.py
Created January 25, 2023 14:31
ESP32 Stacktrace
#!/usr/bin/env python
import argparse
import re
import os
import subprocess
import sys
from termcolor import colored
# update the following default values to what is relevant for your system
@pschatzmann
pschatzmann / Springs.ipynb
Last active February 1, 2026 10:11
3D Printed Springs in OpenSCAD
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.