summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorinfo@mode42.com <info@mode42.com>2026-08-07 18:15:00 +0000
committerinfo@mode42.com <info@mode42.com>2026-08-07 18:15:00 +0000
commitd393e0c30192611d4cac65a5429fd7180ce1f49c (patch)
tree7e47bd930340c75c4802801a81f3bd17c2469d9f /README.md
Initial pushmain
Diffstat (limited to 'README.md')
-rw-r--r--README.md48
1 files changed, 48 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0b35b1e
--- /dev/null
+++ b/README.md
@@ -0,0 +1,48 @@
+# 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.
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com