Useless Machine Is A Clock

Useless machines are a fun class of devices which typically turn themselves off once they are switched on, hence their name. Even though there’s no real point, they’re fun to build and to operate nonetheless. [Burke] has followed this idea in spirit by putting an old clock he had to use with his take on a useless machine of sorts. But instead of simply powering itself off when turned on, this useless machine dislodges itself from its wall mount and falls to the ground anytime anyone looks at it.

It’s difficult to tell if this clock was originally broken when he started this project, or if many rounds of checking the time have caused the clock to damage itself, but either way this project is an instant classic. Powered by a small battery driving a Raspberry Pi, the single-board computer runs OpenCV and is programmed to recognize any face pointed in its general direction. When it does, it activates a small servo which knocks it off of its wall, rendering it unarguably useless.

[Burke] doesn’t really know why he had this idea, but it’s goofy and fun. The duct tape that holds everything together is the ultimate finishing touch as well, and we can’t really justify spending too much on fit and finish for a project that tosses itself around one’s room. On the other hand, if you’re looking for a more refined useless machine, we have seen some that have an impressive level of intricacy.

Thanks to [alchemyx] for the tip!

Continue reading “Useless Machine Is A Clock”

Homemade electric fan showing a small camera peeking up above the central hub.

Keep Cool With This Face-Following Fan

[AchillesVM] decided to build a tabletop electric fan so it would track him as he moves around the room. Pan and tilt control is provided by a pair of servos controlled by a Raspberry Pi 3b+. How does it know where [AchillesVM} is? It captures the scene using a Raspberry Pi v2 Camera and uses OpenCV’s default face-tracking algorithm to find him. Well, strictly speaking, it tracks anyone’s face around the room. If multiple faces are detected, it follows the largest — which is usually the person closest to the fan.

The whole processing loop runs at 60 ms, so the speed of the servo mechanism is probably the limiting factor when it comes to following fast-moving house guests. At first glance it might look like an old fan from the 1920s, in fact [AchillesVM] built the whole thing by himself, 3D-printing case and using a few off-the-shelf parts (like the 25 cm R/C plane propeller).

It’s a work in progress, so follow his GitHub repository (above) for updates. Hopefully, there will be a front-mounted finger guard coming soon. If you like gadgets that interact with you as you move about, we’ve covered the face-tracking confectionery cannon back in 2014, and the head-tracking water blaster last year. In the “don’t try this” file goes the build that started a career — the eye-tracking laser robot.

Internet Chess On A Real Chessboard

The Internet teaches us that we can accept stand-ins for the real world. We have an avatar that looks like us. We have virtual mailboxes to read messages out of make-believe envelopes. If you want to play chess, you can play with anyone in the world, but on a virtual board. Or, you can use [karayaman’s] software to play virtual games on real boards.

The Python program uses a webcam. You point it at an empty board and calibrate. After that, the program will track your moves on the real board in the online world. You can see a video of a test game below.

Continue reading “Internet Chess On A Real Chessboard”

Smart Camera Based On Google Coral

As machine learning and artificial intelligence becomes more widespread, so do the number of platforms available for anyone looking to experiment with the technology. Much like the single board computer revolution of the last ten years, we’re currently seeing a similar revolution with the number of platforms available for machine learning. One of those is Google Coral, a set of hardware specifically designed to take advantage of this new technology. It’s missing support to work with certain hardware though, so [Ricardo] set out to get one working with a Raspberry Pi Zero with this smart camera build based around Google Coral.

The project uses a Google Coral Edge TPU with a USB accelerator as the basis for the machine learning. A complete image for the Pi Zero is available which sets most of the system up right away including headless operation and includes a host of machine learning software such as OpenCV and pytesseract. By pairing a camera to the Edge TPU and the Raspberry Pi, [Ricardo] demonstrates many of its machine learning capabilities with several example projects such as an automatic license plate detector and even a mode which can recognize whether or not a face mask is being worn, and even how correctly it is being worn.

