Robodrome

A silver robot with bulbous eyes, a plasma ball for a  cranium, and a metal bow-tie. Underneath it is a black box with a button and small receipt printer.

Fortune Telling Robot

Created: 2023-12-23

Operation

As printed on the case:

Thinko
The Amazing Electronic Brain

A - Tells Your Fortune

  1. Press and release the button
  2. Thinko ponders your future
  3. Your fortune is dispensed on paper

B - Answers a Question

  1. Hold the button
  2. Ask a YES or NO question
  3. Release the button
  4. Thinko speaks the answer*

*The answer is also printed on paper

Video of a fortune being told (mp4)

The Head

Construction began by making a head to fit around the plasma ball. A rubber insert from the original plasma ball enclosure fits into the 3D-printed head, and grips the glass globe.

The head is held up by two metal rods salvaged from an old 3D printer, which form the spine of the finished robot. For development, they were just held on to a 2x4 with a 3D printed mount.

Initially, the jaw was bolted on, but the bolts wouldn't stay screwed in. So I switched to a version with dimples that snap in.

The Neck

Technically, it's the top of the torso. It's a plate that holds the plasma ball circuit, and it needed to line up precisely so that the wire sticks up into the globe. At this point, I had most of the electronics wired up on a breadboard for testing.

Power

The first permanent circuit board was the power supply. The printer requires 9 volts for the darkest printing. I started this board to test the printer by converting a barrel jack to the connector the printer uses. The barrel jack is for plugging in a generic 9 volt adapter.

The rest of the electronics, including the plasma ball, require 5 volts. So I added a buck-converter to step down the voltage. A socket for a crimp connector provides the 5 volts to the other circuits. Another connector allows a power switch to plug in. I replaced the switch shown here with a different one later.

Main Circuit

A breadboard with two small circuit boards plugged into it, and a mess of jumper wires connecting different points.

Pictured here on a breadboard before I moved it to a permanent board. Power comes in from the power supply board, then gets sent back out to the plasma ball (top wires). An Adafruit Itsy Bitsy 2040 (the larger pcb on the right) controls everything. An i2s amplifier (the smaller pcb on the left) converts signals from the 2040 and connects to the speaker to provide the voice. Other connections go to the servos, and later the button.

The Body

A robot made mainly of mismatched green, yellow, and white plastic. The lower torso has a tarnsihsed silver finish. The robot sits on a piece of wood.

Two ring-shaped sections and a bottom that mirrors the "neck" plate. The top ring has the servo mount for the right arm, and screw holes for the left arm and the bow-tie. The lower ring has no function except to fill space. So I used it to test materials and paint for the final finish. The bottom plate holds the servo that moves the jaw. A wire connects it through the body up to the jaw.

Originally, I had 3D printed parts connect directly to the servos, but they kept coming loose. So I switched to thinner wire for the jaw that would fit a stock servo horn, and modified the right arm to clamp onto a servo horn.

The Base

A wide, shallow, black platic box with an open top. A button labeled 'Hold for Question' is on the front, next to a receipt printer. A speaker and switch are attached to the back. Circuit boards and wires are visible inside.

The clear plastic case I bought came with a solid base plate, so I decided to build the electronics box around it. At first I struggled with the design of this part. The base plate is slightly larger than my printer can do in one piece, and even doing it in halves is prone to warping. I considered buying another case just to use the base plate as the bottom of the box, only fabricating sides. I also though of just getting an existing box and bolting the plate to the top of it.

Eventually, I gave 3D printing another try. I used glue to keep the prints from lifting off the bed. Each side prints with half of the bottom, and they snap together with a dovetail joint. The front and back print separately as flat plates with cutouts.

The cutting edge of the printer was very unreliable, at least with the paper I tested with. After the robot was otherwise physically finished, I modified the front panel to add bolt holes for a separate cutter. Two empty rolls of packing tape provided the cutting edge.

I originally started out with two buttons, but when I wrote the directions sticker, I realized one button would be more elegant. So I removed the second button to make space for the cutter. The button label was a hold over from that two-button version. I kept it to re-enforce the less intuitive operation of the question function. However, after demonstrating the robot, I discovered that people would read the button and not read the directions. They would not realize that there was a fortune-telling function. So I removed the button label.

© 2024 Kyle Delaney | Site Map