Hello everyone,
I wanted to share some of the hardware and software modifications I have made to my PiDog.
Hardware modifications
- Replaced the original legs/feet with TPU parts found on Bambu Lab MakerWorld.
- Replaced the original camera with a Raspberry Pi Camera Module 3 Wide, with an approximately 120-degree field of view.
- Designed and printed an inclined camera mount. Since PiDog is quite small, this helps the camera look higher and makes it easier to see people and the surrounding environment.
- Added a 1.5-inch SSD1351 color OLED screen on top of the head.
- Designed and printed a custom mount for the screen.
- The screen displays PiDog’s mood, facial expressions, listening state, sleep state and other visual information.
- Removed and disabled the sound-direction sensor module to free the SPI/GPIO connections required by the SSD1351 display.
Local software modifications
The software modifications are much more extensive. I developed a new behavior-based system called Tena, which gives PiDog more autonomous and expressive behavior.
The main local features include:
- An emotional and mood simulation system influencing curiosity, sociability, energy and visual expressions.
- A behavior arbitration system that selects between social interaction, curiosity, exploration, object inspection, obstacle avoidance, idle behavior and other reactions.
- Autonomous reactions to movement, obstacles, touch and voice commands.
- Face and person detection, tracking and short-term prediction when a person temporarily leaves the camera view.
- Automatic head tracking and limited body recentering toward a person.
- Local object recognition using YOLO with the NCNN backend.
- Fast OpenCV-based face detection and configurable color/shape object profiles.
- Offline speech-to-text using Vosk.
- Offline text-to-speech using Piper, with the voice model kept in memory for faster responses.
- Wake-word support: saying “Tena” opens a listening window, even when the dog cannot see the speaker.
- Local voice commands, including safety commands such as stop and sleep.
- A short-term observation and memory system for recent events, objects, people and visual context.
- A local web dashboard for camera monitoring, diagnostics, event logs and runtime calibration.
- Battery protection, emergency stop handling and runtime safety guards.
- An experimental continuous VSLAM system using Stella VSLAM, including camera calibration, relative pose tracking, map saving and later relocalization. This is probably the most complex experiment I have developed so far, but it is still isolated from the main Tena runtime because VSLAM on a walking quadruped is particularly challenging.
All these features run directly on the Raspberry Pi, without an internet connection or a remote computer. If RemoteBrain is unavailable, the local reflexes, perception, voice commands and autonomous behaviors continue to work.
Optional RemoteBrain
Tena can also connect to an optional RemoteBrain running on a more powerful computer over the local network. It still does not require any cloud service or internet connection.
With RemoteBrain enabled, PiDog can use:
- More powerful server-side YOLO object recognition.
- Detailed scene descriptions and visual reasoning using a Qwen vision-language model.
- More complex and continuous conversations using a Qwen language model.
- A richer personality and more contextual answers.
- Locally stored knowledge about general topics, robotics, artificial intelligence, science fiction, cooking and other subjects.
- Visual context during conversations, allowing Tena to discuss what it has recently seen.
- A memory architecture currently under development, with short-term aggregation and planned medium- and long-term memory.
The local YOLO detector acts as Tena’s fast visual intuition, while RemoteBrain can perform slower and more detailed analysis. RemoteBrain never controls the hardware directly: local reflexes and safety rules always remain in charge.
This is still a work in progress, especially the VSLAM and long-term memory parts, but PiDog is gradually becoming much more autonomous, expressive and aware of its environment.
I would be happy to share more details, pictures, printed-part links or technical information if anyone is interested.
Here some pictures of my “Tena” Pidog.



