
pico-serial¶
Open RP2040 boards for the D-Modem suite: serial adapters and phone-line USB sticks.
pico-serial connects a phone or computer running D-Modem or the D-Modem app to vintage serial ports and to real telephone lines. Every board is a bare RP2040 with its own flash, crystal and regulator: no Pico module.
| Board | What it is | Spec |
|---|---|---|
| pico-serial | USB-C to DB25 RS-232. One female DB25 works as a modem (DCE) or a computer port (DTE), detected automatically | SPEC.md |
| pico-serial W | The same adapter with Bluetooth: BLE for iPhone and iPad, classic Bluetooth serial for Android | SPEC-W.md |
| pico-serial Line | A USB modem stick for a real telephone line: a Si3056 DAA, the modem itself being D-Modem on the host | SPEC-L.md |
| pico-serial WB | A wideband stick for bare copper pairs, sampling at 96 kHz for D-Modem's V.wb mode | SPEC-WB.md |
Status: the specs are drafts. CI builds the firmware and runs its tests on the host and in an RP2040 emulator; the boards are generated for KiCad 9. Nothing has run on a real board yet.
Quick start¶
cmake -S firmware -B firmware/build -G Ninja # -DPS_BOARD=hood, w, line, wb or pico
ninja -C firmware/build # -> firmware/build/pico-serial-hood.uf2
The board files are generated from hardware/netlist/build_netlist.py.
Documentation¶
The documentation is also a website, d-modem.github.io/hardware, with reference pages made from the code.
- docs/: an index of every spec and guide
- Firmware: building, flashing, Bluetooth, tests
- Control protocol: the USB vendor interface for host apps
- Hardware: netlist, schematic, PCB, enclosures
The D-Modem suite¶
| Repository | What it is |
|---|---|
| D-Modem | The open V.92 softmodem: dmodemd, libdmodem and the Asterisk, FreeSWITCH and ARI modules |
| app | The D-Modem app for Android and iOS: a dial-up modem on a SIP call |
| hardware | pico-serial: RP2040 serial adapters and phone-line USB sticks |
| menu | modemmenu: the login and menu dial-up callers reach |
| bbs | A bulletin board for telnet, SSH, TN3270 and modem callers |
| go3270 | A Go library for 3270 terminal servers, used by bbs |
| brand | Logos, colours, type and the naming guide |
ISDN S0 stick (an ISDN basic rate S/T port for D-Modem, TE or NT): see SPEC-S0.md.
FPGA line board (study: ADSL, ISDN U or S0 by gateware and host software): see SPEC-FX.md.
Licence¶
Firmware: AGPL-3.0-only, or a commercial licence from the D-Modem Authors. Hardware: CERN-OHL-S-2.0, or a commercial licence from the D-Modem Authors. See LICENSING.md. Contributions come with a contributor agreement (CONTRIBUTING.md).