Background
The goal. To turn my Hengbot Sirius robot dog into what it was pitched as - a curious, autonomous, pet-like companion - by writing my own software for it. I named him Sparky.
The gap. The hardware is genuinely capable (an on-board AI chip, a camera, a microphone array, a forward distance sensor, 14 motors, and over 200 built-in animations), but the shipping experience fell well short of the promise:
- Out of the box, he only reacts in place - breathing, idle animations, and emotion changes - with no exploring, no following, and no self-navigation.
- On the base package, there was no way to make him walk at all. The gamepad only came with the pricier bundles, there was never an iPhone app, and the Android app barely worked.
- The built-in voice commands depend on a China-only speech service, so speaking to him did nothing.
- There is no fall detection or self-righting, so a tipped-over robot dog just lies there until you pick him up.
- Developer documentation is effectively absent.
The opening. The robot's own web interface carried the complete official API reference inside its JavaScript code, and its AI Skill Studio turned out to run with full (root) access to the robot's computer. So everything needed to close the gap was there - just undocumented and switched off.
Design Choices
The premise. Sparky is a pet, so he behaves like a real dog: he obeys voice commands, but never talks back. All of his responses are embodied - movement, eye animations, lights, and barks/chirps. Friend-like conversation is the job of my other project, Rover.
The principles. A few rules that shaped everything:
- Connect straight to the robot, with no cloud middleman - so it works offline and does not depend on the vendor's servers
- Never let him move without a live control link - if the link drops, he stops
- Safety is not optional - his motors heat up fast with no hardware limiter, so temperature and battery checks gate all movement
- Run as much as possible on the robot itself, so it all keeps working no matter what the vendor does next
The parts. All software, since the robot body is complete as-is.
- Body. The robot dog itself.
- 🦿 Hengbot Sirius EDU
- Remote control. A cleaner, faster control surface than the stock web interface.
- 📲 My own Sparky iOS app - live status (battery, temperature, latency), live camera view, joysticks for walking/turning, and a grid of his tricks
- On-robot services. My own code running on the robot's computer, which makes him self-contained.
- 📲 My own voice command listener
- 📲 My own follow-me behavior
- 📲 My own fall detection and self-righting
- 📲 My own restore script to re-apply everything after a firmware update
Milestones
Built and working. Each one closed a gap the product shipped with:
- Voice commands. 2026-07-25
- He answers to
Hey Sparky, ...
- recognized entirely on the robot in about a tenth of a second, offline, with no cloud and no accounts - When he hears his name, he raises his head and lights up blue to show he is listening
- The same list of commands drives both his voice and the app, so a spoken word and a tap always do exactly the same thing
- He answers to
- Self-righting. 2026-07-29
- He detects when he has fallen over and gets himself back up unattended, from every upside-down position tried
- Walking. 2026-08-01
- Forward, backward, side-steps, turns, and spins - by voice or with the app's joysticks, no gamepad required
- Fixed the vendor's boot defect that made him throw himself backwards onto his head when waking up
- Live camera view. 2026-08-02
- Re-enabled a video feed that had quietly disappeared from the stock interface
- Person detection. 2026-08-03
- Found a hidden on-board person detector that sees bodies, heads, faces, and hands - even when you turn away from him
- Follow me. 2026-08-04
- His first behavior that is not just a response to a command - he finds you, turns to face you, keeps your face centered with his head, and walks up to about 3½ feet away
- Working, but still a bit nervous - hardening it is next
My score. Out of the box, I rate him a 5-6 out of 10. With this project, he is a 7 - he responds well, but he still initiates nothing.
Roadmap
Next steps. Each stage feeds the next:
- Stage 1. Steady following
- Make follow-me smooth and reliable, then extend it from a single room to the whole house
- Stage 2. Obstacle avoidance
- Use his forward distance sensor to steer around (or at least stop before) furniture while following or roaming on his own
- Stage 3. Artificial life
- Replace his random idle animations with behavior that follows from his internal state - energy, affection, exercise, boredom - so you can tell why he does what he does
- Respond to whether anyone is actually in the room, rather than acting on a timer
- This is the step that should take him to an 8-9, and it needs nothing more from the vendor
Lessons Learned
Hard-won. A few takeaways worth remembering:
- Three times, a capability I had written off as
not possible
turned out to be present all along - just undocumented and switched off. So before acceptingthe hardware can't do this
, check whether anything has ever asked it to. - Days of mysterious, random-seeming walking failures came from my own code silently treating an error as success - not from the robot. Verify the basics before blaming the vendor.
- Never count on a vendor to deliver what is missing. I have watched too many robot makers go quiet, so I build things that keep working on this unit regardless.
Branding
Sleek and alive. Matching the robot's modern look.
- Name. What Hengbot originally called him before the Kickstarter launch renamed him Sirius - much friendlier and more fitting for a robot dog
- Custom Icon Colors. See image above
- head: black
- eye and ear rings: glowing red
- neck: brushed silver
- background: dark circuit board