As a friend of mine is struggeling to eat using chopsticks (even with one of these helpers) I decided to design and build a pair of fully automatic chopsticks for her.
Altough this a simple project, we'll start with a list of must-have features before designing the required parts:
Again, we'll keep the project cheap and simple by using an atmega328p with the Arduino bootloader, alowing us to use the Arduino IDE and the Arduino libraries to program the chip.
As most people are quite falimiliar with using a spoon, we will use an old spoon as a handle for our automatic chopsticks.
This is a present and as such should feel high quality. I think using metal chopsticks instead of cheap wooden ones will go a long way in making them look nice.
Ofcourse, the automatic chopsticks should open and close automatically once food is detected.
As we want the chopsticks to close automatically once food is detected we will use a distance sensor to detect the food. Using a VL53L0X should be straight forward with the adafruit arduino library. Furthermore the range of 0mm to 100mm is a perfect fit for our project.
We will use a small 9g servo to move the chopsticks. However, attaching the chopsticks directly to the motor is a bad idea. To see this consider the following situation:
In order for the chopsticks to grab different size items, we need the motor to fully close. This leads to the following problem, if a food item prevents the chopsticks from fully closing the motor stalls. If we disable the motor once it stalls the food will fall out. If we do not, the motor will overheat and die.
The solution to this problem is using a metal spring as illustrated in fig. 1. below. The motor always moves, and reaches the closed position. The motor is stronger than the spring. Thus, once something blocks the sticks from fully closing the spring is stretched, applying tention and holding the food in place.
I want this project to be simple, affordable and easy to assemble. Aditionally, as there is not much time left to assemble this present I want to use standard components I already have at hand. No exotic bearings or batteries.
As this is a handheld device we will have to use a small battery I am thinking about a 9V block battery. However, the microcontroller, the distance sensor, and the servo use 5V. We will have to add a DC-DC voltage regulator to step the 9V down to usable 5V using e.g. an MP1584EN. Please note that the MP1584EN has to be adjusted using a multimeter and the set screw on the MP1584EN before use.
Again, as there is not much time left I will use a piece af perf-board to assemble the electronics. However, it is also possible to order a custom PCB for around $5 online.
The schematic can be seen in fig. 2. and in the download section below.
In order to save space will not include an isp header on the board. Instead we will insert the microcontroller in a spare arduino uno board, programm it and install the programmed chip in the custom board.
You can download the code here.
I wnat to use an old spoon as a handle. I think it is best to cut off the spoon handle, drill a 3mm hole at the end and attach it to the 3d printed parts using an m3x6 screw.
To build your own automatic chopsticks you will need the following parts:
As some components cannot be puchased individualy online you can try to buy them at a local electronics reseller. However, as these are all commonly used parts you can also keep them for later projects.
Component | Quantity | Where to buy |
---|---|---|
3d printed parts set | × 1 | Printables.com |
atmega328p | × 1 | |
9V to 5V DCDC (MP1584EN) | × 1 | |
Distance sensor (VL53L0X) | × 1 | |
9V battery | × 1 | |
9V battery clip | × 1 | |
9g servo | × 1 | |
#CommissionsEarned |
Although not all parts can be purchased individually, we will only consider the cost of components used in this build. Leftover parts can be used in other projects.
Assembly is straightforward. Start by printing the provided parts. While they are printing, we can solder the PCB per the schematic available for download below. As this is a simple circuit, we can use a piece of perf-board or design a custom PCB. I opted for the perf-board due to time restraints.
Next, the DCDC (MP1584EN) is attached to the 9V battery using the battery clip to adjust the DCDC output voltage. To do so, connect a multimeter to the DCDC's output and turn the adjustment potentiometer (small screw) on the MP1584EN until the multimeter reads close to 5V. Once this is done, the battery, DCDC, servo, and PCB can be mounted to the 3d printed frame. Now, before attaching the servo arm to the servo, turn on the device and ensure the servo turns when the sensor is triggered.
As discussed above, we want to use a spring between the chopsticks and the servo. Use DIN 912 m3 screws to attach the two rotors to the 3d printed base. Take a small pull spring and attach it to the servo arm. Take two strings and tie them to the other end of the spring. With the servo in the "no food detected" position, attach the servo arm to the servo and connect the strings to the rotors.
Lastly, glue the four chopsticks mount to the rotors and use a spring from inside a pen to push the chopsticks open.
All in all, I am super excited about this project. The chopsticks work even better than I imagined.
The content published on this page (with exceptions) is published under the CC Attribution-NonCommercial 3.0 Unported License. You are free to share on commercial blogs/websites as long as you link to this page and do not sell material found on blog.hirnschall.net/* or products with said material.
1: As an Amazon Associate I earn from qualifying purchases.