Screenshot of a terminal showing the HELP command in action - outputting descriptions of other commands

Let’s Make SCPI More Helpful

The SCPI (Standards Command for Programmable Instruments) protocol is exceptionally popular in lab and workspace tools, letting you configure and fetch data from oscilloscopes and lab scales alike in a standardized way. However, when interfacing with a SCPI device, you need to use a programming guide document if you want to know the commands for any of the inevitably extended features; essentially, SCPI isn’t as human-friendly as you might want. [MisterHW] argues that SCPI could use more discoverability by proposing a HELP? command.

This proposal is so intuitive, it makes you wonder why it isn’t in the base spec. It adds a built-in command that provides information on other commands. Internally, the description is just an extra string parameter that you add to your command definition code, and you can use it to describe the parameter types and ranges it takes. The output is both human-readable and machine-parseable, and as it’s stored within your code, it’s way quicker to update the description string than it is to re-release programming guides. Which are themselves prone to being outdated as-is, so decreasing reliance on them is a win-win.

The proposal makes a lot of sense, and [MisterHW] is willing to back it up with a pull request to the most popular SCPI library, libscpi. Whenever the pull request finally goes through, you will have the option to easily add the HELP? command support to whatever SCPI-connected device you might have brewing.

While the old devices will eventually fade, SCPI is not about to die out – hackers keep building devices with SCPI as the communication protocol, as the spec is quite powerful. For instance, here’s this fancy temperature logger, or this Source Measurement Unit – both of them use SCPI for hacker-to-device data transfer, and it’s likely to be libscpi under the hood. Ever wondered what SCPI is all about? Check out our overview!

China’s New 100 MPH Train Runs On Hydrogen And Supercaps

Electric cars are very much en vogue right now, as the world tries to clean up on emissions and transition to a more sustainable future. However, these vehicles require huge batteries as it is. For heavier-duty applications like trucks and trains, batteries simply won’t cut the mustard.

Normally, the solution for electrifying railways is to simply string up some wires and call it a day. China is trying an alternative solution, though, in the form of a hydrogen-powered train full of supercapacitors.

Continue reading “China’s New 100 MPH Train Runs On Hydrogen And Supercaps”

Cheap Kitchen Scale Learns To Speak JSON With ESP32

Smart kitchen appliances are expensive, and more often than not, your usage data goes to whichever company operates the inevitable cloud service. Meanwhile the cheap ones contain substantially the same components without the smarts, so surely a hardware hacker can add a microcontroller to a cheap appliance for a bit of smart home technology without the privacy issues? It’s something [Liore] has done with an Amazon Basics kitchen scale, removing the electronics and wiring up an ESP32 to the load cell instead.

The Wheatstone bridge load cell circuit generates a tiny voltage difference that’s far too small for an ESP32 to measure, so in between the pair is an Avia Semiconductor HX711 strain gauge amplifier module. In addition, there’s a small OLED screen and the two buttons used in the Amazon scale are wired in too, providing the the kitchen scale functionality you’d expect.

Naturally the ESP32 brings along with it WiFi networking capabilities, which [Liore] has taken full advantage of here. By navigating a web browser to its IP address, you’ll receive the scale’s current reading in JSON format. This should make it easy to integrate with other systems, from Home Assistant to OctoPrint. We can see that there is plenty of scope for further enhancements for those prepared to write a little code.

Of course, this isn’t the first enhanced scale we’ve brought you, here’s one with Bluetooth. We’ve also seen hackers dispense with the kitchen-safe trappings and build the load cell directly into their own contraptions.

Copy And Paste Lithium Battery Protection

Lithium batteries have, nearly single-handedly, ushered in the era of the electric car, as well as battery energy storage of grid power and plenty of other technological advances not possible with older battery chemistries. There’s just one major downside: these lithium cells can be extremely finicky. If you’re adding one to your own project you’ll have to be extremely careful to treat them exactly how they are designed to be treated using something like this boilerplate battery protection circuit created by [DIY GUY Chris].

The circuit is based around the TP4056 integrated circuit, which handles the charging of a single lithium cell — in this design using supplied power from a USB port. The circuit is able to charge a cell based on the cell’s current charge state, temperature, and a model of the cell. It’s also paired with a DW01A chip which protects the cell from various undesirable conditions such as over-current, overcharge, and over-voltage.

The best thing about this design isn’t the design itself, but that [DIY GUY Chris] built the circuit schematic specifically to be easily copied into PCB designs for other projects, which means that lithium batteries can more easily be integrated directly into his other builds. Be sure to check out our primer on how to deal with lithium batteries before trying one of your own designs, though.

Continue reading “Copy And Paste Lithium Battery Protection”

