Close
0%
0%

TongDou

A tiny ESP32-S3 desktop gremlin made from brass and PCB, with OLED eyes, motors, sensors, audio, and an AI-connected personality layer.

Similar projects worth following
TongDou is a tiny open-source desktop gremlin built around an ESP32-S3, a brass frame, custom PCB, OLED eyes, audio, motors, sensors, a 24 GHz presence radar, and an AI-connected personality layer. The goal is not to build another cold smart assistant, but a small machine that feels alive through voice, expressions, lights, and tiny wheel gestures.

What is TongDou?

TongDou is a tiny open-source desktop gremlin built around an ESP32-S3, a brass frame, custom PCB, OLED eyes, two geared wheels, a microphone, a speaker, and a 24 GHz presence radar.

The goal is to make a small machine that feels alive through conversation, expressions, lights, and tiny wheel gestures — with a strange, imperfect, slightly mischievous personality of his own.

What he can do today

TongDou has reached the Early Tester stage, with application firmware and a companion TongDou Server available to download.

The current software supports:

  • Natural voice conversation with character reactions.
  • Logo touch and local voice wake-up.
  • Creating, listing, deleting, and snoozing reminders.
  • Proactive reminders to take a break and drink water.
  • OLED expressions, lighting feedback, and physical reactions.
  • Weather, news, and web search through configured server services.
  • Seven selectable setup languages.

The ESP32-S3 handles the device hardware and local interaction. Speech recognition, language models, speech synthesis, and long-term memory run through the companion server and its configured providers.

The v0.1.2 server package includes PowerMem background memory support and a local voiceprint service. These require configuration, and multi-speaker and cross-session behaviour still need real-use testing.

The original scripted scenes, including his first wake-up and confused coffee accountant, are also part of the project's development history.

Why I built it

I wanted to build a small desktop companion with character — something strange, imperfect, and a little mischievous.

For me, the interesting part is how a voice, a glance, or a tiny movement can make a brass-and-PCB machine feel like someone sharing your desk.

TongDou is still learning how to be that little gremlin.

Downloads and open-source development

The GitHub repository and release pages contain the published project materials, hardware test firmware, and Early Tester software packages.

The v0.1.2 release provides two separate downloads:

  • Precompiled application firmware for V9 hardware, with a Windows flashing tool and setup documentation.
  • The matching TongDou Server source-build package, with Windows launchers, Docker build files, configuration examples, and help documents.

The server requires Docker Desktop, internet access for the first build, and your own credentials for the speech and AI providers you choose.

Project repository: https://github.com/solitary-dev-50/tongdou

v0.1.2 Early Tester downloads: https://github.com/solitary-dev-50/tongdou/releases/tag/v0.1.2-early-tester

The release ZIP files are the installation packages. GitHub's automatically generated source archives are repository snapshots.

Current status

TongDou v0.1.2 Early Tester is available as of September 8, 2026. The project is now focused on real-world testing, reliability, and everyday interaction.

This remains an Early Tester release. Desk-presence detection can vary with the room and desk layout, and memory and voiceprint behaviour need further testing in everyday conversations.

For this release, use the documented USB installation procedure. Upgrading from v0.1.0 requires a full flash because the partition layout changed, which clears saved device settings. Back up server data and follow the included migration instructions before upgrading an existing server.

