Kawaii Useless Robot - 2024 Edition
by tobychui in Circuits > Robots
11568 Views, 89 Favorites, 0 Comments
Kawaii Useless Robot - 2024 Edition
Recently, I got a bit time after I have completed my master thesis oral defense, so I take a time to build one of the robot that I wanted to build for a long time - A Kawaii Useless Robot
What is a Useless Robot?
Most of you should have heard of the "Useless box" mechanism. In simple words, it is a motor connected to a switch with some logic gates, when you push the switch to the "ON" position, the robot will start the motor and with the help of a cleverly designed lever and pusher arm, push the switch back to the "OFF" position.
This is a really common toy that many people have already made one and put them on Youtube. It is not considered a really difficult project and it can be easily done by a high school student.
What happens if I make myself a Useless Robot?
Each year, I challenge myself making a tech product using the tech and skills I learnt that year. This year, I also want to take this chance to create one of my most complex project of the year. That is why I challenge myself to build a Kawaii Useless Robot referencing the design from a Japanese Maker named Kairoshi. He made the world first Kawaii Useless Robot 12 years ago that features a cute emoji display based on LED matrix modules with internal stepper motors that allow the robot to move and spin, producing cute reactions to user inputs.
In this instructable, I will describe how I build this robot from scratch. Lets get started!
Supplies
To build this robot, you will a tons of different materials and parts. I will not go into details in this list so if you want to build one yourself, feel free to check the BOM list in the Github repo.
The primary parts required are
- 3D printed case with PLA (blac)
- Laser cutted semi-transparent black acrylic (2mm)
- Laser cutted black acrylic (2mm)
- 38mm rubber sealing ring (5mm thickness, for wheels)
- 5V 5 wires stepper motor x 2
- 9g metal gear servo motor x 2
- 3 PCBs with reflowed parts
- (The most expensive parts are)
- MAX7219 x 8
- 1.95mm LED matrix module x 8
- ESP32E
- IP5306 with surrounding inductors (pick the solid core one which can handle more current with smaller footprint)
- 2 x 1000mAh 3.7V LiPo
- A two way switch
- M2 x 5, M2 x 10, M3 x 5, M4 x 3 screws
An important notes
The material cost of this robot is really expensive, like a brand new laptop kind of expensive. Besides, if you do not have experience in reflowing and soldering at home, the overall building cost might be even higher as PCBA process will be involved with MOQ of 5 - 10 pcs. So before you start, make sure you have the budget and skills required for this build.
Sending All PCBs to Print
This project requires PCBs as this circuits are too complex for wiring with UEW. There are a total of 3 PCBs required for this build. Two of them are designed to be stacked on top of each other and the other one is the main controller that require double side soldering / reflow.
From the front to the back side are the
- LED matrix display module with driver ICs
- Stepper motor driver ICs with shift register, and FFC connectors for MCU connection
- MCU board, which contains the battery charging and boosting to 5V, USB to UART programming interface (via type C) and the main MCU (ESP32E) with SD card (eMMC) as external storage.
All 3 PCBs are printed using 1mm FR4 to save space.
Soldering and Assembling the Display Module
Let start with the display module. The display module consists of 8 MAX7219 driver IC and 8 LED dot matrix display. The circuit of this module is identical to those commonly available LED dot matrix modules with 8 units in series.
However, as we are using the 1.95mm LED matrix module here, the relative size of the LED matrix is much smaller than those in the 3mm modules. That is why it is recommended that if you want to hand solder this, make sure you solder it module by module instead of face by face. Which means, you would want to solder one driver IC, then one LED dot matrix module, test it with some code on your MCU and if it works, solder the next set. This helps make sure there are no shots or issue with the soldering, as the IC and the pins of the matrix module is so close, after you soldered the 2nd row of the module, it is pretty much impossible to fix the soldering issue on the first row.
Glue Nuts Onto the Back of the Driver Board and Install Switch
Before soldering the board,you can take the chance to glue 3 x M2 nuts on the back of the driver board. This will help with the assembly process later on. After the screws are attached and glues are dried up, you can now install the switch. The switch is held in place with 2 x M2 x 5mm srews on both side of the 3D printed mount as shown in the last photo.
Solder the Driver Board and Build the Front Assembly
Next, you can start soldering the driver board. The driver board contains the stepper motor driver and a shift register. The shift register will control the signal to the stepper motor driver and allow the MCU to control both stepper motors with just 3 pins. Following that, you might want to put a few Kapton tape and trim away any extruded pins for the next step.
This board is single sided, but you will need to solder it on top of the display module by removing all pins from the LED matrix module on the display PCB and only keeping the 4 pins at the corners. The 4 pins at the corners are required structurally to hold the driver board in place.
After the 4 corner pins are soldered, now you can use a few short wires to bridge the two boards together. The two boards shd be pin-to-pin compatible to the display PCB input and the input of the display PCB will be routed to the FFC connector on the bottom of the driver PCB. That way, both boards can be controlled from the MCU with a pairs of 1mm x 8 pins FFC cables.
Reflow and Solder the MCU Board
This is the most complex part in this build, and you will need to populate the whole MCU board manually.
First, the ESP32 contains bottom pads which must require reflowing to solder it. So what I did is I first reflow the ESP32 onto the PCB using my DIY automatic reflow hotplate.
Following that, the IP5306 also requires a bottom pad to be connected as it is in ESOP8 package. So during the reflow process, you can also place one of it onto the PCB and reflow it in one go. Or as my reflow hotplate is just 4 x 4cm in space, I decided with two cycles, where the 2nd thermal cycles solder the IP5306.
After both are soldered, now you can manually populate the rest of the board with soldering iron and other components. This whole process takes me around 3 hours.
Functional Test
After all the PCB are competed, you can do a functional testing by connecting the servos and stepper motors to the driver board and connect the driver board to the MCU board. Then, you can flash the testing firmwares into the MCU using the type C port on the top side of the MCU PCB (not the charging type C port at the back) with the SD card slow empty. If everything is working, you should be able to see the default emoji shows up on the matrix display.
3D Printing Robot Body
The 3D printing body consists of a lot of pieces but you can start by installing the stepper motors and servos into positions. After the servo is screwed in, you will find a L shaped pieces that is use for mounting the vertical switch pushing servo. Screw the L shape parts into the robot body with 3 x M2 x 5 screws.
Next, you can start installing the PCBs to the robot body. I usually start with plugging the stepper motor connector to the front module (the display and driver board) then following by installing the module to the body. The screw holes can be reached from the back side of the robot through the indented part of the wheel compartment.
Finally, you can tidy up the wiring within the body, install the battery (if any) and screw the MCU PCB as the back cover. After everything is done, you should have something similar to the 2nd photo.
Laser Cutting the Case
The case is made with black non-transparent 2mm thick acrylic, except the front-plate in which semi-transparent black acrylic was used. You can glue them together with 302 super glue or anything that works. Just to make sure that you remove the protection paper film after all glue dries to prevent any residue stuck on the arcylic surface.
I tried to use transparent and milky white acrylic as well, but it seems semi-transparent black acrylic gives the best results amount all colors.
Firmware Flashing
Lastly, you can flash the firmware of this cute useless robot with Arduino IDE. Pick ESP32 Dev board in the board manager and upload it with Arduino IDE. More settings details are document in the top section of the firmware code.
The source code is available on my Git repo under the "Firmware" folder. See https://github.com/tobychui/Kawaii-Useless-Robot for more details.
Your Kawaii Useless Robot Is Completed!
Now your useless robot is completed! You can use wifi to control it or let it run in automatic mode with different random emotions and response as you continue to play with it. Hope you enjoy this project and see you in the next post!
Github repo link
https://github.com/tobychui/Kawaii-Useless-Robot
Checkout more of my projects