September 2026: Sophie Gets Her Own Server

Hello and welcome to another Burf Update. September was the month the care companion got her own server, and The Platform got a front door: anyone can now drive a robot in their browser without signing up.

AfoBot — Sophie gets her own server

A QNAP AfoBot robot with Sophie's animated cartoon face on its screen and a camera above it; the subtitle line has been blurred.
Sophie on an AfoBot. Subtitle blurred.

Sophie, the care companion that runs on the AfoBots, moved off my home server and onto her own at care.burf.co, with a proper console behind it: a care home has its residents and its staff, staff have roles, and a resident can be set up before a robot is assigned to them. She also got over-the-air updates, so a unit in someone’s home can be fixed without me visiting it. The first real placement — my dad’s house — is set up and happens next month, so this is a pilot of one, and the one is family.

Testing longer, multi-turn conversations turned up the bug of the month: random silences of five to twelve seconds before she answered. I was sure it was the server, and spent a while tuning it. The server was fine. The AfoBot was hopping between the 2.4 and 5 GHz Wi-Fi roughly every twenty seconds, 67 reconnects in 53 minutes, and any question asked mid-hop simply waited. Forgetting the 5 GHz network fixed it, and replies now come back in about two and a half seconds.

Wheelchair — one container instead of five

The wheelchair robot's control board: a Raspberry Pi, Arduino and motor drivers with blue LEDs, below a small status screen reading ARMED — DRIVING.
The wheelchair’s electronics: Pi 4, Arduino Nano and motor drivers.

The wheelchair’s ROS 2 stack went from five Docker containers to one, which took the Pi 4 from about 290% CPU to about 207%. On the way I found a numpy 2 and OpenCV clash that would have silently recorded trips with no video, which is the worst kind of bug, because you only find out when you sit down to watch one. Found and fixed. The Pi still hits its temperature limit, so a fan is going on.

myCobot — back from the dead

The myCobot arm started the month apparently dead: no response, every reading coming back as -1, the USB dropping in and out. It wasn’t dead. It was browning out on a poor power supply and restarting before it could say anything useful. Once I stopped debugging the firmware and read what it printed as it booted, the fix was a better supply and a cable. With it alive again, it now picks up a red brick on its own using two cameras: one overhead to find the brick roughly, one on the wrist to line up the grab.

Burf Platform — try a robot without signing up

Until this month you had to make an account before the Platform would show you anything, which is a lot to ask of someone who only wants to know whether it works. Now the front page has a Try a Robot Now button: it starts a simulated robot in your browser with a five-step mission — drive it somewhere, save the spot, send it back. No account, no hardware, no call with me.

The ROS 2 driver now supports GPS and will show a position on a map in the platform.

TurtleBot — stopping when the browser does

TurtleBot 2 with a Jetson on its middle deck and a depth camera on top.
The TurtleBot 2: Kobuki base, Jetson Nano, Xtion depth camera.

A safety fix that matters more than it sounds. If the browser tab driving a robot freezes, the robot used to carry on with its last command. Now the driver expects to keep hearing from the operator, and stops by itself if it doesn’t: in testing the wheels stopped about 1.6 seconds after the last command. I also fixed a small lurch it did after reaching a waypoint, where it would arrive, stop, and then twitch forward as if it had remembered something.

Android apps — ROS 2 Sensor and Visualizer

ROS 2 Sensor app on an Android phone: a Start button for the /ros2_sensor node and cards for IMU, magnetometer, barometer, ambient light, GNSS and battery, each with its ROS 2 topic name.
ROS 2 Sensor: each phone sensor is a ROS 2 topic.

ROS 2 Sensor went to Google Play on Android. It turns a phone into a ROS 2 node: motion sensors, GPS, barometer, camera and ARCore tracking all appear as ordinary ROS 2 topics. Google wanted a video justifying why it kept the camera and GPS running in the background, so it now only publishes while it’s open, which is better for the battery anyway.

ROS 2 Visualizer on Android got a less flattering lesson. Filming a demo of it showed the Lidar and Camera tabs doing nothing at all and the map being drawn somewhere off the screen. All three are fixed, and version 1.2 is on Google Play.

Plan for 2026 — honest scorecard

  • Strengthen Burf Robotics — steady. Consultancy delivering.
  • Launch Burf Platform as MVP — a stranger can now try a robot without an account.
  • Care companion — Sophie has her own server and console; she moves into my dad’s house next month.
  • Continue learning ROS 2 — two Android apps shipped on a hand-written DDS stack.
  • InMoov Robots — the VR teleoperation got a proper shoulder, so arms lift out to the side independently of how far forward they’re raised. It builds for the Quest 2, Pro and 3S now, though I’ve only run it on a 3.
  • Continue Brilliant learning — ongoing.
  • Build my own robot product — a shoulder printed to real measurements. Slow, but real.

What’s next

Move Sophie into my dad’s house and get her talking to him properly.

Leave a Reply