For those who want to get into machine learning and artificial intelligence, this is a great introductory project since the cost to entry is so low using these pieces of hardware. All of the project code and examples are available on [Ricardo]’s GitHub page too. We could even imagine his license plate recognition software being used to augment this license plate reader which uses a much more powerful camera.

Auto-Aiming Nerf Gun To Give You The Edge In Battle

Ever wished for some robotic enhancements for your next nerf war? Well, it’s time to dig through the parts bin and build yourself a nerf gun with aimbot built right in, courtesy of [3Dprintedlife]. (Video, embedded below.)

The gun started with a design borrowed from [Captain Slug]’s awesome catalog of open source nerf guns. [3Dprintedlife] modified the design to include a two-axis gimbal between the lower and the upper, driven by a pair of stepper motors via an Arduino. For auto-aim, a camera module attached to a Raspberry Pi running OpenCV was added. When the user half-pressed the trigger, OpenCV will start tracking whatever was at the center of the frame and actively adjust the gimbal to keep the gun aimed at the object until the user fires. The trigger mechanism consists of a pair of microswitches that activate a servo to release the sear. It is also capable of tracking a moving target or any face that comes into view.

We think this is a really fun project, with a lot of things that can be learned in the process. Mount it on a remote control tank and you’d be able to wage some intense battles in your backyard. All the files are available on GitHub.

You are never too old for a good old nerf battle. Whether you want to be a sniper, a machine gunner, or a heavy weapons specialist, there’s a weapon to build for every role.

Adding A Laser Blaster To Classic Atari 2600 Games With Machine Vision

Remember the pistol controller for the original Atari 2600? No? Perhaps that’s because it never existed. But now that we’re living in the future, adding a pistol to the classic games of the 2600 is actually possible.

Possible, but not exactly easy. [Nick Bild]’s approach to the problem is based on machine vision, using an NVIDIA Xavier NX to run an Atari 2600 emulator. The game is projected on a wall, while a camera watches the game field. A toy pistol with a laser pointer attached to it blasts away at targets, while OpenCV is used to find the spots that have been hit by the laser. A Python program matches up the coordinates of the laser blasts with coordinates within the game, and then fires off a sequence of keyboard commands to fire the blasters in the game. Basically, the game plays itself based on where it sees the laser shots. You can check out the system in the video below.

[Nick Bild] had a busy weekend of hacking. This was the third project write-up he sent us, after his big-screen Arduboy build and his C64 smartwatch.

Continue reading “Adding A Laser Blaster To Classic Atari 2600 Games With Machine Vision”

Teaching A Machine To Be Worse At A Video Game Than You Are

Is it really cheating if the aimbot you’ve built plays the game worse than you do?

We vote no, and while we take a dim view on cheating in general, there are still some interesting hacks in this AI-powered bot for Valorant. This is a first-person shooter, team-based game that has a lot of action and a Counter-Strike vibe. As [River] points out, most cheat-bots have direct access to the memory of the computer which is playing the game, which gives it an unfair advantage over human players, who have to visually process the game field and make their moves in meatspace. To make the Valorant-bot more of a challenge, he decided to feed video of the game from one computer to another over an HDMI-to-USB capture device.

The second machine has a YOLOv5 model which was trained against two hours of gameplay, enough to identify friend from foe — most of the time. Navigation around the map was done by analyzing the game’s on-screen minimap with OpenCV and doing some rudimentary path-finding. Actually controlling the player on the game machine was particularly hacky; rather than rely on an API to send keyboard sequences, [River] used a wireless mouse dongle on the game machine and a USB transmitter on the second machine.

The results are — iffy, to say the least. The system tends to get the player stuck in corners, and doesn’t recognize enemies that pop up at close range. The former is a function of the low-res minimap, while the latter has to do with the training data set — most human players engage enemies at distance, so there’s a dearth of “bad breath range” encounters to train to. Still, we’re impressed that it’s possible to train a machine to play a complex FPS game at all, let alone this well.