A robotic turret shooting plastic balls at a man

Automated Turret Keeps Dorm Clean, RoboCop Style

Students’ dorm rooms are not generally known to be the most orderly of places. Whether it’s mountains of dishes in the sink, piles of clothes waiting to be washed, or random bits and bobs strewn across the hallway, cleaning up is pretty low on the agenda for many dorm dwellers.

[Luis Marx] seems to have invented a useful solution to his (or his roommates’) sloppiness: a robotic turret that opens fire on anyone who leaves items unattended (video, in German, embedded below). This system uses a set of “clutter sensors” that can be placed in strategic locations around the house and will detect stray objects using ultrasonic sensors. If any are found, the main system is alerted through WiFi. The turret will then search for any persons in its vicinity and start shooting them with little plastic balls.

The turret in question is a beautifully-designed piece of kit made from 3D printed parts and controlled by an ESP32. It can swivel around its axis and tilt up and down using two servos, while its firing mechanism is driven by a DC motor. It tracks its target thanks to a camera-based object sensor that can recognize humans. The whole thing gives us a bit of a RoboCop vibe; we’d half expect it to shout Pick up those clothes. You have twenty seconds to comply.

While this might not be the definitive solution to messy dorm rooms, we like the creative thinking behind it. We’ve seen auto-targeting turrets before, but not in household applications like this. Of course there are plenty of other robots that can help you with domestic tasks.

Continue reading “Automated Turret Keeps Dorm Clean, RoboCop Style”

ESP32 Brings Air Purifier Online With Home Assistant

A lot of hackers are rightfully concerned about the privacy issues that surround many of today’s “smart” gadgets, but it’s hard to argue that the ability to remotely control devices around your home isn’t convenient. Enter self-hosted, open source projects like Home Assistant. This provides the framework for building out a home automation system without having your soul information sold, but as you might expect, you’re going to have to put some effort in to get the most of it.

For example, take a look at this Phillips AC4014 air purifier that [Anton] connected to Home Assistant by way of an ESP32. Rather than getting too bogged down in reverse engineering the purifier’s surprisingly complex internal electronics, he took the easy way out and wired a couple of relays across the power and fan speed buttons; this allows the device to be easily controlled by the microcontroller, without impacting the functionality of the original controls.

But since those front panel controls still work, that meant [Anton] needed a way for the ESP32 to detect the device’s status and report that to Home Assistant so everything stayed in sync. So he looked around on the PCB for a trace that got powered up when the air purifier was up and running, which he connected to a pin of the microcontroller through a transistor. This let’s the firmware determine if the machine is running or not just by checking if the appropriate pin has gone high.

Speaking of the firmware, [Anton] decided to use ESPHome rather than trying to write his own code from scratch. This project allows you to rapidly add new devices to Home Assistant by providing the firmware with a relatively simple YAML configuration file, which he’s provided as an example. In fact, he’s provided quite a lot of examples with this project, down to an annotated image of the PCB that shows where to tap your wires into. He’s done quite a service for anyone who’s got this same model of air purifier.

This unit doesn’t appear to have any capability of actually checking the quality of the air in the room, but we’ve recently seen a low-cost IKEA product that can do exactly that. Even better, it can be easily modified to report its findings over the network using the ESP8266.

An array of open-source clocks that play Pac-Man (or Mrs. Pac-Man).

ESP32 Pac-Man Clock Keeps Track Of How Long You Watch It

There are so many elements that make a good clock worth looking at for much longer than necessary. Not only is this clock quite cool to behold, it plays Pac-Man around the time! Yes, of course you can interact with the Pac-Man — touching the edges of the screen will make him go left, right, up, or down accordingly. You can also change to Ms. Pac-Man and make all the animations go normal speed, fast, or crazy-fast.

[TechKiwiGadgets] built a Pac-Man clock a few years ago that was well-received, but not cheap or easy to mimic. Since then, they have ported the code to the ESP32 and made a new version that has fewer and friendlier components. Not only that, they have great instructions for building the ESP32 shield on protoboard and also offer the shield as an open-source fab-able PCB. Still too much work? The complete kit version is available over on Tindie. Be sure to check it out in crazy speed mode action after the break.

Although this isn’t the first Pac-Man clock we’ve seen, it devotes equal attention to the time and the game, whereas this one is more about the game itself.

Continue reading “ESP32 Pac-Man Clock Keeps Track Of How Long You Watch It”

It’s Doom, This Time On A Bluetooth LE Dongle

By now most readers should be used to the phenomenon of taking almost any microcontroller and coaxing it to run a port of the 1990s grand-daddy of all first-person shooters, id Software’s Doom. It’s been done on a wide array of devices, sometimes only having enough power for a demo mode but more often able to offer the full experience. Latest to the slipgate in this festival of pixelated gore is [Nicola Wrachien], who’s achieved the feat using an nRF52840-based USB Bluetooth LE dongle.

