// 03 HARDWARE
HaLow Ink
A pocket Wi-Fi HaLow node built around Heltec's HT-HC01 module: an ESP32-S3 drives the 902–928 MHz radio and a 2.9-inch e-paper screen, and a LiPo charged over USB-C should run it for months between reports. The 85 × 40 mm four-layer board was generated from one Python design file, autorouted, and passes KiCad's electrical and design rule checks; the case is three prints. Designed and rendered, not yet built.
01 Assembled, display side
02 Exploded, component side
03 Exploded drawing, parts 1 to 12
04 The board, HT-HC01 in focus
05 Assembled, back
What is on the board
- Radio: Heltec HT-HC01 (Morse Micro MM6108, 21 dBm), on SPI at up to 40 MHz, wired the way Heltec's own HT-HC32 is, with a U.FL to an SMA bulkhead.
- Host: ESP32-S3-WROOM-1 with 16 MB flash and 8 MB PSRAM, flashed over its own USB.
- Display: a 2.9-inch 296 × 128 SSD1680 e-paper panel on the back of the board, its flex folded round the end.
- Power: USB-C, an MCP73831 charger, a power path that lets USB run the board while it charges, and a 1 A regulator that idles at 8 µA.
- Extras: two buttons, a Qwiic connector, pads for a DHT11 and four spare GPIO, on a rail the firmware can switch off.
Power
The radio draws about 220 mA transmitting and 30 to 40 mA listening, but under half a milliamp while associated in power save and about 1 µA asleep. Reporting every ten minutes, the whole board should average around 12 mAh a day: about five months on a 2000 mAh cell. Those are estimates from the module's datasheet, not measurements.
Status
- The schematic passes KiCad's ERC; its netlist matches the design file pin for pin; the board passes DRC with nothing unrouted.
- JLCPCB stocks 36 of the parts, about $10 a board; the HT-HC01 is soldered by hand.
- The ESP-IDF firmware builds: it joins a HaLow access point, reports over MQTT, redraws the screen and sleeps. It has never run on hardware.
- The antenna match is untuned, the routing is unreviewed and the case is unprinted.
Made with
KiCad 10 from a Python generator with its own maze router, Blender 5.1 Cycles for the renders, OpenSCAD for the case, and three.js for the walkthrough's model you can take apart.