An Arduino Triggers A Flash With Sound

To capture an instant on film or sensor with a camera, you usually need a fast shutter. But alternately a flash can be triggered with the scene in the dark and the shutter wide open. It’s this latter technique which PetaPixel are looking at courtesy of the high-speed class at Rochester Institute of Technology. They’re using a cheap sound sensor module and an Arduino to catch instantaneous photographs, with students caught in the act of popping balloons.

Continue reading “An Arduino Triggers A Flash With Sound”

Assessing Developer Productivity When Using AI Coding Assistants

We have all seen the advertisements and glossy flyers for coding assistants like GitHub Copilot, which promised to use ‘AI’ to make you write code and complete programming tasks faster than ever, yet how much of that has worked out since Copilot’s introduction in 2021? According to a recent report by code analysis firm Uplevel there are no significant benefits, while GitHub Copilot also introduced 41% more bugs. Commentary from development teams suggests that while the coding assistant makes for faster writing of code, debugging or maintaining the code is often not realistic.

None of this should be a surprise, of course, as this mirrors what we already found when covering this topic back in 2021. With GitHub Copilot and kin being effectively Large Language Models (LLMs) that are trained on codebases, they are best considered to be massive autocomplete systems targeting code. Much like with autocomplete on e.g. a smartphone, the experience is often jarring and full of errors. Perhaps the most fair assessment of GitHub Copilot is that it can be helpful when writing repetitive, braindead code that requires very little understanding of the code to get right, while it’s bound to helpfully carry in a bundle of sticks and a dead rodent like an overly enthusiastic dog when all you wanted was for it to grab that spanner.

Until Copilot and kin develop actual intelligence, it would seem that software developer jobs are still perfectly safe from being taken over by our robotic overlords.

Solve: An ESP32-Based Equation Solving Calculator

We’re suckers for good-looking old-school calculators, so this interesting numerical equation-solving calculator by [Peter Balch] caught our attention. Based around the ESP32-WROOM-32 module and an LCD, the build is quite straightforward from an electronics point of view, with the main work being on the software side of things.

A custom keyboard was constructed on Veroboard using a handful of tactile switches arranged in a charlieplexing array to minimize the number of IO pins consumed. For the display, an off-the-shelf 240×320 ILI9341-based module hooked up by SPI was used. A single lithium cell was used for the power supply, connected to a USB

You don’t need much to make a usable keyboard.

charger module, but you could just as easily substitute a 3 x AA battery box. The case was designed in DesignSpark mechanical and 3D printed. It’s unclear what keyboard version they settled on; there are options for one with keycaps and one without. Regardless, a 3D-printed frame sits atop the keyboard circuit, with the graphics printed on photo paper and a protective coversheet on top. Continue reading “Solve: An ESP32-Based Equation Solving Calculator”

A Phone? A Ham Radio? Relax! It’s Both!

A lot of hams like to carry a VHF radio. Of course, nearly everyone wants to carry a phone. Now, thanks to the kv4p HT, you don’t have to carry both. The open-source device connects to your Android smartphone and turns it into a radio transceiver. You can build it yourself for about $35. Check out the video below.

The device uses an ESP32 and only transmits one watt, but it has lots of features like APRS and scanning.

Continue reading “A Phone? A Ham Radio? Relax! It’s Both!”

Your Battery Holder Is Also Your Power Switch With ToggleSlot

We really like PCB-level hacks, especially ones that show ingenuity in solving a real problem while being super cheap to implement. Hackaday.IO user [Steph] wanted a cheap way to switch a wearable on and off without having to keep popping out the battery, so they came up with a tweaked battery footprint, which is also a simple slide switch.

Most people making badges and wearables will follow the same well-trodden path of just yanking out the cell or placing some cheap switch down and swallowing the additional cost. For [Steph], the solution was obvious. By taking a standard surface-mount CR2032 button cell holder footprint, extending its courtyard vertically, and moving the negative pad up a smidge, the battery can be simply slid up to engage the pad and slid down to disengage and shut off the juice. The spring section of the positive terminal keeps enough pressure on the battery to prevent it from sliding out, but if you are worried, you can always add a dummy pad at the bottom, as well as a little solder bump to add a bit more security.

Now, why didn’t we think of this before? The KiCad footprint file can be downloaded from the project GitHub page, imported into your project and used straight away.

Many of our gadgets are powered by CR2032 cells—so many so that eliminating the need for them leads to interesting projects, like this sweet USB-powered CR2032 eliminator. But how far can you push the humble cell? Well, we held a contest a few years ago to find out!

Experimenting With MicroPython On The Bus Pirate 5

I recently got one of the new RP2040-based Bus Pirate 5 (BP5), a multi-purpose interface debugging and testing tool. Scanning the various such tools in my toolbox already: an Analog Discovery 2, a new Glasgow Interface Explorer, and a couple of pyboards, I realized they all had a Python or MicroPython user interface. A few people on the BP5 forums had tossed around the idea of MicroPython, and it just so happened that I was experimenting with building beta versions of MicroPython for a RP2350 board at the time. Naturally, I started wondering, “just how hard can it be to get MicroPython running on the BP5?”

The Lazy Approach

Rather than duplicating the BP5 firmware functionality, I decided to ignore it completely and go with existing MicroPython capabilities. I planned to just make a simple set of board definition files — perhaps Board Support Package (BSP) is a better term? I’ve done this a dozen times before for development and custom boards. Then write a collection of MicroPython modules to conform to the unique aspects in the BP5 hardware. As user [torwag] over on the Bus Pirate forums said back in March:

Micropython comes already with some modules and enough functions to get some stuff out-of-the-box working. E.g. the infamous version of “hello world” for microcontrollers aka led-blinking.

Continue reading “Experimenting With MicroPython On The Bus Pirate 5”

Mapping A Fruit Fly’s Brain With Crowdsourced Research

Example of a graph representation of one identified network with connections coded by neurotransmitter types. (Credit: Amy Sterling, Murthy and Seung Labs, Princeton University)
Example of a graph representation of one identified network with connections coded by neurotransmitter types. (Credit: Amy Sterling, Murthy and Seung Labs, Princeton University)

Compared to the human brain, a fruit fly (Drosophila melanogaster) brain is positively miniscule, not only in sheer volume, but also with a mere 140,000 or so neurons and 50 million synapses. Despite this relative simplicity, figuring out how the brain of such a tiny fly works is still an ongoing process. Recently a big leap forward was made thanks to crowdsourced research, resulting in the FlyWire connectome map. Starting with high-resolution electron microscope data, the connections between the individual neurons (the connectome) was painstakingly pieced together, also using computer algorithms, but with validation by a large group of human volunteers using a game-like platform called EyeWire to perform said validation.

This work also includes identifying cell types, with over 8,000 different cell types identified. Within the full connectome subcircuits were identified, as part of an effort to create an ‘effectome’, i.e. a functional model of the physical circuits. With the finished adult female fruit fly connectome in hand, groups of researchers can now use it to make predictions and put these circuits alongside experimental contexts to connect activity in specific parts of the connectome to specific behavior of these flies.

Perhaps most interesting is how creating a game-like environment made the tedious work of reverse-engineering the brain wiring into something that the average person could help with, drastically cutting back the time required to create this connectome. Perhaps that crowdsourced research can also help with the ongoing process to map the human brain, even if that ups the scale of the dataset by many factors. Until we learn more, at this point even comprehending a fruit fly’s brain may conceivably give us many hints which could speed up understanding the human brain.

Featured image: “Drosophila Melanogaster Proboscis” by [Sanjay Acharya]