TaqaBuddy

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.

StageWhat it doesStatus
01 InputPush-to-talk. No wake word. No always-on mic. Runs so far use typed text.button held[pending]
02 Speech to textwhisper.cpp on the device. 2x realtime on the RK3566 prototype. Not yet on the RK3588."turn on the living room tv"[pending]
03 RouterFine-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 GateCode, not the model. Only devices you set up. Doors, locks, garages and gates ask first.tv_living.power_on allowed [ok][ok]
05 OutputIR, learned from your own remote. Radio through an optional module. Loop runs so far used a simulated transmitter.ir:nec:0x20DF10EF[pending]

Headline figures

Decode
12.7tok/s
3B Q4_0, 4x A76, CPU only. 1 Sep.
Request to command
2.8s mean
Text input, 22 calls, max 4.95 s. 16 Sep.
Unseen device types
27/30
Model v4. Pass mark 26, set before the run.
Wrong actions
33→11
294 held-out phrasings, v4 to v5.

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

DateTestResult
2026-09-16Request to command, text inputrun 11, v5, 22 calls. IR transmitter simulated2.8 s meanmax 4.95 s
2026-09-16Wrong actions, held-out phrasings294 phrasings, v4 to v5. 3 of the 11 stop at confirm33 → 11
2026-09-16Missed refusals, held-out phrasings34 refusal cases, v4 to v531 → 3
2026-09-16Sustained decode294 questions, 19 min. Open board, no enclosure. Throttled on 1479.78 tok/s88.6 °C peak
2026-09-163,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-15Unseen device types, v48 types kept out of v4 training. Pass mark 26, set before the run27/30
2026-09-07Full loop on the RK3588, v3run 9 of 9, 18 text commands. IR transmitter simulated2.87 s meanmax 5.06 s
2026-09-01llama-bench, 3B Q4_04 threads on the A76 cores, 53.6 °C12.7 tok/s
2026-08-24Routing eval, 15-device registrytest devices share vocabulary with training30/30
2026-083B on the RK3566 prototypebelow the 3.5 tok/s floor. Chip dropped2.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
SoCRockchip RK3588Geniatech SOM-3588 module on the DB3588V2 dev board
CPU4x Cortex-A76 + 4x Cortex-A55benchmarked on the four A76 cores
Memory8 GB64-bit bus
NPU6 TOPSunused. Every figure here is CPU only
Model
BaseLlama-3.2-3B-Instruct
Fine-tuneQLoRAroute, ask, batch, refuse
WeightsQ4_0 GGUF, 1.92 GB
Runtimellama.cpp servercontext 2048
Measured
Prefill54.2 tok/sllama-bench, 256 tok, 4 threads
Decode12.7 tok/s128 tok, 4 threads. 8 threads: 10.1
Sustained9.78 tok/s294 questions, open board, throttling
Speechwhisper.cpp2x realtime on the RK3566 prototype. RK3588 port pending
Temperature53.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 firstDoor, lock, garage, gateenforced in code. Configurable
DevicesPlain-file registryadd a device without retraining
FirmwareOpen source at releaserepository private until then
Hardware
BoardsCarrier, expansion hat, pad board, socket test cardRev A. Signed off 2026-10-20, re-checked 2026-10-23. Ready to order
EnclosureIn design

Known limits what it isn't, yet

  1. L01No speech on the RK3588 yet. Every latency on this page is text in, command out.
  2. L02IR transmitter simulated in the loop runs. The model, gate and dispatcher ran on the board.
  3. L03NPU unused. All figures are CPU only.
  4. L04Runs hot. 88.6 °C peak on an open board, throttling under sustained load. Cooling is a design requirement.
  5. L05Whole-house commands are slow. Up to 46 s, because the model writes out every device.
  6. 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.
  7. L07Our answer key had errors. The phrasing-eval figures are being re-scored.
  8. L08Camera designed in, unused.
  9. L09Nothing to buy. No store. No ship date.
TaqaBuddy docs reviewed 2026-10-25