Your printer. Your network.
One local API.
Connect supported USB receipt printers and peripherals to your software over your local network. Start with Proxy Node Raw — a XIAO ESP32S3 board preloaded with Nodeware firmware and print-tested. Use the HTTP/JSON API, or raw ESC/POS over port 9100 with compatible POS software. Local printing keeps working without an internet connection.
$39 for the programmed board. Add the recommended USB Y cable for $10.
Prices in USD. Shipping and applicable tax are additional.
Ordering unavailable.
Check compatibility · See how setup works
I build POS software
Stop writing printer drivers →
Integrate one JSON API. Test in CI against a free digital twin — no hardware.
I run a restaurant
Escape the hardware tax →
Drive a generic $40–160 ESC/POS printer from software that sends raw ESC/POS to port 9100 or calls the local API — and keep printing offline. Check your POS before you order.
Illustration{ "lines": [ { type: "text", value: "Table 4", bold: true }, { type: "cut" } ] }
- 1,012 ms printer bind
- 0.15 s drawer kick
- 146 conformance specs
- 2338 JS tests
- 60 firmware suites · ASan/UBSan
- 48 columns, measured on paper
The problem
Restaurant hardware is a fragmented mess — and your software pays for it.
Decades of incompatible peripherals sit between POS software and a working front counter. Today, someone writes glue code for all of it. Proxy Nodes replaces that glue with one API.
01
Driver hell
Every printer, scale, and scanner speaks its own dialect. Supporting them means shipping and maintaining dozens of brittle, platform-specific drivers — and answering the "printer offline" tickets they generate.
02
Vendor lock-in
Legacy POS contracts only talk to the hardware on a certified whitelist — typically $275–541 per intelligent printer. Swap in a $40–160 generic and the system quietly stops working.
03
Hardware churn
A restaurant replaces a Star printer with an Epson and suddenly your software needs a code change. Multiply that across every location you support.
How it works
Two layers. Your software only ever touches the top one.
Commands flow down; status flows back up. The POS talks to a single API on your own network and stays completely insulated from the hardware underneath. No broker, no round trip to a data center.
Your software
POS · KDS · kiosk
Calls one JSON API at proxynodes-7f3a.local — or streams raw ESC/POS to :9100 like any network printer.
POST /print · JSON →
← GET /status · SSE /events
illustrationThe node
Speaks JSON up, raw hardware bytes down. Nodeware 1.2.55 or later, tunable on your LAN over PUT /config — no reflash.
raw ESC/POS · USB →
← DLE EOT paper · cover · drawer
Peripherals
The hardware you already own
- · Receipt printer
- · Cash drawer (via printer RJ12)
- · Barcode scanner (via a powered USB hub)
- · USB scale (via a powered USB hub)
- · RS-232 devices — in development
Legacy POS? Point it at the node’s :9100 port and change nothing — the node answers like the network printer it replaced, DLE EOT status queries included.
There is a cloud layer — Stripe checkout, AI support chat, accounts and node claiming, unattended firmware updates, telemetry with per-device opt-out — and it is never in the print path. It updates firmware but never writes a node's settings. A node prints, reports status, and kicks the drawer with zero internet.
Why believe it
Numbers with units, or it didn't happen.
Every figure below comes from the repository or the bench — measured on real hardware, enforced in CI.
1,012 ms
Printer bind
From USB plug-in to printing, through a powered hub, with a barcode scanner bound simultaneously on the same node — zero port cycles.
0.15 s
Drawer kick
The drawer-kick pulse, measured. It was 9–24 s before firmware 1.0.9 turned off Wi-Fi power save. We publish the before because the after is the point.
146
Conformance specs
One suite runs identically against the digital twin and a real node. "Works against the simulator" is a checkable claim, not a slogan.
60
Firmware test suites
Host-built C suites under AddressSanitizer and UBSan on every push, across the drivers, the HTTP surface and the config store.
2338
JS tests
Across the protocol schema, the twin, the tools, and this site. One zod contract is shared by all of them, so the docs can't drift from the wire.
48
Columns, measured on paper
The default print width for 80 mm Font A — measured, not copied from a datasheet. Per-printer overrides are a PUT /config away, no reflash.
Hardware
A board that ships from stock, and our own hardware on presale.
Proxy Node Raw is an off-the-shelf Seeed Studio XIAO ESP32S3 with Nodeware firmware installed and print-tested. Station Hub is our own board and enclosure, sold as a paid presale while it is designed and certified — they are not the same product and this page will never imply they are.
Proxy Node Raw
Ordering unavailableA bare XIAO ESP32S3 board with Nodeware installed and tested. Connect over 2.4 GHz Wi-Fi and add the power and cables your supported setup needs.
From $39.
Configure your board →
Station Hub
PresaleOur own hardware for a station that needs more: Ethernet, 2.4 and 5 GHz Wi-Fi, and at least two powered USB-A ports, with the same local API.
Paid presale: the full price is charged at order, it ships in an estimated window, and you can cancel for a full refund before it ships. Delivery depends on completing FCC equipment authorization.
See the Station Hub presale →
For developers
Integrate supported peripherals through a local API. Explore the protocol and simulator, then test your application with a real node.
For restaurants and installers
Put supported hardware on your local network with a small, preprogrammed adapter. Check your printer and POS compatibility before ordering.
Protocol emulation
Look like the printer your POS expects. Use the one you chose.
A node runs entirely on the local network and presents itself as the network printer a legacy system already knows how to talk to — then drives generic gear behind it.
TCP :9100 · mDNS
ShippedRaw ESC/POS + compatibility profiles
Every node listens on the standard raw-print port, accepts the bytes a legacy POS sends to a network printer, and forwards them to the connected hardware — answering DLE EOT status queries with real paper, cover, and drawer state, not a guess. Compatibility profiles (epson-tm-m30, epson-tm-t88, star-tsp100, custom) publish the model identity your POS looks for and re-advertise live, without a reboot — though no point-of-sale system has yet accepted one of those identities in front of us, which is why compatibility lists them as unverified.
HTTP · vendor protocols
In developmentePOS-XML endpoint emulation
An ePOS-Print XML endpoint on the node: parse the incoming job, translate it to raw ESC/POS for whatever hardware is actually connected. In development, built on the same driver seam the shipped :9100 path uses. Star's CloudPRNT is not a direction we are taking — it is a polling design.
Built the right way
Emulation is written from scratch against publicly documented specs — no proprietary code or firmware is copied. Nodes ship with a generic identity; a compatibility profile is something the operator explicitly turns on per node. You configure the tool for compatibility with the system you run.
The cloud, kept in its place
Nodes report up. Nothing depends on it.
A heartbeat, not a control channel. The node buffers telemetry in a ring, sends on a schedule, and clears only what a 2xx acknowledged — everything else keeps. Pull the uplink and it keeps printing.
Node · pn-7f3a
heartbeat ring · clears on 2xx only
zero NVS writes on this path
POST /v1/ingest · on a schedule →
← 202 accepted · anything else keeps the ring
Cloud · beside the path
- · Fleet visibility at /account — last seen, firmware
- · Claim a node with the code on its printed slip
- · Per-device opt-out: opted-out data is dropped, stored nowhere
Point the heartbeat at your own server instead — GET/PUT /cloud configures the endpoint, and the wire contract is documented.
The Open Protocol
The protocol is documented. Conformance is checkable.
Read the local API documentation today. The digital twin and conformance suite exercise the same protocol; access to those development tools is currently by arrangement.
Documented and testable
- · The wire contract — every endpoint, every field, documented as one shared schema
- · The digital twin (pnpm sim) — a simulator of a node's core print, status and event surface, with fault injection, free
- · 146 conformance specs that run identically against the twin or real hardware
The business
- · Preprogrammed, supported hardware — Proxy Node Raw, sold through our own checkout
- · Station Hub — our own Ethernet and dual-band hardware, sold as a paid presale
- · The fleet console — per-node update policy, channels, maintenance windows and Update now, live on /account
- · OEM and ISV projects — discuss integration, branding and licensing
We have not announced an open-source release of the firmware. The local protocol remains documented, and a print job never needs our servers. Read the Open Protocol stance →
Where we are
Shipped means measured. In development means in development.
The left column records tested Nodeware capabilities across our hardware variants; Raw does not include Ethernet. Work on the right is in development. Station Hub is sold separately as a paid presale, with its estimated ship window on the product page when orders open.
Shipped
- Nodeware 1.2.55 on ESP32-S3 — print, cut, live paper/cover/drawer state over DLE EOT
- Firmware updates over the air on the LAN — key-gated, bad images refused, one-call revert to factory, and an unbootable image rolled back by the bootloader
- Printer and barcode scanner proven simultaneously behind a powered USB hub — bind in 1,012 ms
- Cash-drawer kick measured at 0.15 s
- LAN peer discovery — one known IP reaches the whole fleet via GET /peers
- Accounts with claim codes — the code arrives by email when a board ships, and your fleet is at /account
- Checkout for Proxy Node Raw, with optional accessories priced per board — open whenever the catalogue marks the board available
- Ethernet on the wire — a cabled node takes a DHCP lease and serves over it, with the radio on standby and failover measured in both directions
- USB scale readings — GET /scale serves weight, unit and stability, and a scale that has gone to sleep says so instead of reading a confident zero
- The fleet console on /account — per-node update policy, channel, maintenance window, pinned version, and Update now
In development
- Power over Ethernet — the Ethernet link is proven on real hardware, but nothing here has yet been powered over the cable
- RS-232 serial — the endpoint table and a conformance assertion exist; no build of that variant ever has
- ePOS-XML emulation — CloudPRNT is not planned
- Station Hub — our own board and enclosure, in design and sold as a paid presale
The full picture, including what's deliberately deferred: what's next.
Get product updates
Want product and firmware updates? Leave an email.
We'll only use this address for Proxy Nodes product and firmware updates. Signing up doesn't place an order. See our privacy policy.