Momo
Hardware- 6 Devlogs
- 32 Total hours
Momo is a voice controlled quadruped robot spider with an animated face and a conversational AI personality. 8 servos, custom CAD chassis, Raspberry Pi.
Momo is a voice controlled quadruped robot spider with an animated face and a conversational AI personality. 8 servos, custom CAD chassis, Raspberry Pi.
LOG 7: Cleaning up the wiring
Spent this one getting Momo assembled as far as I can without the Pi. Idea is that when the new one shows up I just plug everything in and go.
Reprinting in Black
Reprinted everything in black. Took a while since it’s a lot of parts, and I printed a few test pieces along the way to check fits before committing to the final versions.
The Wiring
This was the main job. Last log the wiring took up more space than the robot did, so I redid all of it properly.
Cut every wire to the actual length it needed instead of leaving slack everywhere. Heat shrink on everything, and made sure no bare wire was touching anything it shouldn’t. The switch I ordered for Momo came in too so that got wired in.
Spent a lot of time just taping things down and making sure nothing can work its way loose or pop out when the legs move.
Where It’s At
Came out way cleaner than I expected. It’s super compact now, the space ended up being pretty much the perfect size for everything once the wiring was done right.
Couple of days of mostly wiring and printing, but it looks a lot better than it did.
Just waiting on the Pi now.
LOG 6: I cooked the Pi
Bad news this time.
The 3AM Incident
Momo walks, but I hadn’t touched the mic or speaker at all yet. So I was up at 3am soldering the mic and the amp together, planning to get audio working and then move Momo into the full black assembly the next day. Was actually really excited for it.
Then a blob of solder flew off and landed on the Pi.
I saw it land, wiped it off quick and got it out, and just kept soldering. Figured I’d test everything once I was done. Finished up, plugged in just the Pi on its own to test audio, and nothing. No light. Dead.
That one hurt. The Pi was around $50 and now I’m waiting like 3 days for a replacement, right when I was ready to actually assemble everything.
Making Use of the Wait
Didn’t want to just sit around so I kept going on the parts I could.
Assembled the final legs. These are the ones actually going on Momo after all the prototyping and the CAD changes from testing. Good to have those done.
Also grabbed an ESP32 I had lying around and used it to test the mic and the speaker. Took me a while to figure out since I’ve never really done audio stuff before, but I got there and it was a solid learning experience. At least now I know the audio parts themselves work.
What’s Next
Once the new Pi shows up I’m assembling everything into the main body. Screen, servos, PCA9685, all of it mounted properly.
The other thing I have to sort out is wiring. Right now the wiring takes up more space than Momo does, which is not great. It looks bigger and messier than the actual robot. So I need to lock in and figure out proper cable management before final assembly.
Plan is to clean Momo up as much as I can so he’s ready to wire the moment the parts land.
RIP Pi. -$100.
LOG 4 - Momo Walks
Momo walks now. Not well, but it walks.
Getting the Gait Working
This one took way more thinking than I expected. Figuring out how Momo should actually move was the hard part, not writing the code. With only 2 servos per leg you can’t do a proper trot right now well lowkey thats a later problem, so it has to be a static crawl for now just to test. One leg moves at a time while three stay planted. Sounds simple until you’re trying to work out the timing and the angles for each joint at each stage of a step.
Went through a lot of iterations on the code before anything resembled walking.
Printing and Testing Legs
Printed a bunch of different leg designs. Different lengths, different shapes, different joint positions. Had to keep testing to make sure the legs actually lined up right, because if the geometry is even a bit off the feet don’t land where the code thinks they should and the whole thing drags itself sideways.
A lot of print, test, adjust, print again.
Where It’s At right now
It walks but it makes a lot of errors. Drifts off, doesn’t go perfectly straight, some steps land wrong. But it moves on its own and that’s the milestone I was going for.
Nothing is properly assembled yet either. As you can see in the video and pictures, the components are just sitting in there for now. The whole focus this round was on getting the base structure right and proving the movement works before I commit to printing the final parts.
I’ve got a decent idea of what needs to change now, both on the code side and the CAD side.
Slow progress but good progress. Next up is cleaning up the gait and starting on the final build (Hopefully)
LOG 4: Trying to get Momo to move
Not walking yet. Kind of moving, but not really.
First Attempts
Spent this one just trying to get the legs doing something coordinated. Wrote the first version of the movement code and it was rough. Legs firing in the wrong order feet lifting when they should be planted, the whole thing basically flailing in place instead of going anywhere.
Realised pretty fast that with only 2 servos per leg I can’t do a proper trot, so it has to be a static crawl. One leg moves at a time while three stay planted. Sounds simple until you’re actually working out the timing and the angles for each joint at each stage of a step.
Went through a lot of iterations and none of them really worked yet.
Printing and Testing Legs
Printed a bunch of different leg designs. Different lengths, different shapes, different joint positions. Kept testing to see which geometry would even let the feet land where the code expects them to, because if it’s off the whole thing just drags itself sideways instead of stepping.
A lot of print, test, adjust, print again.
Where It’s At
It moves but it doesn’t walk. Legs go through the motions and the body barely goes anywhere. Still figuring out the timing.
Nothing is assembled properly either, components are just sitting in there loose for now while I work this out.
Next log is hopefully actual walking.
Log 2
Parts finally showed up.
Spent most of this one wiring. First time using a Raspberry Pi Zero so it took me way longer than it should have. Counting header pins with no labels
on the board is its own kind of pain. Had to keep going back to a pinout diagram to make sure I wasn’t about to put 5V somewhere it shouldn’t go ( i did two times loll).
Got the PCA9685 hooked up to the Pi, sorted out the power side with two separate regulators, one for the servos and one for the Pi so the servos
can’t brown it out mid step.
Also messed around with the software side. Getting the Pi connected to WiFi was more annoying than expected, ended up fighting that for a bit. Once it was on the network I could SSH in and start installing everything I need.
Did some more tolerance testing with the legs too. Printed a couple of test pieces to check the servo pockets and joint fits before committing to printing the whole thing. Came out pretty good, everything sits where it
should.
So this one was mostly wiring and Pi setup, with a bit of CAD and assembly mixed in. Not the most exciting to look at but it’s the stuff that has to work before anything else does.
Log 1
Meet Momo.
Momo is a small four legged robot spider. 8 servos, two per leg, one to swing, the leg and one to lift it. It’s got a screen for a face that changes
expression, a mic, and a speaker. The idea is you talk to it and it talks back, and it actually knows it’s a spider. Ask it to walk forward and it walks forward. Say something dumb and it makes a confused face.
I spent a few days just researching before touching anything. Went back and forth on the board a lot, ESP32 vs Pi, and how to actually power 8 servos
without browning everything out. Worked out the parts list, orderedeverything, and then gaps where i was just waiting onshipping.
So I figured I’d CAD a rough version. Just to get a sense of proportions andwhere things would sit.
That was the plan anyway. I got way too into it and ended up modelling the whole actual thing. Not a mockup but the real one. Spent days on it though. Kept redoing where the legs mount and where the second joint sits because the first few versions either had no range of motion or put the feet way too far out from the body.
Parts showed up eventually and I tested the fit with some servos I already had ( the press fit was so good that it stripped the servo wire😭). Checked tolerances, made sure the servo pockets weren’t too tight, horns cleared properly, that kind of thing.
Came out way better than I expected honestly. This was mostly a CAD week and I’m glad it was.
Next up is wiring and getting the first servo to move set up the pi and rest of the componenets.