I still don't have a nice solution for the hands, but I'm leaving that for later. Today I decided to work on the eye.
As I probably mentioned before, I plan to put a distance sensor inside that rotating eye. That means I need a distance sensor that is small enough. Fortunately, I have bought several of those time-of-flight sensors that were described on Hackaday some time ago, so I decided to use those. Some time ago I made breakout boards for them, so it was time to actually cut them out and try the thing.
Turns out that soldering QFN packages with a soldering iron, and with the pads not sticking out even a tiny bit, is practically impossible. But I remembered that in the FabLab nearby they had a hot air gun. That should do it nicely.
A quick test with Arduino Nano and Sparkfun's library demo confirmed that I indeed have a properly soldered sensor in there. By the way, why didn't I just buy one of the breakout boards from Sparkfun, or cheaper, Aliexpress? Because they are huge! I made my board square, put the sensor right in the middle, and put all the discrete components on the other side, to minimize space used.
This way I can fit that sensor in tight places, such as the eye of this robot. A little bit of hot glue, some dremeling to make a hole, et voila:
Now, I had to make that hole, and I had to make it bigger than I wanted. Initially I planned to only make a tiny hole or two for the lenses of the sensor (it's infra-red, so that transparent acrylic is more like a mirror to it, than transparent), but turns out that it gave wrong readings until I enlarged the hole to this size. Oh well.
Next, I cut out the "ears" from a servo, and glued that inside the ball (the rubber band just holds it in place until the glue catches).
Then just install it in place.
I might add the second half of the ball (with a hole for the servo cut out in it), to increase the angle at which the eye can rotate, but for now I'm pretty happy with the result. It could be better, but it could also be a lot worse.