We’ve devoted a fair amount of virtual ink here to casting shade at self-driving vehicles, especially lately with all the robo-taxi fiascos that seem to keep cropping up in cities serving as testbeds. It’s hard not to, especially when an entire fleet of taxis seems to spontaneously congregate at a single point, or all it takes to create gridlock is a couple of traffic cones. We know that these are essentially beta tests whose whole point is to find and fix points of failure before widespread deployment, and that any failure is likely to be very public and very costly. But there’s someone else in the self-driving vehicle business with way, WAY more to lose if something goes wrong but still seems to be nailing it every day. Of course, we’re talking about NASA and the Perseverance rover, which just completed a record drive across Jezero crater on autopilot. The 759-meter jaunt was completely planned by the onboard AutoNav system, which used the rover’s cameras and sensors to pick its way through a boulder-strewn field. Of course, the trip took six sols to complete, which probably would result in negative reviews for a robo-taxi on Earth, and then there’s the whole thing about NASA having a much bigger pot of money to draw from than any start-up could ever dream of. Still, it’d be nice to see some of the tech on Perseverance filtering down to Earth.
Kaluma Puts JavaScript On The RP2040
With a simple firmware update, Kaluma puts a lightweight JavaScript runtime on the Raspberry Pi Pico (which uses the RP2040 microcontroller), providing handy modules for file systems, graphics, networking, and more. Code for a simple LED blink can then look like:
// index.js const led = 25; pinMode(led, OUTPUT); setInterval(() => { digitalToggle(led); }, 1000);
Development can then be done using tools that are very familiar to JavaScript developers, such as npm
and flashing new code to a USB-connected Pico with the (Node.js-based) Kaluma command-line interface. Take a look at the GitHub repository for the project, or browse some of the projects made with Kaluma.
Much like with MicroPython, there’s value to be had in putting implementations of high-level languages on microcontrollers. Each new language opens embedded programming to a whole new group of coders. But it’s not just languages making their way to the RP2040. Wonderful projects such as emulating the ZX Spectrum on an RP2040 also happen.
Thanks to [Shri Hari Ram] for the tip!
These DIY Super Headphones Take Sound Seriously
[Pete Lewis] from SparkFun takes audio and comfort seriously, and recently shared details on making a customized set of Super Headphones, granting quality sound and stereo ambient passthrough, while providing hearing protection at the same time by isolating the wearer from the environment.
Such products can be purchased off the shelf (usually called some variant of “electronic hearing protection”), but every hacker knows nothing beats some DIY to get exactly the features one wants. After all, off-the-shelf solutions are focused on hearing protection, not sound quality. [Pete] also wanted features like the ability to freely adjust how much ambient sound was mixed in, as well as the ability to integrate a line-level audio source or Bluetooth input.