Full details can be found on his website, where the process of initial development using an Adafruit CLUE board is detailed. A 16MB FLASH chip is used for WAD storage, and an SPI colour display takes us straight to that cursed base on Phobos. The target board lacks enough I/O brought out for connection to screen and FLASH, so some trickery with 7400 logic is required to free up enough for the task. Controls are implemented via a wireless gamepad using an nRFS1822 board, complete with streamed audio to a PWM output.

The result can be seen in the video below the break, which shows a very playable game of both Doom and Doom 2 that would not have disgraced many machines of the era. This was prototyped on an Adafruit Clue board, and that could be the handheld console you’ve been looking for!

Continue reading “It’s Doom, This Time On A Bluetooth LE Dongle”

Run UNIX On Microcontrollers With PDP-11 Emulator

C and C++ are powerful tools, but not everyone has the patience (or enough semicolons) to use them all the time. For a lot of us, the preference is for something a little higher level than C. While Python is arguably more straightforward, sometimes the best choice is to work within a full-fledged operating system, even if it’s on a microcontroller. For that [Chloe Lunn] decided to port Unix to several popular microcontrollers.

This is an implementation of the PDP-11 minicomputer running a Unix-based operating system as  an emulator. The PDP-11 was a popular minicomputer platform from the ’70s until the early 90s, which influenced a lot of computer and operating system designs in its time. [Chloe]’s emulator runs on the SAMD51, SAMD21, Teensy 4.1, and any Arduino Mega and is also easily portable to any other microcontrollers. Right now it is able to boot and run Unix but is currently missing support for some interfaces and other hardware.

[Chloe] reports that performance on some of the less-capable microcontrollers is not great, but that it does run perfectly on the Teensy and the SAMD51. This isn’t the first time that someone has felt the need to port Unix to something small; we featured a build before which uses the same PDP-11 implementation on a 32-bit STM32 microcontroller.

Jigglypuff Sensor Breathes CO2 So You Don’t Have To

We’ve seen a lot of environmental monitoring projects here at Hackaday. Seriously, a lot. They usually take the form of a microcontroller, a couple sensors, and maybe a 3D printed case to keep it all protected. They’re pretty similar functionally as well, with the only variation usually coming in the protocol used to communicate their bits of collected data.

But even when compared with such an extensive body of previous work, this Jigglypuff IoT environmental monitor created by [Kutluhan Aktar] is pretty unusual. Sure, the highlights are familiar. Its MH-Z14A NDIR CO2 sensor and GP2Y1010AU0F optical dust detector are read by a WiFi-enabled microcontroller, this time the Arduino Nano RP2040 Connect, which ultimately reports its findings to the user via Telegram bot. There’s even a common SSD1306 OLED display on the unit to show the data locally. All things we’ve seen in some form or another in the past.

Testing the electronics on a bread board.

So what’s different? Well, it’s all been mounted to a huge Pokémon PCB, obviously. Even if you aren’t a fan of the pocket monsters, you’ve got to appreciate that bright pink solder mask. Honestly, the whole presentation is a great example of the sort of PCB artwork we rarely see outside of the BadgeLife scene.

Admittedly, there’s a lot easier ways to get notified about the air quality inside your house. We’re also not saying that haphazardly mounting your electronics onto a PCB designed to look like a character from a nearly 20+ year old Game Boy game is necessarily a great idea from a reliability standpoint. But if you were going to do something like that, then this project is certainly the one to beat.

Bluetooth RC Car Packs In A Few Sensors

Have you ever been walking around the house, desperate to know the ambient temperature, humidity, and barometric pressure? Have you ever wanted to capture that data with a small remote-controlled platform? If so, this project from [TUENHIDIY] will be exactly what you’ve been looking for. 

The little remote-control car is built around a Seeed Wio Terminal. This is a microcontroller platform that comes with a screen already attached, along with wireless hardware baked in and Grove connectors for hooking up external modules. Thus, the car adds a DHT11 temperature and humidity sensor, along with a BMP280 air pressure sensor using the Grove connectors.

Driving the car is done via a Blynk smartphone app that communicates with the Wio Terminal. Small DC motors at each wheel are driven via a DFRobot quad-motor shield. With the built-in screen, the RC car displays commands received from the smartphone app, as well as the temperature, humidity and pressure in the immediate environment.

We really like the simple PVC-based chassis design, and it’s a straightforward project that demonstrates how to build a Bluetooth-controlled car. Data collected by the sensors is also visible on the smartphone app, so if you need to sample conditions in the next room without getting off the couch, you could do that pretty easily.

Projects like these are a good way to get familiar with working with motors and sensors. It’d be a great base for simple robotics development, too. We’ve featured builds from [TUENHIDIY] before, too, like this great rotary plotter that can draw on bottles. Video after the break.

Continue reading “Bluetooth RC Car Packs In A Few Sensors”