Testing the FOC-based motor controller. (Credit: Excessive Overkill, YouTube)
Vector Control, also known as Field Oriented Control or FOC is an AC motor control scheme that enables fine-grained control over a connected motor, through the precise control of its phases. In a recent video [Excessive Overkill] goes through the basics and then the finer details of how FOC works, as well as how to implement it. These controllers generally uses a proportional integral (PI) loop, capable of measuring and integrating the position of the connected motor, thus allowing for precise adjustments of the applied vector.
If this controller looks familiar, it is because we featured it previously in the context of reviving old industrial robotic arms. Whether you are driving the big motors on an industrial robot, or a much smaller permanent magnet AC (PMAC) motor, FOV is very likely the control mechanism that you want to use for the best results. Of note is that most BLDC motors are actually also PMACs with ESC to provide a DC interface.
There’s no rule that says that logic circuits must always use electrically conductive materials, which is why you can use water, air or even purely mechanical means to implement logic circuits. When it comes to [soiboi soft]’s squishy robots, it thus makes sense to turn the typical semiconductor control circuitry into an air-powered version as much as possible.
We previously featured the soft and squishy salamander robot that [soiboi] created using pneumatic muscles. While rather agile, it still has to drag a whole umbilical of pneumatic tubes along, with one tube per function. Most of the research is on microfluidics, but fortunately air is just a fluid that’s heavily challenged in the density department, allowing the designs to be adapted to create structures like gates and resistors.
A transistor or valve using a silicone membrane. (Credit: soiboi soft, YouTube)
Logically, a voltage potential or a pressure differential isn’t so different, and can be used in a similar way. A transistor for example is akin to the vacuum tube, which in British English is called a valve for good reason. Through creative use of a flexible silicone membrane and rigid channels, pulling a vacuum in the ‘gate’ channel allows flow through the other two channels.
Similarly, a ‘resistor’ is simply a narrowing of a channel, thus resisting flow. The main difference compared to the microfluidics versions is everything is a much larger scale. This does make it printable on a standard FDM printer, which is a major benefit.
Quantifying these pneumatic resistors took a bit of work, using a pressure sensor to determine their impact, but after that the first pneumatic logic circuits could be designed. The resistors are useful here as pull-downs, to ensure that any charge (air) is removed, while not impeding activation.
The design, as shown in the top image, is a 5-stage ring oscillator that provides locomotion to a set of five pneumatic muscles. As demonstrated at the end of video, this design allows for the entire walking motion to be powered using a single input of compressed air, not unlike the semiconductor equivalent running off a battery.
While the somewhat bulky nature of pneumatic logic prevents it from implementing very complex logic, using it for implementing something as predictable as a walking pattern as demonstrated seems like an ideal use case. When it comes to making these squishy robots stand-alone, it likely can reduce the overall bulk of the package, not to mention the power usage. We are looking forward to how [soiboi]’s squishy robots develop and integrate these pneumatic circuits.
The Zynq-7000 usage at the core of the robot controller. (Credit: Excessive Overkill, YouTube)
Industrial robots like robotic arms are basically everywhere, albeit usually out of the public’s eye in factories. This also means that they get replaced and scrapped all the time, making for many opportunities to snap up an industrial robot that once cost as much as a pretty fancy car for essentially peanuts. Over the years the bloke behind the [Excessive Overkill] YouTube channel did this a lot, which also revealed the main issue with these ‘cheap’ robots: the electronics and associated software, with the manufacturer rarely going out of their way to appease to hobbyists trying to fix up one of these units, never mind for free.
That said, if you’re persistent enough, you can reverse-engineer these beasts to the point where you can develop your own controller hardware and software solution. This is exactly what was done, resulting in an open source controller, found on the ExcessiveMotion GitHub page, that should allow you to control many of these industrial robots. At the core is a Zynq-7000 hybrid FPGA-ARM SoC chip, running real-time Linux (with preemptive scheduling patch) on the SoC side and custom HDL on the FPGA side to handle the hard real-time tasks.
The controller during testing. (Credit: Excessive Overkill, YouTube)
The controller is made to be modular, with a backplane that can accept various interface cards in addition to the current RS-485 and RS-422 interfaces that are commonly used in industrial settings, such as here for controlling the individual servo drives of the robots. To make assembly and testing interesting, the first controller and integration with a robot was made ready for display at the Open Sauce 2025 event, requiring things to be rushed along, including reverse-engineering the servo protocol for a small-ish industrial robot suitable for public display and use, as well as developing the kinematics for the robotic arm.
With the controller now demonstrated, clearly this is the perfect time to rush out and get one of these fun industrial robots for a few hundred bucks. Currently the controller is still being finalized, with the author asking for feedback on what it should be able to support. If you have a particularly unusual industrial robot lounging around without the requisite controller, this might be your chance to revive it.
Unitree have a number of robotic offerings, and are one of the first manufacturers offering humanoid robotic platforms. It seems they are also the subject of UniPwn, one of the first public exploits of a vulnerability across an entire robotic product line. In this case, the vulnerability allows an attacker not only to utterly compromise a device from within the affected product lines, but infected robots can also infect others within wireless range. This is done via a remote command-injection exploit that involves a robot’s Bluetooth Low Energy (BLE) Wi-Fi configuration service.
Unitree’s flagship G1 humanoid robot platform (one of the many models affected)
While this may be the first public humanoid robot exploit we have seen (it also affects their quadruped models), the lead-up to announcing the details in a post on X is a familiar one. Researchers discover a security vulnerability and attempt responsible disclosure by privately notifying the affected party. Ideally the manufacturer responds, communicates, and fixes the vulnerability so devices are no longer vulnerable by the time details come out. That’s not always how things go. If efforts at responsible disclosure fail and action isn’t taken, a public release can help inform people of a serious issue, and point out workarounds and mitigations to a vulnerability that the manufacturer isn’t addressing.
The biggest security issues involved in this vulnerability (summed up in a total of four CVEs) include:
Hardcoded cryptographic keys for encrypting and decrypting BLE control packets (allowing anyone with a key to send valid packets.)
Trivial handshake security (consists simply of checking for the string “unitree” as the secret.)
Unsanitized user data that gets concatenated into shell commands and passed to system().
The complete attack sequence is a chain of events that leverages the above in order to ultimately send commands which run with root privileges.
We’ve seen a Unitree security glitch before, but it was used to provide an unofficial SDK that opened up expensive features of the Go1 “robot dog” model for free. This one is rather more serious and reportedly affects not just the humanoid models, but also newer quadrupeds such as the Go2 and B2. The whole exploit is comprehensively documented, so get a fresh cup of whatever you’re drinking before sitting down to read through it.
Do you remember the movie WALL-E? Apparently, [Leviathan engineering] did, and he wasn’t as struck by the title character, or Eva, or even the Captain. He was captivated by BURN-E. His working model shows up in the video below.
We’ll be honest. BURN-E didn’t ring a bell for us, though we remember the movie. He grabbed a 3D design for the robot on the Internet and planned out holes for some servos and other hardware.
As the old saying goes, when the only tool you have is a 6 DOF industrial robotic arm, every problem looks like an opportunity to make it serve up adult beverages. [benkokes] found himself in this familiar predicament and did what any of us would do, but his process wasn’t without a few party fouls as well as a few head-scratchers.
One of the common problems that people who suddenly find themselves with an old industrial robot have is that there’s usually no documentation or instructions. This was true here with the added hiccup of the robot’s UI being set to Chinese. Luckily no one had changed the root password, and eventually he was able to get the robot up and working.
Getting it to make drinks was a different matter altogether. [benkokes] needed a custom tool to hold the cup as well as shake it, and 3D printed a claw-style end effector with a lid. Out of his multi-colored pack of party cups, however, the orange cups were different enough in dimension to cause problems for the shaking lid which was discovered when the robot spilled a drink all over the table.
Eventually, though, the robot was successfully serving drinks at a party. One of [benkokes]’s friends happened to be a puppet maker and was able to outfit it with a tailored tuxedo for the party as well, and he also programmed it to dance in between serving drinks, completing the AI revolution we have all been hoping for. Perhaps unsurprisingly, this is a common project for people who suddenly come to posses a large general-purpose industrial robot, while others build robots specifically for this task alone.
The heart of the build is a flat platform fitted with a resistive touchscreen panel on top. The panel is hooked up to a Teensy 4.0 microcontroller. When a heavy ball bearing is placed on the touch panel, the Teensy is thus able to accurately read its position. It then controls a pair of NEMA 17 stepper motors via TCM2208 drivers in order to tilt the panel in two axes in order to keep the ball in the centre of the panel. Thanks to its quick reactions and accurate sensing, it does a fine job of keeping the ball centred, even when the system is perturbed.