The Chipwhisperer adapter plugged into a ChipWhisperer, with the STM chip mentiuoned soldered on

ChipWhisperer Adapter Helps Reverse-Engineer A Controversial Game Cartridge

The ChipWhisperer has been a breakthrough in hobbyist use of power analysis and glitching attacks on embedded hardware. If you own one, you surely have seen the IDC and SMA sockets on it – usable for connecting custom breakouts housing a chip you’re currently probing. Today, [MAVProxyUser] brings us a ChipWhisperer adapter for STM32F446ZEJx, which comes in a UFBGA144 package – and the adapter has quite a backstory to it.

In retro gaming world, a crowdfunding campaign for a game called PAPRIUM has seen a huge success getting funded in 2017. However, the campaign has grossly underdelivered throughout the last five years, and out of those rare cartridges delivered to backers, quite a few have faulty hardware. Getting replacements isn’t realistic at this point, so the repair attempts and game preservation efforts have been ongoing. Trouble is – there are protection mechanisms against dumping the cartridges, and one of the protection mechanisms is the built-in flash read protection of the aforementioned STM32 found on the cartridge. This board adapts the chip to a ChipWhisperer interface for protection bypass exploration, and has quite a few configuration jumpers anyone facing a similar chip is able to use – Eagle files are out there as well, in case your chip needs a slightly different approach.

With reverse-engineering underway, are we likely to see this cartridge’s defenses fall? Our assessment is ‘yes’ – it’s not like there’s a shortage of mechanisms for bypassing security ; from modchips to EMP attacks to blasting the die with a laser, hardware-reliant security is, still, quite bypassable. All in all, despite the drama around the project, this is one more reference design for the ChipWhisperer, and a fun journey to look forward to.

Not A Pot, Not An Encoder: Exploring Synchros For Rotational Sensing

We’re all familiar with getting feedback from a rotating shaft, for which we usually employ a potentiometer or encoder. But there’s another device that, while less well-known, has some advantages that just might make it worth figuring out how to include it in hobbyist projects: the synchro.

If you’ve never heard of a synchro, don’t feel bad; as [Glen Akins] explains, it’s an expensive bit of kit most commonly found in avionics gear. It’s in effect a set of coaxial transformers with a three-phase stator coil and a single-phase rotor. When excited by an AC reference voltage, the voltage induced on the rotor coil is proportional to the cosine of the angle between the rotor and stator. It seems simple enough, but the reality is that synchros present some interfacing challenges.

[Glen] chose a surplus altitude alert indicator for his experiments, a formidable-looking piece of avionics. Also formidable was the bench full of electronics needed to drive and decode the synchro inside it — a 26-volt 400-Hz AC reference voltage generator, an industrial data acquisition module to digitize the synchro output, and an ESP32 dev board with a little OLED display to show the results. And those are impressive; as seen in the video below, the whole setup is capable of detecting tenth-of-a-degree differences in rotation.

The blog post has a wealth of detail on using synchros, as does this Retrotechtacular piece from our own [Al Williams]. Are they practical for general hobbyist use? Probably not, but it’s still cool to see them put to use.

Continue reading “Not A Pot, Not An Encoder: Exploring Synchros For Rotational Sensing”

A graphic showing the suggested footprint dimensions for 0402 parts

Want Better 0402 Reflow? Consider These Footprints!

Assembling with a stencil is just that much more convenient – it’s a huge timesaver, and your components no longer need to be individually touched with a soldering iron for as many times as they have pads. Plus, it usually goes silky smooth, the process is a joy to witness, and the PCB looks fantastic afterwards! However, sometimes components won’t magically snap into place, and each mis-aligned resistor on a freshly assembled board means extra time spent reflowing the component manually, as well as potential for silent failures later on. In an effort to get the overall failure rate down, you will find yourself tweaking seemingly insignificant parameters, and [Worthington Assembly] proposes that you reconsider your 0402 and 0201 footprints.

Over the years, they noticed a difference in failure rates between resistor&capacitor footprints on various boards coming in for assembly – the size and positioning of the footprint pads turned out to be quite significant in reducing failure rate, even on a tenth of millimeter scale. Eagle CAD default footprints in particular were a problem, while a particular kind of footprint never gave them grief – and that’s the one they recommend we use. Seeing the blog post become popular, they decided to share their observations on 0201 as well, and a footprint recommendation too. Are your 0402 resistors giving you grief? Perhaps, checking the footprints you’re using is a good first step.

The 0402 and 0201 components are in a weird spot, where soldering iron assembly is no longer really viable, but the stencil+reflow approach might not be unilaterally successful when you start off – fortunately, that’s where writeups like these come in. Interested in learning stenciling? Get some solder paste, and read up on all the different ways you can put it onto your boards.