Station Hub
Proxy Nodes Station Hub
One palm-size device on the counter puts your receipt printer, cash drawer, and barcode scanner behind one HTTP/JSON API on your own network — and behind raw :9100 for POS software you can't change. Nothing in the print path depends on the internet. Setup is a printed QR slip, not an IT visit.
Try the simulator first → — a byte-compatible twin of this device, free, runs on your laptop.
What it drives
The whole lane, over USB.
Plug the peripherals into the hub, plug the hub into the node. The node handles enumeration, drivers, and status — your software makes HTTP calls.
Receipt printer
Any generic 80 mm ESC/POS printer over USB. The node wraps text itself — measured default 48 columns — handles cut clearance, and reads paper, cover, and drawer state over DLE EOT.
Cash drawer
The drawer plugs into the printer's RJ12 port, like it always has. The node fires the kick pulse — measured at 0.15 s from API call to pulse (firmware 1.0.9 fixed the Wi-Fi power-save stall that used to make this 9–24 s).
Barcode scanner
USB keyboard-wedge scanners. Every read lands in /scans with a verdict, and the symbology is labeled honestly: aim when the scanner transmitted it, inferredwhen it's a guess.
Printer and scanner run simultaneously behind a powered USB hub — proven on real hardware: both bound in 1,012 ms, and a real barcode delivered end to end, scanner to API event.
The API
Eight endpoints and a port your POS already knows.
JSON over HTTP on the LAN. No SDK, no driver install, no cloud account in the print path.
POST /printJSON receipt lines — text, barcodes, QR codes, cut.GET /statusLive paper, cover, and drawer state, read over DLE EOT.GET /eventsSSE stream of scans, prints, and state changes.GET/PUT /configPrinter profile, print width, decode policy — persisted on the node, applied live.POST /drawer/kickFire the drawer pulse on demand.POST /rawRaw ESC/POS bytes when you need exact control.GET /peersEvery node on the LAN, reachable from one known IP.GET /scansRing of recent reads — rejected reads kept, with the reason they were rejected.
Print a receipt
curl http://proxynodes-7f3a.local/print \
-X POST -H "content-type: application/json" \
-d '{
"lines": [
{ "type": "text", "value": "Lane 1", "bold": true },
{ "type": "barcode", "symbology": "qr", "value": "ORDER-1042" },
{ "type": "cut" }
]
}'And for POS software you can't change: the node also accepts raw ESC/POS on port 9100, like any network printer, and answers DLE EOT status queries. A legacy POS needs zero integration — point it at the node.
Setup
From the box to a printed receipt.
No app to install, no account required to run. The node explains itself on paper.
- Plug in. An unprovisioned node opens its own setup Wi-Fi network and prints a QR slip. Scan the code with your phone, enter your Wi-Fi details in the captive portal.
- Mistype the password? The node self-heals back to setup mode in about 3 minutes. You can't brick it from the couch.
- Read the boot slip. On every boot the node prints what's plugged in, how fast it bound, and what identity it's presenting to the network.
- Open its web page. Every node serves its own page in a browser — five tabs: Devices, Network, Nodes, Support, Diagnostics.
- Claim it (optional). Sign in at /account and enter the claim code from the printed slip to see your fleet and when each node was last seen. The node works the same either way — it never needs the cloud.
Economics
The math on one checkout lane.
Intelligent printers charge for the network stack and the name. You only need the print head.
The incumbent lane
An intelligent printer — an Epson TM-m30III class device — runs $275–541 per lane. It prints, kicks the drawer, and locks you to a certified-hardware list. When it dies, you buy the same brand again or rewire the POS.
The Station Hub lane
The Station Hub plus the $40–160 generic ESC/POS printer of your choice does the same job — print, drawer kick, plus a barcode scanner — and adds a status API your software can actually ask. Swap the printer any time; your POS never notices.
Our price and shipping are shown at checkout.
Specifications
What's in the box.
- SoC
- ESP32-S3
- Firmware
- 1.0.10 (OTA updates in development)
- Peripherals
- USB host: receipt printer + barcode scanner, simultaneously
- Drawer
- Kick pulse via the printer's RJ12 port, measured at 0.15 s
- Network
- Wi-Fi 2.4 GHz, mDNS discovery (_proxynodes._tcp)
- Protocols
- HTTP/JSON on :80, raw ESC/POS on :9100 with DLE EOT replies
- Power
- USB; a powered hub is recommended when driving both peripherals
- Scale support
- In development
Questions
The ones we actually get.
Does it need the internet?
No. The print path is entirely on your LAN. The cloud side — checkout, accounts, support chat — is optional and never sits between your POS and the printer.
Will it work with my POS?
If your POS prints to network printers on port 9100 — most do — there is nothing to integrate: give it the node's address. The node publishes a compatibility profile (epson-tm-m30, epson-tm-t88, star-tsp100, or custom) that you pick from its web page, and it re-advertises live, without a reboot.
Which printers work?
Generic 80 mm ESC/POS printers over USB — the $40–160 kind. Column width and cut clearance are per-node settings over PUT /config: tuning a node is a curl, not a reflash.
Can I test before buying?
Yes — the simulator is a free, byte-compatible twin of this device: same API, same :9100 behavior, with fault injection. 75 conformance specs run identically against the twin and real hardware.
What about Ethernet?
Ethernet and PoE transports are in development. The Station Hub ships as a Wi-Fi device today.