New here? Start with Part 1: This Skull Watches You, and There’s No Camera Inside, where I built the glowing, mood-reading eyes.
Last time, I left you with two questions. How does the skull move like something alive? And how does an empty plastic skull, with no camera inside, know where you are?
Let’s answer both.
Robots move like robots because nobody tells them otherwise
The skull turns and tilts on two MG995 servos mounted on a cheap pan-tilt bracket. Driving a servo from a Pico is easy: give it a PWM signal and it moves to an angle. I used da-luce’s pico-servo library, which saves a lot of duty-cycle maths.

The trouble is how the servo gets there. It accelerates as hard as it can, runs flat out, then stops dead. That gives you the jerky, robotic motion of almost every hobby robot. Slowing it down just gives you slow, jerky, robotic motion. No one has ever been creeped out by that.
(A quick wiring tip: give the servos their own 5 to 6 V supply and share the ground with the Pico. Power them from the Pico’s supply and it will brown out every time the head moves.)

The fix: servo easing
Easing shapes how a move speeds up and slows down. I gave the skull two personalities with two curves:
- Sine in-out. It eases into the move and eases out of it. It looks natural, almost human. The skull uses it when it wakes up, falls asleep, or turns to look at someone standing still.
- Exponential in. It accelerates harder and harder, then stops abruptly. That is the predator strike, and the skull uses it when it is hunting a moving target.
Watching the two side by side is quite something. Same servo, same angle, completely different creature. This is the part of the build I learned most from, and I will be using it in every animatronic I build from here on.
Video Part 2, Skull Follows You! Predator Pan-Tilt Servos on Pico, is public today: youtu.be/CAlueToE5f8
The secret inside the skull: radar

There is no camera. There is a Keywave Technology KW307 24 GHz radar module.
Radar goes straight through the plastic case, so nothing on the outside gives it away. The KW307 detects people whether they are moving or standing still, and for each one it reports the distance and the angle. It tracks up to three people at once across a 120 degree field of view, and it talks to the RP2040 over a simple UART connection.

That is what makes the eyes work: distance drives the iris colour, and the number of people detected sets how many iris LEDs are lit.
Giving it a brain
Knowing where people are is only half the job. The skull still has to decide what to do. That is where the behaviour comes from, and it comes down to three design decisions:
- Listen in the background. Radar data arrives by interrupt, not polling, so the main loop stays free to run the servos and eyes smoothly.
- Never act inside the interrupt. The callback stores the data and gets out. The worst thing you can do is move a servo from inside an interrupt, and I explain why in the video.
- A state machine decides. The skull is always asleep, watching or hunting. It checks how fresh its radar data is and how far its target has moved, then picks its next move and its easing curve to match. Stand still for thirty seconds and it gets bored and goes back to sleep.

The result is surprisingly convincing. It follows me round the room, strikes when I move quickly, and dozes off when I ignore it.
Video Part 3, Halloween Skull Follows You! No Camera, Just Radar, walks through the interrupt driver, the state engine code, and a live tracking demo. It goes public on 15 October, but channel members can watch it now: youtu.be/7AfyBuzReOk.
Two lessons from the case (so you don’t repeat them)
- A simple L bracket will not hold an MG995. Mine snapped almost immediately. The redesigned bracket is much stiffer.
- Don’t heat neodymium magnets. I pushed the case magnets in with heat, not knowing they permanently lose their magnetism above about 80 °C. I had to redesign the case, and buy new magnets.
The Blender model for the case, the full parts list and all the C++ code are on GitHub: github.com/DrJonEA/SkullHead2026.
Why this skull is just the beginning
This skull is a test bed. Smooth, natural motion and state-driven behaviour are the foundations of animatronics, and I am already building on them:
- For Christmas: a snowman that watches people move round the room, and waves at them.
- After that: a sloth glove puppet that sits on my shoulder and reacts to the room.
Members will see those first too.
Don’t wait for the schedule
My channel members see every video the day I upload it. Right now that includes Part 3 of the skull, plus these upcoming videos that stay members-only until they go public:
- ThingsBoard HTTP vs MQTT: which is better for low power?
- I got the Pico 2 W down to 3.5 mA, then the SDK broke it
- EMQX + HAProxy + Ansible: the IoT stack behind my Pico W display
- I built an LED badge in 2 hours on an RP2350 matrix
There are two tiers, Tinkerer and Technologist, and both get the early access. Technologist members get more chances to talk with me directly. Every membership also helps get the droids to Open Sauce in San Francisco.
Become a member, and if you build your own skull, tell me in the comments what it does when it wakes up.
Some links (Waveshare, Keywave) are affiliate links. They cost you nothing extra and help keep the channel running. Nothing in this build was sponsored.
