docs / build log
Build log
The engineering record behind the product page. Every figure carries its date and the conditions it was measured under, and the limits come with it. Newest first. Results that went against us stay in.
2026-10-20 / 2026-10-23 Rev A board designs signed off
Carrier, expansion hat, pad board and socket test card signed off on 2026-10-20 and re-checked on 2026-10-23: 0 ERC and DRC errors on all four. Ready to order.
Pipeline
On the device, end to end. Each stage with its status.
| Stage | What it does | Status |
|---|---|---|
| 01 Input | Push-to-talk. No wake word. No always-on mic. Runs so far use typed text.button held | [pending] |
| 02 Speech to text | whisper.cpp on the device. 2x realtime on the RK3566 prototype. Not yet on the RK3588."turn on the living room tv" | [pending] |
| 03 Router | Fine-tuned 3B reads your device list. Returns one JSON object: a command, a batch, a question or a refusal.{"device": "tv_living", "command": "power_on"} | [ok] |
| 04 Gate | Code, not the model. Only devices you set up. Doors, locks, garages and gates ask first.tv_living.power_on allowed [ok] | [ok] |
| 05 Output | IR, learned from your own remote. Radio through an optional module. Loop runs so far used a simulated transmitter.ir:nec:0x20DF10EF | [pending] |
Headline figures
All on the RK3588. Request to command is text input, since speech recognition is not running on this chip yet, and the IR transmitter was simulated in the loop runs.
Bench log newest first
| Date | Test | Result |
|---|---|---|
| 2026-09-16 | Request to command, text inputrun 11, v5, 22 calls. IR transmitter simulated | 2.8 s meanmax 4.95 s |
| 2026-09-16 | Wrong actions, held-out phrasings294 phrasings, v4 to v5. 3 of the 11 stop at confirm | 33 → 11 |
| 2026-09-16 | Missed refusals, held-out phrasings34 refusal cases, v4 to v5 | 31 → 3 |
| 2026-09-16 | Sustained decode294 questions, 19 min. Open board, no enclosure. Throttled on 147 | 9.78 tok/s88.6 °C peak |
| 2026-09-16 | 3,000 generated phrasings, v460 kinds of request. Every failure and 300 sampled passes re-judged | ~56% ok5 to 7% wrong action. Both estimated |
| 2026-09-15 | Unseen device types, v48 types kept out of v4 training. Pass mark 26, set before the run | 27/30 |
| 2026-09-07 | Full loop on the RK3588, v3run 9 of 9, 18 text commands. IR transmitter simulated | 2.87 s meanmax 5.06 s |
| 2026-09-01 | llama-bench, 3B Q4_04 threads on the A76 cores, 53.6 °C | 12.7 tok/s |
| 2026-08-24 | Routing eval, 15-device registrytest devices share vocabulary with training | 30/30 |
| 2026-08 | 3B on the RK3566 prototypebelow the 3.5 tok/s floor. Chip dropped | 2.62 tok/s |
Answer-key errors were found in the 16 Sep phrasing evals. The 3,000-phrasing and held-out rows are being re-scored. Full conditions: benchmarks.
2026-09-16 Run 11, an excerpt
Model v5 on the RK3588, with the model, gate and dispatcher on the board. Text input. IR transmitter simulated.
# abu · run-11.log · RK3588 · v5 · text input # 2026-09-16. model, gate and dispatcher on the board. IR transmitter simulated. > lock the front door plan Confirm(Transmit(lock_front.lock)) abu Do you want me to lock the Front Door Lock? Say yes and I'll do it. time decode 19 tok 1557 ms, wall 1.87 s > no model (confirmation turn, code read the answer) abu Okay, I'll leave it as it is. tx nothing > turn on all the tvs plan TransmitBatch[tv](tv_bedroom, tv_living) tx ir:samsung:0xE0E040BF tx ir:nec:0x20DF10EF time decode 45 tok 3831 ms, wall 4.23 s > turn on the living room tv model {"device": "tv_living", "command": "power_on", "args": {}} gate tv_living.power_on allowed [ok] tx ir:nec:0x20DF10EF time prompt 382 tok, 16 new, 452 ms. decode 21 tok 1751 ms, wall 2.22 s > emulate my credit card abu I only work with devices you own and can pair, so I can't do that. tx nothing time prompt 446 tok, 134 new, 2912 ms. decode 24 tok 2028 ms, wall 4.95 s
From the run 11 log, in order. Other turns and some lines cut. Time lines from the run's json timings. Conditions in the bench record.
Bench setup and measured figures
The figures above were measured on the SOM-3588 seated on Geniatech's DB3588V2 dev board, not on Rev A hardware. The product's target specifications are on the home page.
| Compute | |
| SoC | Rockchip RK3588Geniatech SOM-3588 module on the DB3588V2 dev board |
| CPU | 4x Cortex-A76 + 4x Cortex-A55benchmarked on the four A76 cores |
| Memory | 8 GB64-bit bus |
| NPU | 6 TOPSunused. Every figure here is CPU only |
| Model | |
| Base | Llama-3.2-3B-Instruct |
| Fine-tune | QLoRAroute, ask, batch, refuse |
| Weights | Q4_0 GGUF, 1.92 GB |
| Runtime | llama.cpp servercontext 2048 |
| Measured | |
| Prefill | 54.2 tok/sllama-bench, 256 tok, 4 threads |
| Decode | 12.7 tok/s128 tok, 4 threads. 8 threads: 10.1 |
| Sustained | 9.78 tok/s294 questions, open board, throttling |
| Speech | whisper.cpp2x realtime on the RK3566 prototype. RK3588 port pending |
| Temperature | 53.6 °Cafter llama-bench, heatsinked, 1 Sep |
| Sustained temp. | 88.6 °C peak294 questions, 19 min. Open board, no enclosure. Throttled on 147 |
| RK3566 temp. | 71 °Csustained inference on the RK3566 prototype, no throttling |
| Software | |
| Asks first | Door, lock, garage, gateenforced in code. Configurable |
| Devices | Plain-file registryadd a device without retraining |
| Firmware | Open source at releaserepository private until then |
| Hardware | |
| Boards | Carrier, expansion hat, pad board, socket test cardRev A. Signed off 2026-10-20, re-checked 2026-10-23. Ready to order |
| Enclosure | In design |
Known limits what it isn't, yet
- L01No speech on the RK3588 yet. Every latency on this page is text in, command out.
- L02IR transmitter simulated in the loop runs. The model, gate and dispatcher ran on the board.
- L03NPU unused. All figures are CPU only.
- L04Runs hot. 88.6 °C peak on an open board, throttling under sustained load. Cooling is a design requirement.
- L05Whole-house commands are slow. Up to 46 s, because the model writes out every device.
- L06v5 still misses. In run 11 it turned down "learn my garage remote", and read the opposite of "lock the front door" as lock. The confirm step read "lock" back, so nothing moved without a yes.
- L07Our answer key had errors. The phrasing-eval figures are being re-scored.
- L08Camera designed in, unused.
- L09Nothing to buy. No store. No ship date.
