summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorinfo@mode42.com <info@mode42.com>2026-08-07 18:09:58 +0000
committerinfo@mode42.com <info@mode42.com>2026-08-07 18:09:58 +0000
commita7362dc14bca1233eb34b41aefebe9cfb22684ac (patch)
treef727c87f92aeb503038deeecc24d3e074dc0197c /README.md
Initial pushmain
Diffstat (limited to 'README.md')
-rw-r--r--README.md63
1 files changed, 63 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..cd81607
--- /dev/null
+++ b/README.md
@@ -0,0 +1,63 @@
+# T-Modem-s1224
+
+**Version mark:** `v1.0-prototype` (firmware `S1224_FW_VERSION` = `1.0-prototype`; git tag **`v1.0-prototype`**).
+
+**T-Modem-s1224** is the softmodem-only sibling of **T-Modem-c1224**: same PCB base, **no** TCM3105-class modem IC / socket. Raspberry Pi **Pico** does **USB KISS half-TNC** (HDLC) plus **AFSK softmodem** (PWM TX / ADC Goertzel RX), display, and **PTT**. Host USB CDC = **KISS** (`0xC0`) + ASCII service. Firmware language: **C**
+
+![T-Modem-s1224 board overview — major parts labeled](docs/figures/s1224-board-overview.png)
+
+| Item | Rule |
+|------|------|
+| Power | **12 V** barrel → buck → **5 V** · **no USB power** (USB = flash + KISS + service) |
+| PHY | Softmodem AFSK only · **no** modem chip · **no** socket · XTAL footprints **DNI** |
+| Rate model | **Three** UF2 builds · rate ≠ runtime switch |
+| FW | `s1224-300` · `s1224-1200` · `s1224-2400` · INI = **all** display/status texts · fixed boot banner · default **`quiet=1`** |
+| AF pins | **GP6** PWM AFSK out · **GP26** ADC AF in · **GP9** PTT |
+| INI SAVE | Last **4 KiB** flash **blob** · **not** a filesystem |
+| PCB | [`hardware/kicad/t-modem-s1224/`](hardware/kicad/t-modem-s1224/) · same base as c1224 |
+| BOM | [`hardware/BOM.md`](hardware/BOM.md) · [`hardware/bom/BOM.csv`](hardware/bom/BOM.csv) |
+
+## Tone profiles (compile-time)
+
+| Build | Baud | Mark / Space (Hz) | Note |
+|-------|------|-------------------|------|
+| **`s1224-300`** | 300 | 1600 / 1800 | HF-class narrow AFSK |
+| **`s1224-1200`** | 1200 | 1200 / 2200 | Bell 202 · matches **c1224** 1200-class target |
+| **`s1224-2400`** | 2400 | ~1775 / 3250 | **c1224 Y2 / 6.5536** class · **not** Dire Wolf 2400 |
+
+## Build
+
+- Firmware: [`firmware/s1224/`](firmware/s1224/) — three UF2 · INI example [`share/s1224.ini.example`](share/s1224.ini.example)
+
+```bash
+export PICO_SDK_PATH=/path/to/pico-sdk # or c1224 `.deps/pico-sdk`
+cd firmware/s1224
+mkdir -p build && cd build
+cmake .. -DS1224_BITRATE=1200 # 300 | 1200 | 2400
+make -j$(nproc)
+# → s1224-1200.uf2 (name follows bitrate)
+```
+
+## Operate
+
+**Standalone — no MAX25-Stack required.** USB CDC is a normal KISS half-TNC. **All terminals should work insofar as applicable** (serial ASCII + KISS packet). MAX25 / HyBBX are **not required**.
+
+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 the UF2 for the intended rate profile.
+4. Open `/dev/ttyACM*` raw 8N1 → KISS (`0xC0` …) or ASCII `HELP`. Fixed boot banner always prints once.
+5. Wire AF: GP6 → radio TX AF inject · discriminator/RX AF → GP26 (ADC0).
+
+Anyone-oriented steps: [`docs/USER-GUIDE.md`](docs/USER-GUIDE.md). Firmware detail: [`firmware/s1224/README.md`](firmware/s1224/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/s1224/README.md`](firmware/s1224/README.md) | Build · CDC · pins |
+| [`docs/figures/`](docs/figures/) | Board overview + steps 1–8 (softmodem DNI) |
+
+**AS-IS** · GPLv3 · non-profit · standard reference only · sibling of **c1224** (chip path unchanged).
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com