# T-Modem-c1224 **Version:** **v1.0-prototype** · **AS-IS** · GPLv3 · non-profit **T-Modem-c1224** is a classic Terminal-Modem **chip PHY** reference: TCM3105-class **chip 1200** or **chip 2400** via **which crystal is stuffed** (**Y1 4.4336** / **Y2 6.5536**), Raspberry Pi **Pico** as **USB KISS half-TNC** (HDLC + bitbang to chip TXD/RXD) plus display / **PTT** / sense. Host USB CDC = **KISS** (`0xC0`) + ASCII service. **One** firmware image · **no** softmodem · transparent Host↔Chip bit bridge **abandoned** · **no** baud switching. Firmware language: **C** ![T-Modem-c1224 board overview — major parts labeled](docs/figures/c1224-board-overview.png) | Item | Rule | |------|------| | Power | **12 V** barrel → buck → **5 V** · **no USB power** (USB = flash + KISS + service) | | Modem | Stuff **Y1 4.4336** (1200) or **Y2 6.5536** (2400) · **advise against ≥8 MHz** (incl. **8.8672** deferred) · **no XTAL mux IC** | | Rate model | **One board = one rate = one crystal** · rebuild FW with `-DC1224_BITRATE=2400` for Y2 · rate ≠ runtime switch | | FW | **One** UF2 · KISS half-TNC · INI = **all** display/status texts · fixed boot banner always · default **`quiet=1`** damps extra CDC | | Sense | **CDT→GP8** Signal/RX · **RXD→GP7** Packet UI + HDLC RX | | Stuffing | Stuff **only** the crystal for the intended rate · other footprint **DNI** · keep Pierce **C_Y1+C_Y2** | | PTT | Auto on KISS TX · ASCII `PTT ON`/`OFF` · GP9 → OC · **LED_PTT** optional/spare | | INI SAVE | Last **4 KiB** flash **blob** · **not** a filesystem | | PCB | In `local/kicad/` until finished · single-XTAL policy (mux abandoned) · **~180×180** | | BOM | Tracked: [`hardware/BOM.md`](hardware/BOM.md) · [`hardware/bom/BOM.csv`](hardware/bom/BOM.csv) | ## Build - Firmware (C): [`firmware/c1224/`](firmware/c1224/) — **one** UF2 · build `c1224.uf2` · INI example [`share/c1224.ini.example`](share/c1224.ini.example) - BOM (public): [`hardware/BOM.md`](hardware/BOM.md) ## Operate **Standalone — no MAX25-Stack required.** USB CDC is a normal KISS half-TNC (`0xC0` on `/dev/ttyACM*`). **All terminals should work insofar as applicable** (serial ASCII service + KISS packet). MAX25 (`tmodem` / max25-terminal) is **optional**. HyBBX is not built into this product. 1. Power from **12 V** centre-positive barrel only. 2. USB host for flash / **KISS** / CDC service — expect **no** board power from VBUS. 3. Flash **`c1224.uf2`**; stuff **Y1** or **Y2** for the intended rate. Match `-DC1224_BITRATE`. 4. Open `/dev/ttyACM*` raw 8N1 → KISS (`0xC0` …) or ASCII `HELP`. Fixed boot banner always prints once. 5. Optional: max25d **`tmodem`** + `max25-terminal -d tmodem`, kissattach/kissutil, Dire Wolf serial. ASCII `STATUS`/`PTT`/`ID` when not mid-KISS frame. Anyone-oriented steps: [`docs/USER-GUIDE.md`](docs/USER-GUIDE.md). Firmware detail: [`firmware/c1224/README.md`](firmware/c1224/README.md). ## Docs | Doc | Role | |-----|------| | [`docs/USER-GUIDE.md`](docs/USER-GUIDE.md) | Anyone — assemble · flash · terminals · SAVE | | [`docs/README.md`](docs/README.md) | Doc index + figures | | [`docs/POWER.md`](docs/POWER.md) | 12 V · USB data-only | | [`firmware/c1224/README.md`](firmware/c1224/README.md) | Build · CDC · pins | **AS-IS** · GPLv3 · non-profit · standard reference only.