April 6, 2026
Description
The Otto Robot is a cute little robot, like a head hovering over the floor. But that's a bit grotesque, isn't it? So why not take the grotesque to the limit and make it look like something Hieronymus Bosch invented. I started with this XVI century image by a follower to Hieronymus Bosch:
I took the creepy creature in focus, the strange head with arms growing out from its temples, froggy legs from its cheeks and a strange tent on top of everything. I had Meshy do the basic transition from a 2D painting to a 3D model. I did heavy editing using the sculpting functions in Blender. After that I did the adaptation to the Otto Robot and added some functionality to the robot.
The sad thing was that marking this project with AI-assisted creation, I disqualified myself from the Otto robot design competition! I kick myself for not even trying to model the creature by hand. But then again, it was a fun learning experience to see how AI turns a 2D image into a 3D shape.
AI did just the initial 3D model, a head with the hands stretching the mouth wide open. I used the sculpting functions in Blender to reshape the whole head. The area around the eyes needed heavy redesigning to fit the ultrasonic. I added a pair of ears just to enable attaching microphones for sound direction detecting.
The rear part consists of a cube based on the middle and top module of the original modules I referd to. I flattened the inner side of the top model, because I have no led ring there. I added screw holes for the Arduino Nano shield, and an opening for the micro USB connector.
I enlargened later the USB connector hole and added another hole for the barrel contact. The downloadable file has those holes.
I added a 0.5 mm slit to allow the snapping part move more freely, when this part is attached to the bottom module.
The shape is very complex and could have benefitted from printing it in several parts. But I decided to print it in one part, which turned out very well, despite a mess of supporters. I rotated the head in the Slicer so that it would be flat on the hat like structure. I also added a colour change so that the print started with black PLA (up to 6.8 mm) and continued then with transparent PLA (from 7 mm).
Getting rid of organic supporters.
The bottom module has screw holes for a 4*AA battery holder:
The holder for the two IR sensors allows the sensors to be adjusted to the width of the line to be followed. I use TCRT5000L sensors.
The monster in the original picture has a strange tent on its head. So I made one, too. I wanted to put the RGB LED ring underneath it and light it up. Because the ring has 12 leds, I made the tent 12 sided.
An early version of the head. Some details added, some deleted. Also the area around the eyes need heavy reshaping for the ultrasonic sensor to fit.
The roof would be some dark material, but the 12 sided wall should be transparent to let the colour through. I added lamels to isolate the colours from each other, so each one of the 12 sides of the tent could have its own lit colour without much light bleeding from the next side.
The following images explain the structure.
I have a ring with RGBW leds.
I have lamels of white PLA, which isolates the light from each LED. The profile of the lamels are taken from the tent model.
I put in an extra surface to get better reflection and dissipation of the light. No need to let the light dissipate into the centre of the lamel structure. This part I printed without infill and without top layer! It made the structure hollow and I later drilled a small hole in the bottom layer and screwed it onto the head, when assembling everything.
The tent model is printed in transparent PLA with a single layer to let as much light through as possible. Enough shattering will anyhow happen to prevent us from seeing the inner structure of the tent.
I have no snapping details here. The white lamel structure is screwed onto the head, into the dodecagon, but the tent and the roof get just glued on. Use minimal drops of super glue, if you think you want to open the structure later.
I wanted an old fashioned cartwheel. So I made this model:
This is how it looks like in the Prusa slicer without the supports. It looks promising. As tires I will be using o-rings measuring some 60 mm in diametre and 3 mm tube diametre.
I don't trust a 3D printed caster ball case. The inner surface needs to be smooth and hard as metal for the ball to roll freely against. I will add three rollers to the design. Instead of the ball just skidding against the surface of the cup, the rollers take the whole weight. The rollers are tiny ball bearings, which will roll against the 10 mm steel ball. Here's the principle explained:
In the image, the structure is moving to the left. The ball rotates CCW. This causes rolling friction (purple vector). Together with the weight (blue vector), the combined force aims at one of the bearings. The ideal is of course that the direction matches perfectly with the placement of the bearing and the combined force vector points exactly to the bearing. In reality, the two other bearings will continue to share the load. But while the biggest load is on the bearing to the right, which will roll nicely, the two other bearings will both roll and skid.
Viewed from above, it looks like this:
When the direction is according to the dark blue arrow, the weight is on #2 bearing and the bearing rolls nicely against the ball. Bearings #1 and #3 will have less weight and they skid and roll. When the direction is according to the light blue vector, both #2 and #3 bearings take the weight. Both bearings skid and roll, while #1 bearing only roll. It will be hard steel against hard steel, with a drop of some lubricant. So, only 3 perfect directions (and speeds) will lead to a single bearing taking most of the load and only roll, not skid. Adding bearings might improve the overall rolling, but each added bearing adds one point of skidding, too. I will go with 3 bearings, because the load will be distributed equally. I don't trust that I'd get four bearings placed so that the load would be equal. It's the 3 leg stool vs. 4 leg stool problem.
This is my first attempt:
The screw holes are according to the bottom module I used and will be using as a part of my final design. The ball is assembled from the top before attaching the holder.
The 10 mm steel ball goes no further than to the 8 mm hole at the end.
Three ball bearings, measuring 5 * 2.5 mm, 2 mm hole, go to the slots in the holder body.
A steel axis secures each bearing in place. For that I use a bicycle wheel spoke, which measures 1.85 mm in diameter.
The bearings should not press the ball against the 8 mm opening. Instead there should be a vertical clearance of 0.1 - 0.2 mm.
Everything added up perfectly. I can feel some vertical clearance of the ball, which is enough for it to roll freely. At no point do I feel that the ball is touching the plastic parts. So, however the robot is turning, the caster ball should rotate, not skid against the floor. If it skids, that only means that the friction against the floor is even lower than the combined rolling and skidding against the three bearings.
If you think this caster ball construction is cool and want to do a similar caster ball, before you order your ball bearings, consider that this might be a bit overkill. It could be that simply having the ball touch some hard steel instead of 3D printed plastic might be enough to reduce the friction. I never tested that. I just went straight for this, because I happened to have some bearings.
Not all functions are implemented yet. This project is more about the design than completing the technical details.
This model works like the wheeled Otto robot. Two continuous servos rotate the cartwheels.
The led ring I used has 12 RGBW leds. The W component is a very bright white light, suitable for say lightning flashes. I don't have the 13th led in the middle of the ring. If I had, I could have made a light tube leading the light to the tip of the tent roof.
Two IR sensors at the bottom, meant for line detection. Having two of them means the robot can follow the middle of a black line. And it can detect crossings.
Basic feature of an Otto robot.
The head has a pair of very human ears. A cavity leads to the inner part of the head, where microphones can be attached. The idea is that the robot can detect the direction of sound sources. I used a microphone shield by Infineon, but the shield would have required I2S capabilities of the microcontroller, which the Arduino Nano has not. Instead I connect the microphones directly to the Nano and only read the pins directly as interrupt pins. It won't record actual sound, it will only work as a sound sensor, capable of measuring the time difference in the signals in both ears and hence the direction of the sound source.
Here's a Hackster project page explaining the principe.
The Neopixel ring is extremely powerful, which makes it impossible to get a good video. So I changed settings on the camera to get a glimpse of how the colourful lights look like for real.
License:
Creative Commons — Attribution — Noncommercial — Share Alike
8