On the surface the required components are straightforward, but as usual, the devil is in the details. Microphone selection, for example, required a lot of testing. A good microphone needed to be able to deal with extremely loud ambient sounds without distortion, yet still be sensitive enough to be useful. [Pete] found a good solution, but also muses that two sets of microphones (one for loud environments, and one for quieter) might be worth a try.
After several prototypes, the result is headphones that allow safe and loud band practice in a basement as easily as they provide high-quality music and situational awareness while mowing the lawn. Even so, [Pete]’s not done yet. He’s working on improving comfort by using photogrammetry to help design and 3D print custom-fitted components.
ESP32 Keeps Track Of Hot Tub’s Vital Signs
Like swimming pools, hot tubs need regular monitoring to ensure their water stays clean and clear. An average person might take a water quality reading once or twice a week using test strips, but such a low sampling rate obviously won’t do for a hacker. [Stephen Carey] has therefore built a hot tub monitor that checks the water quality every minute and reports it on a neat mobile dashboard.
[Stephen]’s system uses commercially available sensors that track pH levels and Oxidation-Reduction Potential (ORP), both basic measurements that indicate water quality. A second set of sensors keeps track of the temperature of the water and the outside air, which should help in finding insulation failures and keeping energy use under control.
An ESP32 reads the sensors and sends out the data through WiFi. [Stephen] programmed the ESP32 in MicroPython, using an MQTT driver to connect it to Home Assistant. By looking at the graphs generated, you can tell when someone entered the tub from a step change in pH and ORP. It’s even possible to generate alerts when any of the values drift outside their acceptable range – we can already imagine an alarm going off when someone enters without having showered first.
The system also has a calibration mode to check the sensors against a well-defined buffer solution. As with many chemical sensors, the pH and ORP probes gradually lose their active material and need to be replaced after about a year. Good ones aren’t cheap, but [Stephen] has found pretty decent low-cost alternatives on AliExpress that should be fine for a home setup.
If you also want your tub or pool to be actively managed, you’ll need a more complex system, perhaps even one that can also dispense chemicals. If your hot tub is heated by a wood fire, however, all you need is a way to alert the person tending the fire.
Overclocking Raspberry Pi 5’s SoC To 3 GHz And 1 GHz GPU
Overclocking computer systems is a fun way to extract some free performance, or at least see how far you can push the hardware before you run into practical limitations. The newly released Raspberry Pi 5 with BCM2712 SoC is no exception here, with Tom’s Hardware having a go at seeing how far both the CPU and GPU in the SoC can be pushed. The BCM2712’s quad Cortex-A76 CPU is normally clocked at 2.4 GHz and the VideoCore VII GPU at 800 MHz. By modifying some settings in the /boot/config.txt
configuration file these values can be adjusted.
In order to verify that an overclock was stable, the Stressberry application was used, which fully loads the CPU cores. Here something like a combination of stress-ng and glxgears could also be used, to stress both the CPU and GPU. With the official actively cooled heatsink the CPU reached a temperature of 74°C with a whole board power usage of about 10 Watts. At idle this dropped to 3 Watts at 46°C. At these speeds, the multiple Raspberry Pi 5 units OCed by Tom’s Hardware were mostly stable, though one of the team’s boards experienced a few crashes. This suggests that this level of OCing could still be subject to luck of the draw, and long-term stability would have to be investigated as well.
As for the practical use cases of OCing your Raspberry Pi 5, benchmarks showed a marked uplift in compression and Sysbench benchmark scores, but OCing the GPU had no real positive impact on YouTube or 3D performance, leading even to a massive increase in dropped frames with video playback. This probably means that increasing the CPU clock may be beneficial, but OCing the GPU could be futile without also OCing the RAM frequency, if at all possible.
Realistically, the Raspberry Pi SoCs never were speed monsters, with even the Raspberry Pi 4B’s SoC being beaten handily in 2020 by a budget dual-core Intel CPU. The current Intel Alder-Lake-N-based N100 SoC has a 6 Watt TDP and boosts up to 3.4 GHz while its Xe-LP-based iGPU (with AV1 decoding support) makes for a decent gaming experience within a ~16 Watt power envelope. Clearly, any OCing of the Raspberry Pi boards is more for the challenge of it, but then so is running the latest Intel CPU at 10 GHz with liquid nitrogen cooling.
A Spinning Egg For Your Thoughts
Brushless motors are fascinating devices that come in all sorts of shapes and sizes, but you’ve probably never seen one in the form of a free-spinning shiny metal egg. Created by [David Windestål], [Giacomo Di Muro], and [Chad Kapper], the Motion Zero is part top, part brushless motor, and fully mesmerizing. Tech overview video after the break.
Like the classic Tippe Top toy, an ovoid shape like this shiny metal egg will stand on its end if it’s spun fast enough. To do this, the team embedded magnets in the metal egg, effectively turning it into a rotor. An array of 4 PCB coils under a smooth concave surface serves as the stator. Because the egg is not held in position by a shaft, hall effect sensors were incorporated to determine the position of the egg, and properly control the state of the coils to keep it spinning.
Recognizing how easy it was to get lost in thought while staring at a shiny spinning egg, the rest of the device was designed with meditation in mind. The top cover is a block of aluminum machined with ripple patterns, with ball bearings that slide between the ripples as the control interface. Additional hall effect sensors on the PCB determine the position of the balls to adjust the rotation speed and shut-off timer. You can even choose to make the egg move around or remain in one position. The main controller is an ESP32 module, which reads all the hall effect sensors and controls the coils via motor drivers.
The Motion Zero has made its debut on Kickstarter and already exceeded its initial funding goal. We like the creators’ willingness to share the inner workings of a product that manages to transform a simple concept into a mesmerizing piece of engineering artistry.
We’ve seen a good bit of [David Windestål]’s has a fascination with weird tech over the years, like racing belt sanders, fire breathing waterfowl, tri and bicopters. He even built a prop anti-drone RF cannon for a movie.
The Magic Of A Diode Sampler To Increase Oscilloscope Bandwidth
Making an oscilloscope is relatively easy, while making a very fast oscilloscope is hard. There’s a trick that converts a mundane instrument into a very fast one, it’s been around since the 1950s, and [CuriousMarc] has a video explaining it with an instrument from the 1960s. The diode sampler is the electronic equivalent of a stroboscope, capturing parts of multiple cycle of a waveform to give a much-slowed-down representation of it on the screen. How it works is both extremely simple, and also exceptionally clever as some genius-level high-speed tricks are used to push it to the limit. We’ve put the video below the break.
[Marc] has a Keysight 100 MHz ‘scope and the sampler allows him to use it to show 4 GHz. Inside the instrument is a pair of sample-and-hold circuits using fast diodes as RF switches, triggered by very low-rise-time short pulses. Clever tricks abound, such as using the diode pair to cancel out pulse leakage finding its way back to the source. To complete this black magic, an RF-tuned stub is utilized to help filter the pulses and further remove slower components.
It’s slightly amusing to note that the Keysight 100 MHz ‘scope is now “slow” while the early sampling ‘scopes had their “fast” capabilities in that range. The same technique is still used today, in fact, you probably have one on your bench.
The sampler he’s showing us is an accessory for another instrument we’ve previously shown you his work with.
Continue reading “The Magic Of A Diode Sampler To Increase Oscilloscope Bandwidth”