Radios
Figures ▾

WiPhone · Volume 1

WiPhone — Vol 1: Introduction & Hardware

Open-hardware ESP32-based SIP/VoIP phone

Figure 1 — WiPhone — open-hardware ESP32-based SIP/VoIP phone (representative; an Espressif ESP32 dev board, the phone's platform, shown). Photo: File:ESP32 Espressif ESP-WROOM-32 Dev Board.jpg by Ubahnverlei…
Figure 1 — WiPhone — open-hardware ESP32-based SIP/VoIP phone (representative; an Espressif ESP32 dev board, the phone's platform, shown). Photo: File:ESP32 Espressif ESP-WROOM-32 Dev Board.jpg by Ubahnverleih, CC0 (http://creativecommons.org/publicdomain/zero/1.0/), via Wikimedia Commons.

1.1 About this volume

The WiPhone is the oddity volume in this series. It’s not a radio. There is no LMR band, no amateur allocation, no scanner role, no DMR talkgroup, no HF propagation. It’s a SIP/VoIP phone — an open-hardware ESP32-based handset from HackEDA that connects to a SIP account over Wi-Fi and places voice calls through the internet. The reason it earns a slot in this series is the same reason it earns a slot in the bench drawer: it’s a hardware-hackable communication device, it lives among the radios because that’s where comms gear ends up, and when the rest of the lineup is busy being radios this is what you reach for when you want a phone that you can program.

Frame it correctly from the start. The WiPhone is not a competitor to the AnyTone D878UVII for amateur DMR (DMR voice is fundamentally different from SIP; one’s an RF protocol on 70cm, the other’s a packet flow over 802.11). It’s not a competitor to the cellular phone in your pocket (no baseband, no SIM, no LTE/5G modem, no PSTN). It’s not a competitor to the Yaesu VX-8DR APRS messaging (no AX.25, no TNC, no licensed band). It’s a SIP softphone that happens to have a physical keypad, a colour LCD, a real handset speaker and microphone, and an ESP32-WROOM (or equivalent) as the brain. The product category is “open hardware desk phone you can hack.” The community is small. The hardware is genuinely well-designed. The use cases in this lineup are narrow but real.

HackEDA shipped the WiPhone as a Kickstarter project in 2018-2019 and has continued small production runs since. Mid-2026 street price is roughly USD $130-150 for the assembled unit, plus shipping out of Hong Kong; bare-board and case-only options sit lower. The vendor documentation suite — the full set of seven PDFs in ../manuals/wiphone/ (Overview, Technical Details, Setting up SIP Accounts, Calls and Messages, Charge the battery, Firmware Updates, Daughter Board Design Guide) — is the v0.4rc1 documentation generation, which corresponds to a firmware revision shipped roughly 2022-2023. The exact firmware revision on the bench unit is TBD — verify against the on-device version display before assuming v0.4 behaviours match.

This volume covers the hardware, the SIP setup, the daughter-board hacker surface, the battery and charging story, the firmware-update path, and the honest use-case framing. It is deliberately short-to-medium. The WiPhone doesn’t need a deep instrument treatment because it isn’t a deep instrument — it’s a programmable phone that lives in a drawer until you need it.

For the lineup-at-a-glance categorization that sits this volume next to the rest, see Vol 1 (Overview) §2 (The lineup at a glance) and Vol 1 §5 (Categorization) — the WiPhone is the single “radio-adjacent” row in the table, posture “bench drawer.”

1.2 Hardware tour (open-source ESP32-based)

The WiPhone is built around an ESP32 module — the original Kickstarter shipped with the ESP32-WROOM-32 (single-band 2.4 GHz Wi-Fi + classic BT + BLE 4.2); later production runs may use ESP32-WROOM-32E or equivalent. The specific module variant is TBD — pull the WROOM ID off the shield can on the bench unit if it matters for firmware-build decisions. The platform implication is the one that matters: 2.4 GHz Wi-Fi only, no 5 GHz, no cellular baseband, no PSTN. Connectivity is Wi-Fi → SIP → internet → far end. If the Wi-Fi is down the WiPhone is a brick.

Around the ESP32, the hardware is purpose-built for the phone form factor:

Display. A colour LCD on the front of the case, roughly 2.4” diagonal, parallel-interface or SPI (TBD — check the schematic in the open-hardware repo for the exact controller; the v0.4 documentation references it as an ILI9341-class panel). 320×240 typical for this controller family. Not touch — input is via the physical keypad. The display is bright enough for indoor use, marginal in direct sunlight (it’s a phone, not a chartplotter).

Keypad. Twelve-key T9-style numeric keypad (0-9, *, #) plus a small cluster of softkeys, navigation arrows, and call/end buttons. Physical tactile keys with a snap dome under each; the feel is closer to a 2005-era flip-phone than a modern smartphone. This is the input surface for SIP-account configuration, dialing, contact navigation, and menu access. The keypad is a non-trivial advantage for one-handed dialing compared with any touchscreen-only softphone.

Earpiece speaker. Small dynamic driver behind the top of the case for ear-to-handset audio. Adequate for voice, not for media playback. Coupled with the housing for some passive low-end reinforcement.

Microphone. MEMS microphone at the bottom of the case, facing the user when held in normal phone posture. The Technical Details PDF in the manuals folder covers the audio chain (codec, gain stages, anti-aliasing filter) at the level of detail an embedded engineer needs to modify it.

Optional speakerphone. Some production runs include a louder rear-mounted speaker driven by a class-D amp for hands-free use; whether the bench unit has it is TBD — visible from the back of the case if it’s there.

USB-C charging. The current production runs use USB-C; earlier (Kickstarter-era) units used micro-USB. The USB port is power + firmware-flash; there’s no USB-host stack and no MTP/serial-as-modem profile. The unit’s connector is TBD pending visual inspection of the bench unit.

Internal battery. Single-cell Li-ion, soldered or JST-PH-connectorized depending on production run. Capacity is typically 1500-2000 mAh — TBD for the specific unit; the Charge the battery PDF documents the specific cell shipped with v0.4-era hardware. Runtime claims (talk time hours, standby days) discussed in §5.

Daughter-board expansion connector. The hacker-friendly feature. A through-hole or board-to-board connector on the back of the main PCB exposes ESP32 GPIO, I²C, UART, SPI, and power rails (3.3 V + battery + USB-5V depending on jumper config). The Daughter Board Design Guide PDF in the manuals folder documents the pinout, the mechanical envelope, and the keep-out areas. This is where the WiPhone earns its “hackable” reputation — see §4.

Case. Injection-moulded plastic shell, designed to be openable with a small Phillips driver (no glue, no clips that snap-and-die on second opening). 3D-printable replacement cases exist in the WiPhone GitHub repo (wiphone/wiphone-hardware) and on community Thingiverse/Printables variants — useful when you want a custom enclosure for a daughter-board project that doesn’t fit the stock case.

Open hardware. The full schematic, PCB layout (KiCad), and BOM are published in the HackEDA GitHub organization. This is what distinguishes it from every commercial SIP desk phone: you can read every net, look up every part, build a unit from scratch if you want to (BOM cost is roughly $40-50 in components excluding the case and battery, plus PCB fab — TBD on current LCSC/Mouser pricing for the ILI9341 and the keypad rubber mat). For an EE who wants a programmable phone, this is the bench’s answer to “I wish I could see the schematic.”

The Technical Details PDF in ../manuals/wiphone/ is the authoritative reference for any factual claim about the hardware — pin numbers, voltage rails, peripheral assignments, power consumption per state. Read it once before any daughter-board project.

1.3 Daughter board design (it’s hacker-friendly)

This is the section that justifies the WiPhone’s place in this series. Every commercial SIP desk phone (Polycom, Yealink, Cisco, Grandstream) is a closed appliance — firmware, hardware, no expansion. The WiPhone has a back-of-PCB daughter-board connector that exposes the ESP32’s peripheral set, designed for community add-ons. The Daughter Board Design Guide PDF in ../manuals/wiphone/ is the authoritative reference; the summary:

Exposed signals. The connector breaks out the ESP32 GPIO that isn’t claimed by the phone’s own hardware (the display, keypad scanner, audio codec). The specific pin assignments are in the schematic, but the families available are:

  • GPIO — several free pins for digital I/O. Some are input-only (the ESP32’s GPIO34-39 series); others are full bidirectional.
  • I²C — one bus available, typically at standard 100 kHz or 400 kHz Fast Mode. Suitable for sensors, EEPROMs, RTCs, OLED displays, fuel-gauge ICs.
  • UART — a hardware UART available (the ESP32 has three; one is used by the USB-flash path, one may be used internally, leaving one for the daughter board). Suitable for GPS modules (most output 9600-baud NMEA), serial-attached peripherals, or a second microcontroller.
  • SPI — one SPI bus available, MOSI/MISO/SCK plus a chip-select line. Suitable for SD-card add-ons, additional flash, SPI-bus sensors, second display.
  • Power — 3.3 V (regulated, current-limited; check the schematic for the budget — typically a few hundred mA available before you start browning out the main board), USB +5 V (when the WiPhone is plugged in to USB-C), and battery raw (3.0-4.2 V depending on charge state, useful for direct power of higher-current peripherals).

Community daughter-board designs. The WiPhone community is small but real. Designs floated in the GitHub issues / Hackaday / GitHub gists include:

  • GPS add-on — a u-blox MAX-M10 or similar module on UART, giving the WiPhone position data; useful for a “where am I calling from” feature in a custom firmware build, or for time sync.
  • LoRa add-on — a Semtech SX1262 / RFM95W on SPI, turning the WiPhone into a Meshtastic node with a phone keypad — a genuinely interesting use case for a portable Meshtastic device with a real input surface (typing into Meshtastic on a tiny touchscreen is awful; typing on T9 keys is better).
  • NFC add-on — a PN532 on I²C or SPI for card-reading / tag-emulation; turns the WiPhone into a programmable NFC tool with a keypad and a display.
  • SD card add-on — a microSD slot on SPI for larger local storage; useful for call recording or for ringtone libraries.
  • Sensor packs — environmental (BME280 / SHT4x on I²C), motion (LSM6DSO on I²C), light (TSL2591 on I²C) — useful only if you have a specific application in mind.

Most of these are “build it yourself or port from Adafruit/SparkFun examples” — there isn’t a thriving WiPhone daughter-board ecosystem with stocked products. The advantage is the design space is open; the disadvantage is you’re on your own for the physical PCB fabrication.

Mechanical envelope. The daughter board has to fit inside the case (back panel screws on over it) or replace the back panel entirely. The Daughter Board Design Guide PDF documents the keep-out areas, the screw-boss positions, and the recommended PCB outline. For prototyping, a 3D-printed back panel with cutouts for the new I/O is the usual approach — the open-hardware case files in the GitHub repo make this straightforward.

Firmware integration. A daughter board with no firmware support is just connector access. The WiPhone firmware (on GitHub at HackEDA/wiphone-firmware, also forked at the older Hong-Kong-Districts-Info/wiphone-firmware) is open — you can fork it, add your daughter-board driver code, and reflash. The build toolchain is ESP-IDF (Espressif’s official ESP32 SDK) — see §6.

This combination — open hardware, open firmware, designed-for-expansion connector, peripheral-friendly ESP32 — is the WiPhone’s actual product story. It’s not a great phone; it’s a great hackable phone-shaped ESP32 platform.