Skip to content
/ subtone Public

CTCSS tone generator in Rust based on RP2040 microcontroller using PDM.

License

Notifications You must be signed in to change notification settings

zarath/subtone

Repository files navigation

Subtone

An embedded rust project to generate CTCSS-Tones via PDM on a cheap RP2040 board. Due to PDM (aka Delta-Modulation) a simple rc-filter is sufficient for DA-conversation. (eg. 100Ω/3.3µF if not using 1750Hz option or 100Ω/470nF otherwise) Prefer tantalum caps for better switching supression.

prototype

prototype prototype

Waveform Example

waveform

Schematics

Board used is a Seeed Studio XIAO RP2040. When using a Pi-Pico, just use the corresponding I/O-pins (Px) there.

schematics

Usage

  • Use rotary encoder to select wanted frequency.
  • Press button short for on/off toggling.
  • Press long to store current setting.
  • With 1750Hz call-tone option on this frequency short button push just emmits a one second sine pulse and is quiet otherwise.