img showing terminal and pico

I3C Bit-banging Fun For The RP2040

The RP2040 has quickly become a hot favorite with tinkerers and makers since its release in early 2021. This is largely attributed to the low cost, fast GPIOs, and plethora of bus peripherals. [xyphro] has written the I3C Blaster firmware that helps turn the Raspberry Pi Pico into a USB to I3C converter.

The firmware is essentially a bit-bang wrapper and exposes an interactive shell with a generous command set. But it is a lot more than that. [xyphro] has taken the time to dive into the I3C implementation standard and the code is a fairly complex state-machine that is a story on its own.

[xyphro] provides a Python script in case you feel like automating things or drawing up your GUI. And finally, if you are feeling adventurous, the I3C implementation is available for your project tinkering needs.

We loved the fact there is a branch project that lets you extend a Saleae Logic Analyzer to decode I3C and associated protocols by adding a Pico on the cheap. The last update to the project log shows the addition of a MIPI I3C High Data Rate Mode which operates at 25 Mbps which is right up the RP2040s.

[xyphro] gave us the Home Brew Version Of Smart Tweezers a decade ago and we expect there is more to come. If you are interested in reading more about the I3C bus, have a look at I3C — No Typo — Wants To Be Your Serial Bus.

Learn New Tools, Or Hone Your Skill With The Old?

Buried in a talk on AI from an artist who is doing cutting-edge video work was the following nugget that entirely sums up the zeitgeist: “The tools are changing so fast that artists can’t keep up with them, let alone master them, before everyone is on to the next.” And while you might think that this concern is only relevant to those who have to stay on the crest of the hype wave, the deeper question resounds with every hacker.

When was the last time you changed PCB layout software or refreshed your operating system? What other tools do you use in your work or your extra-curricular projects, and how long have you been using them? Are you still designing your analog front-ends with LM358s, or have you looked around to see that technology has moved on since the 1970s? “OMG, you’re still using ST32F103s?”

It’s not a simple question, and there are no good answers. Proficiency with a tool, like for instance the audio editor with which I crank out the podcast every week, only comes through practice. And practice simply takes time and effort. When you put your time in on a tool, it really is an investment in that it helps you get better. But what about that newer, better tool out there?

Some of the reluctance to update is certainly sunk-cost fallacy, after all you put so much sweat and tears into the current tool, but there is also a real cost to overcome to learn the new hotness, and that’s no fallacy. If you’re always trying to learn a new way of doing something, you’re never going to get good at doing something, and that’s the lament of our artist friend. Honing your craft requires focus. You won’t know the odd feature set of that next microcontroller as well as you do the old faithful – without sitting down and reading the datasheet and doing a couple finger-stretching projects first.

Striking the optimal balance here is hard. On a per-project basis, staying with your good old tool or swapping to the new hotness is a binary choice, but across your projects, you can do some of each. Maybe it makes sense to budget some of your hacking time into learning new tools? How about ten percent? What do you think?

JTAG & SWD Debugging On The Pi Pico

[Surya Chilukuri] writes in to share JTAGprobe — a fork of the official Raspberry Pi debugprobe firmware that lets you use the low-cost microcontroller development board for JTAG and SWD debugging just by flashing the provided firmware image.

We’ve seen similar projects in the past, but they’ve required some additional code running on the computer to bridge the gap between the Pico and your debugging software of choice. But [Surya] says this project works out of the box with common tools such as OpenOCD and pyOCD.

As we’ve cautioned previously, remember that the Pi Pico is only a 3.3 V device. JTAG and SWD don’t have set voltages, so in the wild you could run into logic levels from 1.2 V all the way to 5.5 V. While being able to use a bare Pico as a debugger is a neat trick, adding in a level shifter would be a wise precaution.

Looking to get even more use out of those Pi Picos you’ve got in the parts bin? How about using it to sniff USB?

A Field Expedient Welder Only MacGyver Could Love

If you needed to weld something in a pinch, what’s the minimum complement of equipment you could get away with? In [Professor Bardal]’s case, it’s a couple of motorcycle batteries and a roll of flux-core wire, and not much else.

