After ordering replacement controller PCBs designed by [Adam] (assembled by your PCBA service of choice), you disassemble the servo, carefully setting the gearbox aside for now. Gutting the stock control board is the obvious next step, but from there, you don’t just drop the new PCB in – there’s more to getting a perfect servo than this, you have to add extra sensing, too. First, you have to print a spacer and a cover for the control board, as well as a new base for the motor. You also have to print (or perhaps, laser-cut) two flat encoder disks, one black and one white, the white one being eccentric. It only escalates from here!
[Zhihui Jun] is a name you’re going to want to remember because this Chinese maker has created quite probably one of the most complete open-source robot arms (video in Chinese with subtitles, embedded below) we’ve ever seen. This project has to be seen to be believed. Every aspect of the design from concept, mechanical CAD, electronics design and software covering embedded, 3D GUI, and so on, is the work of one maker, in just their spare time! Sound like we’re talking it up too much? Just watch the video and try to keep up!
After an initial review of toy robots versus more industrial units, it was quickly decided that servos weren’t going to cut it – too little torque and lacking in precision. BLDC motors offer great precision and torque when paired with a good controller, but they are tricky to make small enough, so an off-the-shelf compact harmonic drive was selected and paired with a stepper motor to get the required performance. This was multiplied by six and dropped into some slick CNC machined aluminum parts to complete the mechanics. A custom closed-loop stepper controller mounts directly to the rear of each motor. That’s really nice too.
Control electronics are based around the STM32 using an ESP32 for Wi-Fi connectivity, but the pace of the video is so fast it’s hard to keep up with how much of the design operates. There is a brief mention that the controller runs the LiteOS kernel for Harmony OS, but no details we can find. The project GitHub has many of the gory details to pore over perhaps a bit light in places but the promise is made to expand that. For remote control, there’s a BLE-connected teaching device (called ‘Peak’) with a touch screen, again details pending. Oh, did we mention there’s a force-feedback (a PS5 Adaptive Trigger had to die for the cause) remote control unit that uses binocular cameras to track motion, with an AHRS setup giving orientation and that all this is powered by a Huawei Atlas edge AI processing system? This was greatly glossed over in the video like it was just some side-note not worth talking about. We hope details of that get made public soon!
The dedicated GUI, written in what looks like Unity, allows robot programming and motion planning, but since those harmonic drives are back-drivable, the robot can be moved by hand and record movements for replaying later. Some work with AR has been started, but that looks like early in the process, the features just keep on coming!
Quite frankly there is so much happening that it’s hard to summarise here and do the project any sort of justice, so to that end we suggest popping over to YT and taking a look for yourselves.
My Singing Monsters is one of those mobile titles that has users play simple games to earn coins and gems in the usual way. [Anykey] found that his son was a fan of the game, but that sometimes it felt a little rigged. Thus, rather than waste time playing themselves, he set up a robot to do the job for them. (Super-boring video, embedded below.)
The player must complete a basic but time-consuming memory game. Upon winning, the player gets to choose a prize from 17 mystery cards. The top prize of 1,000 diamonds always seemed to be hidden under another card, leading to the aforementioned frustration.
In order to test if the game was rigged, [Anykey] set up a uArm Swift Pro to play the game, with the robot arm moving a small stylus over the iPad playing the game. The iPad’s video was piped to a PC via HDMI out, going into a Camlink capture card. A Python script using OpenCV was then created to play the game automatically, and log the results of prizes gained along the way. All the code is up on GitHub.
After over 100 attempts, the robot never managed to pick the right card to score 1,000 diamonds. Given that there are only 17 cards to choose from, one would expect the 1,000 diamond prize to come up several times in that many selections.
It seems then that the prize selection for completing the memory game may not actually be down to picking the right card. Instead, the prize given is selected by some other calculation entirely.
3D printers are an excellent tool to have on hand, largely because they can print other tools and parts rapidly without needing to have them machined or custom-ordered. 3D printers have dropped in price as well, so it’s possible to have a fairly capable machine in your own home for only a few hundred dollars. With that being said, there are some limitations to their function but some of them can be mitigated by placing the printer head on a robot arm rather than on a traditional fixed frame.
The experimental 3D printer at the University of Nottingham adds a six-axis robotic arm to their printer head, which allows for a few interesting enhancements. Since the printer head can print in any direction, it allows material to be laid down in ways which enhance the strength of the material by ensuring the printed surface is always correctly positioned with respect to new material from the printer head. Compared to traditional 3D printers which can only print on a single plane, this method also allows for carbon fiber-reinforced prints since the printer head can follow non-planar paths.
Actuators that are powerful, accurate, compact, and cheap are like unicorns. They don’t exist. Yet this is what [3DprintedLife] needed for a robotic camera arm, so he developed a custom 3D printed high torque strain wave gearbox to be powered by a cheap NEMA23 stepper motor.
Strain wave gears, otherwise known as harmonic drives, are not an uncommon topic here on Hackaday. The work by deforming a flexible toothed spline with a rotating elliptical part, which engages with the internal teeth of an outer spline. The outer spline has a few more teeth, causing the inner spline to rotate slowly compared to the input, achieving very high gear ratios. Usually, the flexible spline is quite long to allow it to flex at one end while still having a rigid mounting surface at the other end. [3DprintedLife] got around this by creating a separate rigid output spline, which also meshes with the flexible spline. Continue reading “A High Torque 3D Printed Harmonic Drive”→
[Adam]’s first robot arm build was a major disappointment, when the servos he had purchased for the build turned out to be terrible at holding an angle. With limited funds, he elected to improve on what he had, learning much about precision control techniques along the way. [Adam] taught himself how to implement industrial strength control loops using hobby hardware, by implementing additional encoders into servos and taking into account velocity and torque in addition to just position. With a magnetic encoder on the servo output shaft and a tiny optical encoder hand-built for inside the motor itself, much higher accuracy is achievable by allowing the control system to compensate for backlash.
Ever wanted your own gesture-controlled robot arm? [EbenKouao]’s DIY Arduino Robot Arm project covers all the bases involved, but even if a robot arm isn’t your jam, his project has plenty to learn from. Every part is carefully explained, complete with source code and a list of required hardware. This approach to documenting a project is great because it not only makes it easy to replicate the results, but it makes it simple to remix, modify, and reuse separate pieces as a reference for other work.
[EbenKouao] uses a 3D-printable robotic gripper, base, and arm design as the foundation of his build. Hobby servos and a single NEMA 17 stepper take care of the moving, and the wiring and motor driving is all carefully explained. Gesture control is done by wearing an articulated glove upon which is mounted flex sensors and MPU6050 accelerometers. These sensors detect the wearer’s movements and turn them into motion commands, which in turn get sent wirelessly from the glove to the robotic arm with HC-05 Bluetooth modules. We really dig [EbenKouao]’s idea of mounting the glove sensors to this slick 3D-printed articulated gauntlet frame, but using a regular glove would work, too. The latest version of the Arduino code can be found on the project’s GitHub repository.
Most of the parts can be 3D printed, how every part works together is carefully explained, and all of the hardware is easily sourced online, making this a very accessible project. Check out the full tutorial video and demonstration, embedded below.