Afterthought Cake Robot

Most robots are designed with a particular purpose in mind, such as following a line, driving forward and backward between barriers, or pushing an opponent out of the ring. However, occasionally, a robot’s purpose is simply to exist; assembled from leftover or interesting parts. This is the case with Afterthought Cake.

Afterthought Cake robot

Rear view of Afterthought Cake robot

Afterthought Cake is a tripod robot, consisting of two motorized 70 mm diameter Lego wheels (32057 / 32076) and a 30 mm diameter free-rotating Lego wheel (4185 / 70162). The free rotating wheel (hiding underneath the pushbutton board) keeps the robot from tipping over and also includes an encoder to judge the distance that the robot has travelled.

Front stabilizer made of green wire to permit reverse without tipping over

Front stabilizer made of green wire to permit reverse without tipping over

Due to the high center of gravity and large wheels, the robot can tip over if reverse is kicked in aggressively (rather than a gentle ramp up). For that reason, a thick solid 18 AWG green wire rests slightly above the ground in the front of the robot in order to stabilize it briefly during sudden changes in direction.

Afterthought Cake robot front, side, and rear view

Afterthought Cake robot front, side, and rear view

Two rectangular prism Escap motors drive the outer wheels. Placing the motors in an almost vertical position directly over the wheels provides excellent traction. The center of gravity in the middle of the robot avoids steering and slippage issues. Always remember to place your maximum weight over the drive wheels!

A custom-machined aluminum block holds the encoder wheel. A prototyping breadboard holds a single pushbutton at the back. Three printed circuit boards connected as a cube are held by another solid 18 AWG green wire. Unlike my other robots, it is difficult to define exactly where the “body” is on this robot.

The brain circuitry is very simple.

Afterthought robot motherboard with ATtiny861 microcontroller

Afterthought robot motherboard with ATtiny861 microcontroller

As always, several capacitors (the yellow and blue objects) keep the power supply steady and relatively noise free.

The robot is programmed in C for an Atmel AVR ATtiny861. This microcontroller is contained in a hobbyist-friendly 20-pin DIP. However, it only has 8 KB of program storage.

Regrettably, I ran out of pins -- primarily due to so many being consumed for the motor drivers and color LED. Thus, this robot has no environmental sensors, such as contact whiskers, line-following sensors, or obstacle detectors.


Here is a video demonstrating the robot and several of its details:

What’s In a Name?

Afterthought Cake is named for a sad but true story.

A number of years ago, I was a mid-level manager at a large dying corporation. As per usual, the local members of my organization gathered in a large conference room for the division meetings. Towards the end of the meeting, the vice-president thanked everyone for their hard work, and in appreciation announced that there was cake for everyone.

We looked around and outside of the room. There was no cake at our facility. With the conference line still open, we could literally hear the teams at each location getting in the food line and praising each bite. My team looked depressed and disheartened as they slowly made their way back to their gray cubicles.

The next morning, I picked up several large cakes at the grocery store and brought them into the office. My long-time colleague, Mike Klein, had come by my desk early in the morning and spotted me unwrapping the treats. He took one look and said “What’s this? Afterthought cake?”

It was one of the most poetic descriptions of corporate life that I’d ever heard. And for that, I immortalize it in the name of a robot that consists of bits and parts that didn’t fit in other robots.