What if a small robot didn’t need to run AI at all?
Modern PCs can already handle AI, speech generation, and network services far better than a tiny embedded device. So instead of trying to squeeze the intelligence into the robot, I took the opposite approach.
Let the PC be the brain. Let KariPom be the body.
The PC generates the voice, while KariPom listens to that audio and turns it into lip-sync, facial expressions, movement, lighting, and visual effects.
This separation makes KariPom surprisingly flexible. It doesn’t need to know which AI is speaking. It can work with different AI services, text-to-speech systems, or even ordinary audio without being tied to a specific AI API.
What is KariPom?KariPom is a small desktop animatronics robot built around the M5Stack CoreS3.
Its job is not to be the AI itself, but to give a physical presence to a voice coming from a PC.
A two-axis servo mechanism gives it head movement, while the CoreS3 display provides an expressive face. Audio drives real-time lip-sync and visualizers, and KariPom also includes multiple lighting effects, autonomous behaviors, joystick control, and browser-based controls.
The body was designed as a set of 3D-printable parts, turning the CoreS3 from a development board into a small character that can live on a desk.
KariPom separates intelligence from physical expression.
AI and text-to-speech can run on the PC, where processing power and network access are readily available. The resulting audio is then used by KariPom as the source for its physical reactions.
Instead of requiring lip-sync data from a specific AI API, KariPom reacts to the audio itself. This allows the mouth animation and visual effects to follow whatever voice or sound is being played.
This also means the AI can be changed without redesigning the robot. Chat systems, voice models, and text-to-speech software can evolve on the PC side, while KariPom remains the physical interface.
In practice, the system is divided into two simple roles:
PC: AI, text-to-speech, and audio generationKariPom: lip-sync, facial expression, movement, lighting, and visual feedback
The result is a lightweight architecture that uses the strengths of both sides instead of forcing a small embedded device to do everything.
FeaturesOnce the AI processing was left to the PC, the CoreS3 could concentrate on making KariPom feel alive.
KariPom has grown into more than a simple lip-sync display. Its current features include:
- Real-time lip-sync (BBX) driven by audio
- Expressive face modes, including KariPom, Miss KariPom, and a Face Gallery
- Two-axis head movement using two servos
- Eight audio visualizers that react to sound
- 24 lighting effects
- Joystick control for direct interaction
- Browser-based control through KariPom Lab
- Autonomous monologue behavior
- Sleep and wake behavior for a more persistent desktop presence
- microSD support for faces, sounds, and logs
None of these features requires KariPom to run the AI model itself. The embedded hardware can spend its resources on interaction, animation, and physical expression instead.
KariPom Ear — Listening Without the PCThe same idea eventually led to an optional hardware extension called KariPom Ear.
KariPom Ear uses a PCM1808 audio ADC and a Raspberry Pi Pico 2 H to capture an external audio signal and feed audio information to KariPom.
This allows KariPom’s audio-reactive behavior to work without depending on the PC companion software for audio analysis.
In other words, KariPom still doesn’t need to understand where the voice came from. It only needs to hear it.
That makes the original concept even more general: the source can be an AI voice, text-to-speech, music, or other audio. KariPom remains focused on turning sound into physical expression.
Build It Yourself
KariPom is shared for makers who want to build, modify, and explore the system for non-commercial use.
The GitHub repository contains the CoreS3 firmware, PC companion software, 3D-printable parts, microSD data, documentation, and the optional KariPom Ear hardware design.
Full build details and source files are available on GitHub.


_h859YXzMfs.jpg?auto=compress%2Cformat&w=48&h=48&fit=fill&bg=ffffff)






Comments