It’s DOOM, On A Toy Camera

Dirt cheap toy cameras have long been a target for the curious camera hacker, and we’ve seen plenty of lens swaps and other hardware hacks. Until now their internals have remained something of a black box though, so it’s very interesting indeed to see [Spode] breaching the firmware on one and making it run DOOM. Yes, it runs the game, but the value is in opening up this platform.

The Achiles’ heel on this particular camera is its easily updatable firmware, allowing new firmware to be placed upon it with ease. The SoC is an HX3302B which [SpriteTM] has done some work on, so he’s not going in entirely blind. A neat hack to dump the camera’s memory into EXIF data on photos completed the puzzle. He was able to benchmark the thing and find it to be surprisingly powerful, certainly enough for a game from 1993. Doomgeneric looked promising, but first there was the matter of the device’s RAM.

In another clever move he was able to keep only the most-used piece of the doom code in memory and the rest in flash, allowing the game to run. A custom synthesizer completed the experience, and on the write-up there’s a chance to travel back to the early ’90s and hear that music again. All that was left were the controls, and with a few quirks, this thing becomes a playable DOOM console. It’s probably better at that than it is at being a camera.

If you’re hungry for more, we’ve taken a look at similar devices before.

Reading Data From An Unwilling Blood Pressure Monitor

Given the modern trend of interconnecting anything and everything, we have no doubt that somebody sells a blood pressure monitor that will push its measurements out to all sorts of cloud services on your behalf. We’re equally sure that doing so requires you to sign up for some new account or service, and that there may even be a subscription cost hiding in there as well.

Looking to record his vitals on his own terms, [Tomasz Burzy] set out to modify a basic blood pressure monitor so that it would send its data out over WiFi. He succeeds in the end, but as is so often the case around these parts, the journey ended up being just as interesting as the final destination.

Optically detecting which LCD segments are activated.

His initial idea was to tap into the monitor’s PCB with his logic analyzer. He quickly found a test point that let him pull the raw value from the unit’s pressure sensor, and with a little massaging, he even got some code running that turned that into a fair estimation of his actual blood pressure. But it didn’t quite match what the display showed, and doing some research, he found that these monitors generally employ some unknowable Secret Sauce to derive the final result from the raw data.

Efforts to intercept the final number from the device’s main chip before it was sent off to the display driver were stymied by the fact that it was the display driver. The unit was so well integrated, presumably to drive down the cost, that there was a single IC handling essentially all aspects of its operation. So much for the logic analyzer route.

In the end, [Tomasz] took the nuclear option and used a camera mounted to the top of the unit to pull data off the display optically. But instead of a full-fat computer running some computer vision software, he’s able to pull it off on an ESP32-CAM module. How? Because he knows exactly where each segment of the LCD is, he simply needs to check a set array of coordinates in the camera’s image to see if they are lit up or not. This greatly reduces the complexity of the task, and brings it within the capabilities of the lowly microcontroller.

Although we love the idea of developing hacker-friendly medical devices that give up their data without having to jump through so many hoops, we appreciate the effort [Tomasz] put into this, and think it’s a fantastic example for similar reverse engineering efforts.

Continue reading “Reading Data From An Unwilling Blood Pressure Monitor” →

Ask Hackaday: What Puts This Photo In The Pink?

It’s an exciting time to be a camera hacker, because we are at a moment when even cheap camera hardware is starting to have high resolution sensors, and the awesome camera phones of a few years ago are now in people’s junkboxes. Lens swapping has been a feature of the art for a while now, usually taking the form of a C-mount add-on. So with a bit of 3D printing and glue, you can now make something more interesting from an AliExpress purchase or that old phone. These cameras have all the resolution and sharpness that the sensor can deliver assuming that their software isn’t too awful, but there’s a persistent problem . The photographs invariably have a pinkish tint, as reported in a recent Hackaday-featured project, just to name one. The original lens doesn’t have this problem, so what’s up?

A mobile phone with a C-mount lens attached to its back, propped up on a laptop keyboard with the screen towards us. The screen shows a blurry view of the laptop.
Without the pink stuff, it’s not a bad camera, really.

Of course, the more astute readers are immediately thinking about IR filters. I did too, when one of my on-and-off projects had the pink tint. It’s a Samsung Galaxy Tab 3, an ancient Android 5 phone with a rather useless and gimmicky stylus, and a rather nice camera sensor. I bought a replacement camera module for it on AliExpress so I’d have something to experiment with, removed its lens assembly, and had a phone with a bare sensor peeking from the back of it. A 3D printed adjustable lens mount assembly that I’ll eventually clean up and release so any phone can have the same modification followed.

Faced with the dreaded pink when I started taking pictures, I ineptly glued an IR filter to the back of it, and awaited my perfect shots. Sadly they never came, so rather than admit defeat, I’m hoping one of you lot can help. Are any Hackaday readers in the optics business and can tell me what’s up? Continue reading “Ask Hackaday: What Puts This Photo In The Pink?” →

