TaqaBuddy

Rev A in development/built in public

Talk to everything you own.

Handheld AI assistant. A fine-tuned 3B model runs on the RK3588 in your hand, picks the device you mean and sends the command. Local-first. Works with or without a connection. Your data stays yours.

okYou're on the list. Build logs and bench numbers come to you first.

No spam. One-click unsubscribe. Never sold. privacy

abu · run-11.logRK3588 · v5 · text input

# 2026-09-16. model, gate and dispatcher on the board. IR transmitter simulated.

lock the front door

planConfirm(Transmit(lock_front.lock))

abuDo you want me to lock the Front Door Lock? Say yes and I'll do it.

timedecode 19 tok 1557 ms, wall 1.87 s

no

model(confirmation turn, code read the answer)

abuOkay, I'll leave it as it is.

txnothing

turn on all the tvs

planTransmitBatch[tv](tv_bedroom, tv_living)

txir:samsung:0xE0E040BF

txir:nec:0x20DF10EF

timedecode 45 tok 3831 ms, wall 4.23 s

turn on the living room tv

model{"device": "tv_living", "command": "power_on", "args": {}}

gatetv_living.power_on allowed [ok]

txir:nec:0x20DF10EF

timeprompt 382 tok, 16 new, 452 ms. decode 21 tok 1751 ms, wall 2.22 s

emulate my credit card

abuI only work with devices you own and can pair, so I can't do that.

txnothing

timeprompt 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.

12.7tok/s

Decode

3B Q4_0, 4x A76, CPU only. 1 Sep.

2.8s mean

Request to command

Text input, 22 calls, max 4.95 s. 16 Sep.

27/30

Unseen device types

Model v4. Pass mark 26, set before the run.

33→11

Wrong actions

294 held-out phrasings, v4 to v5.

01/Pipeline

on the device, end to end

01[pending]

Input

Push-to-talk. No wake word. No always-on mic. Runs so far use typed text.

button held

02[pending]

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"

03[ok]

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"}

04[ok]

Gate

Code, not the model. Only devices you set up. Doors, locks, garages and gates ask first.

tv_living.power_on allowed [ok]

05[pending]

Output

IR, learned from your own remote. Radio through an optional module. Loop runs so far used a simulated transmitter.

ir:nec:0x20DF10EF

02/Specifications

Rev A, subject to change
Compute
SoCRockchip RK3588Geniatech SOM-3588 module
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
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
Input and output
InputPush-to-talkno wake word
Speechwhisper.cpp2x realtime on RK3566. RK3588 port pending
OutputIR transmit, IR learn
RadioOptional moduleexpansion header
Asks firstDoor, lock, garage, gateenforced in code. Configurable
Software
FirmwareOpen source at releaserepository private until then
DevicesPlain-file registryadd a device without retraining
AccountNone
SubscriptionNone
TelemetryNone
Hardware
BoardsCarrier, expansion, padRev A. Schematics done, ERC 0. Layout in progress
EnclosureIn design

03/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: /docs/benchmarks

04/Known limits

what it isn't, yet
  1. L01

    No speech on the RK3588 yet. Every latency on this page is text in, command out.

  2. L02

    IR transmitter simulated in the loop runs. The model, gate and dispatcher ran on the board.

  3. L03

    NPU unused. All figures are CPU only.

  4. L04

    Runs hot. 88.6 °C peak on an open board, throttling under sustained load. Cooling is a design requirement.

  5. L05

    Whole-house commands are slow. Up to 46 s, because the model writes out every device.

  6. L06

    v5 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. L07

    Our answer key had errors. The phrasing-eval figures are being re-scored.

  8. L08

    Camera designed in, unused.

  9. L09

    Nothing to buy. No store. No ship date.

05/Waitlist

launch news lands here first