Claude Plays DOOM

Large language models (LLMs) are generally thought of as machines that accept textual prompts and spit out textual content. However, if you’re creative in the way you interface with them, you can get them to do a wider range of tasks. For example, [Andrea Ricci] figured out how to get one to play DOOM.

For this project, [Andrea] began by porting the game to the SCINTIX P4. It’s a rather interesting device, being a single board designed in the Raspberry Pi CM4/CM5 form factor, but carrying an ESP32-P4 and an ESP32-C6 instead. The game runs on the P4 and is displayed on a 1024×600 MIPI DSI panel, but it’s only stepped through a few frames at a time. These frames are then passed to Claude Sonnet via a WebSockets setup. With only the same information as a human player would get, the LLM has to figure out what it’s looking at, and then respond with movement and fire commands to play the game.

It’s quite interesting to watch the system play—the LLM mostly accurately describes the game world, navigates down corridors, opens doors, and shoots at enemies. There is a bit of work behind the scenes to enable it to see and understand the game world—namely, using a depth fan across the field of view so it can figure out where walls are and how not to bang into them. There’s also an ASCII automap used to allow the system to keep track of where it has already been. But fundamentally, the LLM is playing the game without any other sort of additional assistance.

We’ve seen some other great ways in which AIs have been whipped up to play various games, like Trackmania.

Continue reading “Claude Plays DOOM

Tech In Plain Sight: Vacuum Blood Collection

If you’re blessed enough that you haven’t had blood drawn in a while, you might not have thought much about the process. You might imagine that a needle goes in, a syringe is drawn back, and the venous blood is thusly collected. Indeed, it can be done that way.

However, there is an altogether niftier and more efficient method of fast blood collection for pathology testing. It’s all about using vacuum and smart design to ease the work of phlebotomists, while maintaining a sterile and safe environment.

Continue reading “Tech In Plain Sight: Vacuum Blood Collection”

555 Makes A Useful Beat Frequency Oscillator

If you’ve got a cheap ham rig, it might not be very practical for you to receive certain transmissions out of the box. However, if you were to hack in a convenient little beat frequency oscillator (BFO) to your rig, then you’d be up and running. Here’s a simple way to do just that with a venerable old part everybody knows and loves.

The build in question concerns the use of a 555 timer IC. It’s seasoned with the right smattering of resistors and capacitors to taste, producing a 455 kHz beat frequency oscillator. This can be injected into the intermediate frequency chain of a receiver, making up for the lack of a steady carrier wave when receiving continuous-wave and single side-band suppressed carrier transmissions. Thanks to a potentiometer in the circuit, it’s tunable, too, from 455 kHz, plus or minus twenty percent or so. Thanks to the versatility of the 555, it’s possible to run the chip on a wide voltage range, anywhere from 4.5 volts to 16 volts, which makes it easy to install in just about any old radio set without requiring adding a specialized power supply. There’s also an alternative design that EDN covered in greater detail some time ago.

If you’re eager to dive into a wider range of transmissions than your radio can currently receive, this old-school ham hack could be just what the shack ordered. We feature plenty of good ham hacks around these parts, and don’t forget—we always want to hear about the freshest ones on the tipsline.

Building An Analog Geiger Counter

These days, it’s plenty easy to build a Geiger counter with a microcontroller that has a nice fancy display and a simple digital readout for how many radiations you’re likely sucking up into your delicate fleshy body. But you can still do things the old fashioned way, as [ludens] demonstrates with this analog Geiger counter project.

With a goal of measuring low-level radiation sources and the normal background levels on Earth, [ludens] selected a large Geiger tube for its sensitivity—a Chinese J306β in particular. It’s rated to output 88 counts per minute at the average background level, or 8 counts per second when exposed to 1µSv/h. It’s quite a large device, measuring 200 mm long and 18 mm in diameter, and it sticks out on top of the device like a big fat antenna.

Since the large tube puts out plenty of counts at even low levels, [ludens] decided it would be easy to average the output with a simple analog low-pass circuit. Everything runs off a single AA battery, with a power supply built to step that up to 5 V for the ICs and 400 V for the tube itself. CMOS Schmitt triggers are responsible for running the show, with an old-school analog dial showing the reading.

There are two ranges to use, depending on the magnitude of the radiation source—1 uSv/h, and 10 uSv/h. The high range isn’t particularly high, but as [ludens] notes—”If anything I find pegs that scale, I prefer to run, instead of measuring exactly how much radiation there is! So I don’t need a higher scale than 10µSv/h.”

If you’ve ever wanted to build a Geiger counter that has that classic Cold War feel, this is a great way to go about it. Alternatively, you can always go the more modern route and build something digital and networkable for logging purposes.

Hacking A Cat Litter Box

[Joseph DiGiovanni] is the owner of a Litter Robot 4. It’s a convenient mechanized litter box for cats that can clean itself to reduce unwelcome odors inside the home. He wanted to run automations based on the operation of the litter box, but was not eager to use the manufacturer’s cloud service to do it. Instead, he set about reverse engineering the device for his own ends.

Since the Litter Robot 4 relies on an ESP32 microcontroller for external connectivity, it was entirely possible for [Joseph] to whip up a custom firmware for the device instead. He started with ESPHome as a base, which is a popular firmware used for building smarthome devices based on Espressif hardware. The architecture of the Litter Robot 4 helped in this regard. It uses a PIC microcontroller to handle the low level hardware control, while the ESP32 is responsible for connecting to the cloud over WiFi. This allowed [Joseph] to mess with the connectivity features and get the device hooked up to Home Assistant without compromising the basic mechancial functionality of the device or any of the safety features.

All [Joseph] had to do was figure out how the original hardware’s ESP32 talked to the PIC and emulate that in his own firmware, which was achieved with some snooping and data capture and processing with an LLM. This was used as a basis to whip up an ESPHome firmware that could integrate the hardware neatly with Home Assistant.

Files are on Codeberg for those eager to tinker. It’s not the first time we’ve looked at cat litter management, and it won’t be the last. Video after the break.

Continue reading “Hacking A Cat Litter Box”

PVC Pipe Turned DIY Digital Telescope

[Makestreme] had always wanted to own a nice telescope, but found that budget would not stretch to anything above a cheap model with a limited 50 mm aperture. Wanting a better view of the heavens, the way forward was obvious—it was time to build a better telescope, instead!

The build is based around a 114 mm diameter mirror sourced from Amazon. It’s assembled inside a length of 5-inch PVC pipe of just under a meter to suit the 900 mm focal length of the concave reflector. 3D printed components are used to mount the mirror and control its position for proper focus and collimation. Traditionally, a reflector based telescope would use a mirror and eyepiece to provide a view to the user. However, [Makestreme] built this as a smart telescope, instead integrating a Raspberry Pi Camera Module 3 at the focal point. It’s connected to a Raspberry Pi Zero 2W, running off an 18650 lithium-ion cell and a 5 V boost module for portability. The Pi runs a Python script that hosts a small web server allowing access to the live camera feed along with controls for brightness, exposure, and gain. [Makestreme] then uses apps like SkyMap and SkEye to help aim the telescope at astronomical elements of interest.

If you’ve ever wanted to explore the heavens from down on Earth, building your own telescope is a great way to start. A camera-based build like this one can be a bit simpler than traditional builds, too, without the fuss of having to install an eyepiece.

Continue reading “PVC Pipe Turned DIY Digital Telescope”

Building A Discrete Component 75 Baud Modem

These days, modems are pretty fancy bits of kit, what with to keep up with the speeds of cable, VDSL, and fiber connections. At lower speeds, though, it’s entirely possible to build a modem out of simple discrete components. [sv3ora] did just that, building a simple modem for the CB2 Micro.

It’s a remarkably simple build.

The project takes advantage of the fact that the V1.54 firmware for the CB2 Micro enabled 75 baud serial communication. Thus, it made sense for [sv3ora] to build a 75 baud modem to suit. As was the way in the days of dial-up internet, the modem modulates data into audio, demodulates audio back into data, allowing the CB2 Micro to send and receive data over telephone lines, ham radio links, or to store and retrieve data via mediums like cassette tape.

The device is built out of good old BC547 transistors. along with a smattering of diodes, resistors, and capacitors as supporting hardware. That’s all you need to turn slow serial into audio and back again. [sv3ora] does a great job of demoing the hardware, using it to store a program on tape and retrieve it again later.

We love old school modems around these parts. We’ve even explored ways to build your own dial-up ISP in the past!

Continue reading “Building A Discrete Component 75 Baud Modem”