>how it works

A fast carrier multiplied by slow on/off keying is the wave the radio hears. Keying rate sets pitch; keying height sets volume.

× = Carrier fast, it radiates Note keying rate = pitch height = volume Modulated carrier square wave duty = volume

The top waveform shows the carrier, the fast oscillation that actually radiates. The stepped line is the note keying signal. The bottom row shows the carrier as a square wave at one constant height. Volume is set by duty cycle: wide on-pulses for loud and narrow ones for quiet, which the radio averages back into an amplitude (dashed line, higher = louder). Those hard square edges are why the signal also shows up on harmonics at 2× and 3× the carrier frequency.

>regular am vs ours

Both carry the same loud-then-quiet message. A broadcast station changes the carrier's height; we keep the height fixed and change the duty cycle.

Regular AM smooth sine height = volume Our AM square, fixed height duty = volume

Top: a smooth sine whose amplitude rises then falls; the peaks (dashed) are the volume. Bottom: our square wave stays one height and only the on-time changes, so its running average (dashed) carries the volume. Same result at the speaker, but our square version is cruder and sprays energy onto harmonics.

>pitch and volume

Two independent knobs. One sets how fast you key the carrier, the other sets how wide each pulse is.

Note: faster keying makes a higher pitch lower note (slow) higher note (fast) Volume: wider pulses are louder louder (wide) quieter (narrow)

Top row: same pulse width, different spacing, so tighter spacing is a higher note. Bottom row: same spacing, different pulse width, so wider pulses are louder. That maps to the track editor: the note you pick sets the keying rate (pitch), vol sets the duty cycle (volume), and dur sets how long it plays.

>instructions

  1. Make an Audio Track. Click keys to add notes and use Add Rest for silence, drag rows by the handle to reorder. Use the dur and vol sliders on each step, then Play Track to preview in browser.
  2. Download the generated .INO file and upload it to an Arduino Uno R4 WiFi board.
  3. Turn on an AM radio and tune it to 1030 kHz, or pick an empty spot on your dial (530–1710 kHz) and adjust below.
  4. Wire the antenna. Push a short wire (8–15 cm) into D6. Keep it short; range is only a few inches. Optional: 470 Ω series resistor + 100–220 pF to GND softens harmonics.

This is a deliberately weak, short-range signal for bench and classroom use. Keep the antenna short so it stays low power.

>hardware

These three values are written into the generated sketch.

530 - 1710 (AM band)
digital pin (D#)
silence after each pass

>keyboard

Click keys to append notes. Drag rows by the handle to reorder. Only three demo themes loaded.

>track

>generated sketch (.ino)


    

Based upon a fair use project and code by Craig Hyatt, July 2025
Enhanced with volume sliders & verified themes • Copyright 2025-2026 Scott Hanneman