A person's hands are shown holding a small camera. An aluminium cage runs around the outside of the camera, the viewfinder display is tilted up, and below the viewfinder a battery is mounted.

Upgrading An Action Camera With An External Battery

[Evan Monsma], the prolific experimenter with cameras, found himself with an issue: he had a small Sony action camera with good performance in every respect but battery life, which was as low as twenty minutes. This was too short for practical everyday use, so [Evan] built an external adapter to add a larger battery and a few other features.

In fairness to the camera’s designers, it wasn’t really meant for consumer use; it was meant as more of a stunt camera, where endurance is less of a concern than size and weight. [Evan] wanted to use it for more general situations, hence the new battery. He first attached a small CNC-machined aluminium half-cage, which provided mounting points for additional hardware, including a screw-mount for a neutral-density filter.

[Evan] next designed, 3D-printed, and attached a mount and battery clip for a larger Sony camera battery; the mount also held a voltage converter to step the battery’s 7.2 V down to the original battery’s 3.7 V. A USB power adapter slotted into the battery compartment and broke out the power leads to the converter. Unfortunately, short battery life isn’t the camera’s only issue; it also eventually overheats with continuous use, which kept [Evan] from running a real battery-life test. He is, however, confident that it will last long enough for practical use.

We’ve seen a similar action camera mod before, as well as a mod to allow the use of third-party batteries in a vendor-locked camera. For larger cameras, we’ve even seen a hot-swappable battery pack.

Thanks to [Luis Mercado] for the tip!

Novelty Camera To USB Camera

The Godox C100 is a cheap camera that’s best described as a toy, its party trick being a large clear viewfinder with a head-up-display light meter. It’s by no means a high quality device, being little more than a dashcam in a fancy case, but like many others of its kind it offers opportunity for the camera hacker. [Holofermes] has one, and has given it a suite of patches that, among other things, convert it to a USB webcam and give it a Pi Zero dock.

It takes the standard firmware and adds the patches on top, so while they’re installed it can only act as USB drive and webcam, if a return to camera is desired then the original firmware must be flashed. There are some details on the hardware, such as that it runs FreeRTOS on an ARM architecture with 16 MB of memory. The sensor has a 1920×1080 pixel resolution, which is a step up from the up-scaled VGA of many such cameras.

Many novelty cameras are not as hackable as this one, which makes it interesting. We hope that more camera hackers will turn their attention to it. It’s not the first cheap camera we’ve taken a look at.

A Stereo Vision Board For Hardware Hackers

It’s plenty easy to do lots of vision tasks with a single camera, but using two cameras gives you lots of magical abilities, like depth perception! If you’d like to experiment with stereo vision, you might enjoy this board that [machinehum] built specifically for hackers.

The project came about because [machinehum] was particularly excited about the Rockchip RV1103, a 1.1 GHz single-core ARM chip. It comes with 64 MB of DDR2 RAM and a has a MIPI CSI-2 bus on board, which comes in handy for interfacing cameras. Thus, it was the perfect part to whip up a stereo vision board with on-board compute capability and Linux support right out of the box. The processor is paired with two OV9281 global-shutter cameras, as well as a LI2HH12 3-axis accelerometer to provide motion sensing. There’s also 4 MB of flash memory thrown on board, as well as a 10/100 Mbit Ethernet interface for good measure. [machinehum]’s write-up also lays out the software stack and how everything works in concert with Video4Linux2.

If you’re new to experimenting with stereo vision, you might find this to be a useful platform for getting started. Design files are on GitHub for the curious. We’ve seen similar projects built using the Raspberry Pi before, too, which itself is essentially just a fast ARM powered computer with useful camera interfaces built-in. Funny that.

Continue reading “A Stereo Vision Board For Hardware Hackers” →

A Thermal Camera That Uses WebUSB

When creating a peripheral for a mobile phone, an obvious path is to create a companion app with which to talk to it. But as we all know today’s app is tomorrow’s non-functional abandonware, so to give his infrared camera a long life, [Cezar Chirila] made it talk WebUSB to a browser instead.

The hardware is conventional enough, a FLIR sensor talking to an RP2040. There’s very little in the way of supporting circuitry save for a power supply regulator, as so much that might be on a standalone project is already present in the USB host device. Running the thing is as simple as going to a landing page in a browser that supports WebUSB, and using the camera. The whole lot is in a GitHub repository, if you’re interested.

We’re big fans of WebUSB, for exactly the reason it’s been used here. While there are a few browser features which have been deprecated over the years — who remembers the BLINK and MARQUEE HTML tags — it’s likely WebUSB won’t be one of them. This could only be topped by having the microcontroller share a small USB disk with the landing page as an HTML file.

Meanwhile if you’re strapped for cash, there are cheaper thermal cameras out there.