Feedback from real desks is the next step: what works, what feels natural, and what still needs fixing.

  • TongDou v0.1.2 Early Tester — background memory, local voiceprints, and updated installation packages

    solitary dev • 09/08/2026 at 02:02 • 0 comments

    TongDou v0.1.2 Early Tester is now available, with both the application firmware and the matching companion server.

    The first complete release, v0.1.0, brought together voice conversation, character reactions, reminders, expressions, and movement. This release continues that work, with background memory support, a local voiceprint service, and updated installation packages.

    For me, remembering small things is part of what could make TongDou feel like someone sharing your desk. But including a memory system is only the beginning — the useful test is what he remembers, when he brings it up, and whether it makes sense in everyday conversation.

    What is included

    The firmware package is built for TongDou V9 hardware and includes a complete USB flash image, recovery components, a Windows one-click flashing tool, Chinese and English flashing guides, and English usage/help documents.

    The matching server package includes PowerMem 1.1.7 background memory support and a local voiceprint service. Long-term memory runs on the configured server. Memory and voiceprints require setup, and multi-speaker and cross-session behaviour still need real-use testing.

    The server is distributed as a source-build package with Windows launchers, Docker build files, configuration examples, and help documents. Install and start Docker Desktop, then run START_TONGDOU_SERVER.bat. The first start needs internet access to download dependencies and build the services.

    You will need your own credentials for your chosen speech, language-model, and embedding providers. The package contains no private service keys, user databases, recordings, memories, or enrolled voiceprints.

    Upgrading from v0.1.0

    The firmware partition layout has changed, so upgrading from v0.1.0 requires a complete USB flash. This clears saved device settings, including Wi-Fi and the server address. Follow the included flashing guide and configure TongDou again afterwards.

    For this release, please use USB installation. Remote updates through the paired server dashboard have not yet been verified.

    If you already run TongDou Server, stop the old installation and follow the included backup and migration instructions. Keep your local credentials and persistent data.

    What has been checked

    Firmware builds and package integrity checks passed. The merged flash image was checked against all seven component images.

    The voice, dashboard, and voiceprint container images also built successfully. Automated checks included 68 memory tests, 16 background-queue tests, and a lease-renewal regression test.

    These checks help verify the software and packaging. Everyday conversation quality, memory usefulness, and speaker recognition still need testing on real desks.

    Downloads

    Download the firmware and server ZIP files separately here:

    https://github.com/solitary-dev-50/tongdou/releases/tag/v0.1.2-early-tester

    Use the named release packages, rather than GitHub's automatically generated source archives. Setup guides and checksums are included.

    If you are testing TongDou, I would like to hear about both the technical problems and the small moments: a reminder at the wrong time, something he forgot, or a reaction that felt right. When reporting a problem, please include the steps that led to it and the full relevant logs, with any private credentials removed.

    The little brass gremlin is still a work in progress. Now he needs more time on real desks.

  • TongDou v0.1.0 Early Tester — the first complete firmware + server release

    solitary dev • 08/29/2026 at 08:54 • 0 comments

    Today I finally released TongDou v0.1.0 Early Tester.

    Until now, the public TongDou releases were mainly hardware test firmware and scripted demo scenes. This is the first Early Tester release that brings together the real application firmware and the local TongDou Server.

    The current v0.1.0 Early Tester build includes:

    - Natural voice conversation
    - TongDou's personality and character reactions
    - Logo touch and local voice wake-up
    - Reminders: create, list, delete and snooze
    - Proactive activity-break reminders
    - Proactive hydration reminders
    - OLED expressions, RGB feedback and physical reactions
    - Support for Weather, News and Web Search through the Server
    - 7 selectable setup languages

    The heavier AI work runs on the TongDou Server rather than directly on the ESP32-S3. Early Testers can configure their own ASR, LLM and TTS providers.

    This is still an Early Tester build, not a finished retail release. The goal now is to get TongDou onto real desks and find out what works, what feels useful, and what still needs improvement.

    One known limitation is desk-presence detection with the LD2412 radar. Different desk layouts, reflective objects, nearby movement and room structure can affect presence detection and reminder timing.

    The complete Early Tester release, including both the firmware and Server packages, is available here:

    https://github.com/solitary-dev-50/tongdou/releases/tag/v0.1.0-early-tester

    The package also includes a Quick Start guide and a more detailed Features & Usage document.

    Now the interesting part begins: seeing what TongDou does on someone else's desk.

  • TongDou V9 hardware test firmware v1.0 — the real workbench tools are now public

    solitary dev • 08/17/2026 at 09:28 • 0 comments

    I’ve just published the TongDou V9 Hardware Test Firmware v1.0.

    This is not a cleaned-up demo firmware written for GitHub afterward. It is the same engineering firmware I actually use on my workbench while bringing up, diagnosing, calibrating, repairing, and debugging TongDou V9 hardware.

    TongDou V9 hardware diagnostics page running directly on the ESP32-S3 at 192.168.4.1.

    The firmware grew together with the hardware, so it still contains traces of the real development process: experimental commands, calibration tools, low-level diagnostics, and a few things that were written simply because I needed to find out why something was not working.

    I decided not to clean all of that away before publishing it.

    If you are a developer looking through the source, you can see much more clearly what I actually tested and how I worked through the V9 hardware.

    It includes things such as:

    • OLED and addressable LED testing
    • microphone recording and audio loopback
    • speaker diagnostics
    • battery and power diagnostics
    • QMI8658A IMU testing
    • capacitive Logo touch testing
    • LD2412 presence radar diagnostics and engineering tools
    • individual motor testing and driver diagnostics
    • motor direction, calibration and saved configuration
    • gyroscope-assisted straight-line experiments
    • shipping discharge testing
    • low-level LED data-pin debugging
    • other small workbench tools that accumulated while building V9

    There are even a few experiments that are not strictly “hardware tests,” such as gyro-assisted movement and a small Logo-triggered movement experiment. I kept them because they are part of the actual development history.

    For people who just want to flash it

    I also made a ready-to-use Windows package.

    You do not need PlatformIO, Python, or a development environment.

    The release ZIP contains a merged full-flash BIN, Espressif’s standalone esptool, and a simple:

    FLASH_TONGDOU.bat

    The process is basically:

    Connect TongDou by USB → double-click FLASH_TONGDOU.bat → wait for SUCCESS.

    The tool automatically finds the ESP32-S3 serial port and flashes the complete image from address 0x0.

    I tested the exact release ZIP on a real TongDou V9 before publishing it: the firmware flashed successfully, rebooted normally, the TongDou-BoardTest Wi-Fi access point came up, the web diagnostics page opened at 192.168.4.1, and the hardware tests worked normally.

    Source code

    The source is now in the main TongDou repository:

    TongDou V9 Hardware Test Firmware
    https://github.com/solitary-dev-50/tongdou/tree/main/hardware_test_firmware

    The ready-to-flash v1.0 package is here:

    TongDou V9 Hardware Test Firmware v1.0 Release
    https://github.com/solitary-dev-50/tongdou/releases/tag/hardware-test-v1.0

    Please follow the repository if you’d like to keep up with the project. I update it regularly as TongDou continues to develop.

    One warning: this is engineering firmware. Some commands can move the motors, save persistent settings, change LD2412 radar parameters, or intentionally discharge the battery. Read the documentation before experimenting with the more advanced commands.

    This is not the TongDou demo firmware, and it is not the final TongDou application firmware.

    It is the workbench layer underneath them — the stuff I used to make sure the hardware actually worked.

  • I Paid TongDou One Coffee. Now I Owe Him 3.1415.

    solitary dev • 08/03/2026 at 09:59 • 0 comments

    I finally finished the “confused accountant” scene that I mentioned in the first TongDou project log.

    I gave TongDou a tiny ledger and let him handle my coffee debts.

    That was a mistake.

    He clears one debt, invents suspicious new fees, accepts a bribe, forgets the original number, and eventually decides that I now owe him exactly 3.1415 coffees.

    He also refuses to round down.

    The scene is made from five small variations:

    - normal payment
    - invented fees
    - accepting a bribe
    - selective memory
    - absurd inflation

    The interaction is scripted and runs locally. Prerecorded voice, OLED expressions, ledger animations, sound effects, and small wheel gestures are synchronized to the same scene timeline.

    I recorded my own replies in Chinese and added English subtitles. TongDou answers in English, so it feels less like a hardware demonstration and more like an argument with a tiny accountant living on my desk.

    The accounting is terrible, but at least the timing works.

  • Building TongDou’s brass skeleton

    solitary dev • 07/31/2026 at 05:36 • 0 comments

    Before TongDou had sensors, audio, or a personality, he started as two laser-cut brass side plates and eight 1 mm brass rods.

    This short video shows how the brass frame is aligned, soldered, and gradually turned into the skeleton that holds the PCB, motors, battery, radar, and OLED display.

    Seven rods are soldered first. The final rod is left out until the OLED is installed, because it passes between the OLED ribbon cable and its small PCB.

    It is a slightly awkward way to build a desktop robot, but the exposed brass structure is a large part of what gives TongDou his character.

  • V9 is alive: touch logo, onboard IMU, and public hardware tests

    solitary dev • 07/30/2026 at 08:52 • 0 comments

    TongDou has moved from the V8 prototype board to V9.

    TongDou V8 prototype PCB

    TongDou V9 prototype PCB 

    This is not just a layout cleanup. V9 adds two new ways for the little machine to understand its own body and interact with people:

    - a capacitive touch input built into the gold TongDou logo
    - a QMI8658A 6-axis accelerometer and gyroscope

    The logo is now more than decoration. A tap or hold can be used as a physical input without adding another mechanical button.

    The IMU is mounted directly on the PCB. TongDou uses two small geared motors without wheel encoders, so wheel alignment, friction, motor differences, and the surface under him can all affect how he moves. The IMU gives me a way to measure the motion of the body itself.

    The first goals are simple:

    - verify the actual sensor axes
    - measure turning and yaw drift
    - collect repeatable motion data
    - prepare for small real-time movement corrections

    The PCB is installed upside down inside the brass frame, so the IMU coordinate system is remapped in firmware.

    I also separated the hardware test firmware from the complete TongDou application firmware and published the test package on GitHub.

    The public firmware can test the display, RGB LED, microphone, speaker, power system, touch input, IMU, motors, battery, I2C devices, and LD2412 presence radar. It also starts its own Wi-Fi access point and provides a small browser-based diagnostic page.

    TongDou V9 browser-based hardware diagnostic page

    The radar diagnostics were tested on a real V9 board:

    - empty scene: 25/25 frames reported no target
    - hand wave: 25/25 frames reported a target
    - 23 frames correctly identified a moving target
    - nearest distance was about 60 cm, matching the test setup
    - bad serial frames: 0

    If the radar module is replaced or its mounting direction changes, the empty-scene background calibration should be run again.

    The public test package is here:

    https://github.com/solitary-dev-50/tongdou/tree/main/hardware_test_firmware

    This is hardware bring-up and diagnostic firmware, not the complete TongDou application firmware. The PCB source files, mechanical files, character behaviors, audio assets, and complete production firmware are still being prepared for a later phased release.

    For now, V9 is assembled, the new sensors are responding, the radar diagnostics are working, and the hardware test tools are public.

  • First wake-up prototype

    solitary dev • 07/20/2026 at 05:35 • 0 comments

    This is the first public TongDou prototype.

    The current build uses an ESP32-S3, brass frame, custom PCB, OLED eyes, audio output, LEDs, two geared wheels, sensors, and an AI-connected personality layer.

    The first demo scene synchronizes prerecorded voice, OLED expressions, lights, and wheel gestures to the same audio timeline.

    Next step: improving the “confused accountant” scene and documenting more of the hardware and firmware.

View all 7 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates