Metal Detector Built With Smartphone Interface

If you think of a metal detector, you’re probably thinking of a fairly simple device with a big coil and a piercing whine coming from a tinny speaker. [mircemk] has built a more modern adaptation. It’s a metal detector you can use with your smartphone instead.

The metal detector part of the project is fairly straightforward as far as these things go. It uses the pulse induction technique, where short pulses are fired through a coil to generate a magnetic field. Once the pulse ends, the coil is used to detect the decaying field as it spreads out. The field normally fades away in a set period of time. However, if there is metal in the vicinity, the time to decay changes, and by measuring this, it’s possible to detect the presence of metal.

In this build, an ESP32 is in charge of the show, generating the necessary pulses and detecting the resulting field. It’s paired with the usual support circuitry—an op-amp and a few transistors to drive the coil appropriately, and the usual smattering of passives. The ESP32 then picks up the signal from the coil and processes it, passing the results to a smartphone via Bluetooth.

The build is actually based on a design by [Neco Desarrollo], who presents more background and other variants for the curious. We’ve featured plenty of [mircemk]’s projects before, like this neat proximity sensor build. Continue reading “Metal Detector Built With Smartphone Interface”

Building A Handheld Pong Game

Pong was one of the first video games to really enter the public consciousness. While it hasn’t had the staying power of franchises like Zelda or Call of Duty, it nonetheless still resonates with gamers today. That includes [Arnov Sharma], who put together this neat handheld version using modern components.

An ESP32 development board serves as the brains of the operation. Capable of operating at many hundreds of megahertz, it has an excessive amount of power for an application as simple as this. Nonetheless, it’s cheap, and it gets the job done. It’s paired with an SSD1306 OLED screen of 124 x 32 resolution. That might not sound like much, but it’s plenty when you’re just drawing two paddles and a ball bouncing between them. Control is via a pair of SMD push buttons for a nice responsive feel.

What’s really neat, though, is the presentation. [Arnov] wrapped the electronics in a neat bean-shaped housing that vaguely apes game controllers of the 16-bit era. Indeed, [Arnov] explains that it was inspired by the Sega Genesis specifically. It looks great with the black PCBs integrated so nicely with the bright orange 3D printed components, and looks quite comfortable to use, too.

It might be a simple project, but it’s done rather well. Just by thinking about color choices and how to assemble the base components, [Arnov] was able to create an attractive and functional game that’s a lot more eye catching than some random boards thrown in an old project box. Indeed, we’ve featured stories on advanced FR4/PCB construction techniques before, too. Meanwhile, if you’re creating your own projects with similar techniques, don’t hesitate to let us know!

Three SPI Busses Are One Too Many On This Cheap Yellow Display

The Cheap Yellow Display may not be the fastest of ESP32 boards with its older model chip and 4 MB of memory, but its low price and useful array of on-board peripherals has made it something of a hit in our community. Getting the most out of the hardware still presents some pitfalls though, as [Mark Stevens] found out when using one for an environmental data logger. The problem was that display, touch sensor, and SD card had different SPI busses, of which the software would only recognise two. His solution involves a simple hardware mod, which may benefit many others doing similar work.

It’s simple enough, put the LCD and SD card on the same bus, retaining their individual chip select lines. There’s a track to be cut and a bit of wiring to be done, but nothing that should tax most readers too much. We’re pleased to see more work being done with this board, as it remains a promising platform, and any further advancements for it are a good thing. If you’re interested in giving it a go, then we’ve got some inspiration for you.

Simulating Embedded Development To Reduce Iteration Time

There’s something that kills coding speed—iteration time. If you can smash a function key and run your code, then watch it break, tweak, and smash it again—you’re working fast. But if you have to first compile your code, then plug your hardware in, burn it to the board, and so on… you’re wasting a lot of time. It’s that problem that inspired [Larry] to create an embedded system simulator to speed development time for simple projects.

The simulator is intended for emulating Arduino builds on iPhone and Mac hardware. For example, [Larry] shows off a demo on an old iPhone, which is simulating an ESP32 playing a GIF on a small LCD display. The build isn’t intended for timing-delicate stuff, nor anything involving advanced low-level peripherals or sleep routines and the like. For that, you’re better off with real hardware. But if you’re working on something like a user interface for a small embedded display, or just making minor tweaks to some code… you can understand why the the simulator might be a much faster way to work.

For now, [Larry] has kept the project closed source, as he’s found that it wouldn’t reasonably be possible for him to customize it for everyone’s unique hardware and use cases. Still, it’s a great example of how creating your own tools can ease your life as a developer. We’ve seen [Larry]’s great work around here before, like this speedy JPEG decoder library.
Continue reading “Simulating Embedded Development To Reduce Iteration Time”

FlyingCam Is A Sweet DIY Webcam On A Stick

Imagine you want to monitor a pot on the stove to see if it’s boiling over for just a few minutes, but you don’t want to have a dedicated permanent IP webcam solution in your kitchen. [Sebastian Duell]’s FlyingCam hijacks an IKEA lamp gooseneck to become something you never knew you needed: a wireless camera for short-term random remote observation. It’s a beautiful combination of 3D printing and commercial device re-use, and when paired with his DIY wireless screen, it’s a complete solution.

The guts of this project aren’t critical, or expensive. It’s built around one of those ESP32 single-board webcams, with an added fan, battery pack, antenna, and a power switch. You turn it on, and the AP in the ESP32 fires up, or optionally connects to your network. Point the camera at your target and you’re set, at least if you want to sit by your computer. But [Sebastian] also designed a nice simple remote screen, so you can keep tabs on your spaghetti wherever you roam around the house.

We love the attention to keeping the design simple here, both in form and in function. It’s a one-task device, so it’s important that it be extremely easy to use, and it’s hard to beat just pointing the thing and turning on a switch. And it doesn’t hurt that it’s good looking to boot.

IKEA stuff is cheap and cheerful, but often it’s missing just that one functionality that we want. What good is an air-quality sensor without MQTT logging capability, for instance? Or a standing desk that can’t remember set heights? Get hacking!

The ESP32 Bluetooth Backdoor That Wasn’t

Recently there was a panicked scrambling after the announcement by [Tarlogic] of a ‘backdoor’ found in Espressif’s popular ESP32 MCUs. Specifically a backdoor on  the Bluetooth side that would give a lot of control over the system to any attacker. As [Xeno Kovah] explains, much about these claims is exaggerated, and calling it a ‘backdoor’ is far beyond the scope of what was actually discovered.

To summarize the original findings, the researchers found a number of vendor-specific commands (VSCs) in the (publicly available) ESP32 ROM that can be sent via the host-controller interface (HCI) between the software and the Bluetooth PHY. They found that these VSCs could do things like writing and reading the firmware in the PHY, as well as send low-level packets.

The thing about VSCs is of course that these are a standard feature with Bluetooth controllers, with each manufacturer implementing a range of these for use with their own software SDK. These VSCs allow for updating firmware, report temperatures and features like debugging, and are generally documented (except for Broadcom).

Effectively, [Xeno] makes the point that VSCs are a standard feature in Bluetooth controllers, which – like most features – can also be abused. [Tarlogic] has since updated their article as well to distance themselves from the ‘backdoor’ term and instead want to call these VSCs a ‘hidden feature’. That said, if these VSCs in ESP32 chips are a security risk, then as [Xeno] duly notes, millions of BT controllers from Texas Instruments, Broadcom and others with similar VSCs would similarly be a security risk.

Here’s A Spy Movie-Grade Access Card Sniffing Implant

Some of our devices look like they’re straight out of hacker movies. For instance, how about a small board you plant behind an RFID reader, collecting access card data and then replaying it when you next walk up the door? [Jakub Kramarz] brings us perhaps the best design on the DIY market, called The Tick – simple, flexible, cheap, tiny, and fully open-source.

Take off the reader, tap into the relevant wires and power pins (up to 25V input), and just leave the board there. It can do BLE or WiFi – over WiFi, you get a nice web UI showing you the data collected so far, and letting you send arbitrary data. It can do Wiegand like quite a few open-source projects, but it can also do arbitrary clock+data protocols, plus you can just wire it up quickly, and it will figure out the encoding.

We could imagine such a board inside a Cyberpunk DnD rulebook or used in Mr Robot as a plot point, except that this one is real and you can use it today for red teaming and security purposes. Not to say all applications would be NSA-catalog-adjacent pentesting – you could use such a bug to reverse-engineer your own garage door opener, for one.