The version 3 PCB has arrived, and populating it wasn't too bad. I didn't even use the hot air gun to solder the QFN chip — just drag-soldering it on all sides did the trick.
Along with the new PCB I also received the parts for the new design of the legs. They are pretty much the same as the old, but use a little bit less space. And I got them made in yellow acrylic, to match the PCB. I also managed to find some orange servos, and I dug out some yellow pin headers:
I'm wondering if I should remove those white servo horns and spray-paint them black, to complete the look.
Tomorrow I'm going to cut the servo cables and connect them to the board.
The previous two versions of this projects were kinda done on the side of #Kubik M0 to see if this approach even makes any sense. I finally decided to go for it, so here is a version three, with a new PCB:
and an improved design of the legs (to make them use less acrylic, so you can fit more of them on a sheet):
The PCB now includes, apart from the previous microcontroller, battery protection, battery charging and battery holder, also a tiny buzzer and a place to install an IR sensor — this way I can report the status of the robot with beeps, and control it with a TV remote.
Any further sensors and other hardware can be added as FeatherWing shields to the front of the robot.
While the #Tote robot was close to what I wanted to achieve back then, it had two major problems. First, the servos, even though relatively cheap individually, contribute to the total cost of the project considerably, because you need at least a dozen of them. Second, Arduino, while popular, is not the best coding environment for experimenting.
I have long worked on making a version of Tote that could be programmed with Python — starting with #Tote HaD, that had an additional ESP8266 on board, through #Tote Zero that had a whole single-board computer, to the most recent #Kubik M0, running CircuitPython. Unfortunately, with the last I ran into a problem with not enough PWM outputs available on the chip I choose.
I have also experimented with robots that require fewer servos, but can still walk properly, without relying on the surface of the floor having the right friction. It started with #Katka, a mammalian robot, #µKatka and #Pony Bot, and more recently some experiments with the #Kubik M0. Turns out that it is possible to make a robot with only eight servos that still has an insect-like configuration of the legs. It can walk properly, keeping its feet firm on the ground, as long as it doesn't have to turn — because it can't move its legs sideways. But even for turning is not impossible, with some cheating.
So this is how I came up with Fluffbug — a bug-like robot with Feather-compatible (or #Fluff M0-compatible) shields. The tiny SAMD21 microcontroller has just enough PWM outputs to control the eight servos, and the small PCB works nicely as the body of the robot, with enough room for a 16340 battery, and s FeatherWing on the front.
The initial tests are promising, and I already have the basic code with inverse kinematics written in CircuitPython. The next prototype is going to have a little bit more useful components on the PCB, and an improved designs for the laser-cut legs.