We suspect this one is going to elicit quite a few comments, not least by the welding fans who no doubt will be triggered by just about everything in the video below, especially by characterizing this as MIG welding; it’s FCAW, or flux-core arc welding. But it bears some superficial similarities to MIG, at least insofar as there’s a consumable wire electrode through which a high-current DC supply flows, creating enough heat to melt it and the base metal. In this case, the current is provided by a pair of 12-volt motorcycle batteries hooked together in series. There’s also a torch of sorts — a short length of copper capillary tubing with a 1-mm inside diameter clamped in the jaws of a stick welder stinger, or a pair of locking pliers if you’re really in a pinch. The torch is connected to the negative terminal on the battery with a jumper cable, and the positive terminal is connected to the workpiece.

To create the weld, a piece of 0.8-mm flux-core welding wire is threaded through the capillary and into the joint, and fed by hand as it’s consumed. It’s awkward and awful, but it works. Of course, there’s no control over amperage as there would be with a legit welding machine, which would make it hard to adapt this method to different materials. Weld quality appears poor, too. But we suspect that if you were in a position to need a welder like this, you wouldn’t really care about any of that.

Fabricobbled welding rigs seem to be [Professor Bardal]’s thing — witness this much more professional MIG welder, complete with a baking soda and vinegar shielding gas generator.

Continue reading “A Field Expedient Welder Only MacGyver Could Love”

Simple Hardware Store Hack Keeps Your PCBs Right Where You Want Them

Sometimes it’s the simplest hacks that make the biggest impact.

Take these DIY magnetic PCB vises for example. Sure, you can go out and buy purpose-built tools, but [Dylan Radcliffe] just made a trip to the hardware store for some nuts and bolts. He chose 3/8″-16 bolts, which would probably be around M10 for the rest of the world. The head of each bolt is ground flat so a ceramic disc magnet can be attached to it with CA glue, while the head of the bolt gets a plastic washer glued to it. Another plastic washer gets glued to a nut, which when threaded onto the bolt provides the light clamping force needed to hold a PCB. Make four of those and stick them to a steel plate with the magnets, and you can stop chasing your boards around the bench with a soldering iron.

As much as we like this idea — and we do; we’re heading to Home Depot to buy the needed parts this very evening — we can think of a few useful modifications. With a long bolt and two nuts rather than one, you could make a set of vises that are easily adjustable along the Z-axis. This could prove useful to those of us working under a microscope. Also, rather than making the bolts the magnetic part we bet you could lay down a flexible magnetic sheet, the kind you can feed into a printer to roll your own fridge magnets. We suspect that would hold the bolts firmly enough for most work while still allowing easy repositioning. We’d also favor flange nuts over plain hex nuts, to give a larger clamping area. We’d still include the plastic washers, though, or possibly switch to rubber ones.

There’s more than one way to skin this cat, of course, especially if you’ve got a Harbor Freight nearby and a well-stocked Lego bin.

Using The ESP8266 For Low-Cost Fault Injection

As a general concept, fault injection is a technique that studies how a system reacts to unusual or unexpected external forces. The idea is that, if you can trigger a glitch at the precise moment, you might be able to use that to your advantage in disabling security features or otherwise gaining further access to the device in question. In the hardware world, this could be achieved by fiddling with the power going into the device, or subjecting it to extreme temperatures.

We’ve covered voltage glitching attacks on these pages in the past, but most of the tools used are fairly expensive if you’re not doing this kind of thing professionally. Luckily for us, [Aditya Patil] has developed a fault injection tool that can run on a standard ESP8266 development board. Obviously it’s not as capable as a bespoke device costing hundreds of dollars, but if you just want to experiment with the concept, it’s a fantastic way to wrap your head around it all.

Continue reading “Using The ESP8266 For Low-Cost Fault Injection”

IFixit Releases Command Line Docs For FixHub Iron

When we reviewed the iFixit FixHub back in September, one of the most interesting features of the portable soldering station was the command line interface that both the iron and the base station offered up once you connected to them via USB. While this feature wasn’t documented anywhere, it made a degree of a sense, as the devices used WebSerial to communicate with the browser. What was less clear at the time was whether or not the user was supposed to be fiddling with this interface, or if iFixit intended to lock it up in a future firmware update.

Thanks to a recent info dump on GitHub, it seems like we have our answer. In the repo, iFixit has provided documentation for each individual command on both the iron and base, including some background information and application notes for a few of the more esoteric functions. A handful of the commands are apparently disabled in the production version of the firmware, but there’s still plenty to poke around with.

Continue reading “IFixit Releases Command Line Docs For FixHub Iron”