129 July 2026 · the LEDs, diode by diode
Tool version at the end of the session: v2.8.5.
We thought we were done with the LEDs: eight points, two on the head, six on the back. Pushing the control further, it turned out that each of the two head points is in fact an ear of six mini-LEDs in a ring, addressable one by one. The head therefore goes from 2 to 12 channels, and the real count is eighteen, not eight. Marker 1 sits at twelve o'clock, then you go clockwise.
To work out which diode carries which number, an Identify mode lights only one at a time. It is the only reliable way to map a ring whose order you cannot see from the outside.

Second fix of the session, and a more embarrassing one: the mood plot had been wrong from the start. Valence, arousal and satiety are published by the robot on a 0 to 100 scale, which our cursor interpreted differently. As a result it stayed stuck at the top of the plot whatever the machine's real state. Fixed, it finally drops to the bottom when the robot is lying down and quiet.
Third point, a confusion that cost us a few attempts: the Reset and Recovery buttons did the same thing. These are two distinct mechanisms in the robot, standing up on one side, post-fall recovery on the other. They now sit on two separate calls, and we finally understand why a robot fallen on its side would not get up when asked to stand.
On the roaming side, the avoidance node moves to v16: it stops as soon as a void is merely suspected, and detects a sharp edge on a single zone, which catches the diagonal approaches the previous version let through.
229 July 2026 · seven tabs, and the screen solved
Tool version at the end of the session: v2.8.4. Two days of work on the real machine, condensed here.
The tools built along the way stop being separate pages: they become the seven tabs of a single interface. This is the moment the tinkering turns into a tool.
Three findings verified on the machine
Volume is a ROS parameter of the audio node, set through a parameter command we captured on the vendor's official interface. The LEDs are reachable only through the UDP 8768 channel, the only known route, neither WebSocket nor REST. The head screen is driven by ROS services dedicated to animations and messages.
All three results now live in the developer documentation, section "Volume, LEDs, screen". They do not need to be read here to be used.
A negative result, but a demonstrated one: the eyes will not answer
We tried to drive the eyes. The UDP server does understand the matching keys and republishes them onto a dedicated topic, but nobody consumes that topic any more: the subscriber count is zero. The eye layer is handled inside the display node, and the screen service parameters confirm it.
What "Robot life" gathered at that point
The tab brings together what the machine says about itself: its mood as its own emotion engine computes it, and those are the values that explain why it eventually lies down on its own; the audio volume; the LEDs, at that point in two groups only, head and body, with a palette per group; the head screen; battery, network, the load of all 14 motors, touch interactions received, logs, and the dialogue memory.

Sequences appears in the same version: a behaviour editor where you line up animations, randomly drawn groups, pauses and roaming blocks. The new idea is the group: you describe a behaviour, not a fixed list.


A mistake caught after the fact
The delivery announced the right version in its heading, but the kit sheet just below still described the previous one: name, size, hash and file count. Five other places carried the same stale version, including the download button. The automated check had seen nothing, because it only looked at one shape of line.
327 July 2026 · roaming, then on board
Tool versions: v2.8.2 then v2.8.3.
v2.8.2 adds a Roaming tab: the robot walks around on its own, avoiding obstacles, while the screen shows what it perceives. You see the distance sensor field live, a 4 × 4 grid, sixteen distances in millimetres coloured from nearest to farthest, and the zones shouting "obstacle" or "void" ringed with a halo. Next to it, the robot's decision and its reason, in plain words.

The point that took the most fumbling: the distance sensor only exists on the on-board ROS graph, never on the WebSocket channel. The avoidance loop therefore has to run on the robot, not on the PC. That is an architectural constraint, not a choice.
v2.8.3 draws the consequence: the node ships with the kit, one copy command drops it onto the machine, and the tab becomes fully usable by a third party. Until it is deployed, the tab explains what to do rather than staying silent.
427 July 2026 · mobile, and the flaw worth telling
Tool versions: v2.8 then v2.8.1.
v2.8 makes the tool fit in your hand: the interface installs on a phone like an app, with its manifest, its icons and iOS full screen. Driving the robot while following it around the room becomes possible. The bridge itself stays on the machine; the phone is just one more screen opened onto it.
v2.8.1 therefore adds a network mode: the bridge listens on the local network, the console window prints the address to type on the phone, and the interface derives its address from the page it was served from instead of hard-coding it.

One deliberate difference from the vendor's official client dates from this session: it disables zoom, we do not. Buying a tidier look by killing pinch-to-zoom costs accessibility.
527 July 2026 · the System tab, and the honest gaps
Tool version: v2.7. This is also the version where the tool is renamed and becomes Studio 360 for Sirius.
The System tab is a diagnostics view: live vision counters, the load of all 14 motors and the state of the cut-off, machine metrics, and a thermal panel that set a writing rule for the rest of the project.

Another fix from this session: the "autonomous" switch in the top bar had only ever changed what was displayed. It is finally wired to the bridge's real route.
626 July 2026 · early days
Tool versions: up to v2.6.
The first sessions went into mapping the protocol and building something to question it with: the two joysticks, the camera view, the robot's action library with names translated from Chinese, motor telemetry and the cut-off.

v2.6 brings a subtlety that took time: the posture selector reflects the robot's actual state, including when autonomous behaviour acts on its own. The posture is inferred from the action being played, flagged as inferred, and nothing lights up until it is known.
Studio 360 for Sirius (Studio 360) is an independent project by explorations360, not affiliated with, endorsed by, or supported by Hengbot. Sirius and Hengbot are trademarks of their respective owners. This kit was reconstructed by reverse-engineering the robot's API; it is neither supplied nor approved by the manufacturer.

