A render of the USB Blaster, showing all the major parts

The Cheapest USB Blaster Ever, Thanks To CH552

Here’s a CH552G-based USB Blaster project, in case you needed more CH552G in your life, which you absolutely do. It gives you the expected IDC-10 header ready for JTAG, AS, and PS modes. What’s cool, it fits into the plastic shell of a typical USB Blaster, too!

The PCB is flexible enough, and has all the features you’d expect – a fully-featured side-mounted IDC-10 header, two LEDs, a button for CH552 programming mode, and even a UART header inside the case. There’s an option to add level shifter buffers, too – but you don’t have to populate them if you don’t want to do that for whatever reason! The Hackaday.io page outlines all the features you are getting, though you might have to ask your browser to translate from Chinese.

Sadly, there’s no firmware or PCB sources – just schematics, .hex, BOM, and Gerber .zip, so you can’t fix firmware bugs, or add the missing USB-C pulldowns. Nevertheless, it’s a cool project and having the PCB for it is lovely, because you never know when you might want to poke at a FPGA on a short notice. Which is to say, it’s yet another CH552 PCB you ought to put in your PCB fab’s shopping cart! This is not the only CH552G-based programming dongle that we’ve covered – here’s a recent Arduino programmer that does debugWire, and here’s like a dozen more different CH552G boards, programmers and otherwise.

Soldering The Elusive USB C Port

Many SMD components, including some USB C ports, have their terminals under the component. When installed, the pins are totally hidden. So, how do you solder or unsolder them? That’s the problem [Learn Electronics Repair] encountered when fixing a Lenovo Yoga, and he shows us his solution in the video below.

He showed the removal in a previous video, but removal is a bit easier since you can just heat up the area, yank the connector, and then clean up the resulting mess at your leisure. Installation is harder because once the socket is down, you no longer have access to the pads.

Continue reading “Soldering The Elusive USB C Port”

USB HID And Run Exposes Yet Another BadUSB Surface

You might think you understand the concept of BadUSB attacks and know how to defend it, because all you’ve seen is opening a terminal window. Turns out there’s still more attack surface to cover, as [piraija] tells us in their USB-HID-and-run publication. If your system doesn’t do scrupulous HID device filtering, you might just be vulnerable to a kind of BadUSB attack you haven’t seen yet, rumoured to have been the pathway a few ATMs got hacked – simply closing the usual BadUSB routes won’t do.

The culprit is the Consumer Control specification – an obscure part of HID standard that defines media buttons, specifically, the “launch browser” and “open calculator” kinds of buttons you see on some keyboards, that operating systems, surprisingly, tend to support. If the underlying OS you’re using for kiosk purposes isn’t configured to ignore these buttons, they provide any attacker with unexpected pathways to bypass your kiosk environment, and it works astonishingly well.

[piraija] tells us that this attack provides us with plenty of opportunities, having tested it on a number of devices in the wild. For your own tests, the writeup has Arduino example code you can upload onto any USB-enabled microcontroller, and for better equipped hackers out there, we’re even getting a Flipper Zero application you can employ instead. While we’ve seen some doubts that USB devices can be a proper attack vector, modern operating systems are more complex and bloated than even meets the eye, often for hardly any reason – for example, if you’re on Windows 10 or 11, press Ctrl+Shift+Alt+Win+L and behold. And, of course, you can make a hostile USB implant small enough that you can build them into a charger or a USB-C dock.

USB image: Inductiveload, Public domain.

Multiply Your Multimeter With Relays And USB

Multimeters are a bit like potato chips: you can’t have just one. But they’re a lot more expensive than potato chips, especially the good ones, and while it’s tempting to just go get another one when you need to make multiple measurements, sometimes it’s not practical. That’s why something like this 2×4 relay-based multiplexer might be a handy addition to your bench

In this age of electronics plenty, you’d think that a simple USB relay board would be easy enough to lay hands on. But [Petteri Aimonen] had enough trouble finding a decent one that it became easier to just roll one up from scratch. His goal was to switch both the positive and negative test leads from up to four instruments to a common set of outputs, and to have two independent switching banks, for those times when four-lead measurements are needed. The choice of relay was important; [Petteri] settled on a Panasonic DPDT signal relay with low wetting current contacts and a low-current coil. The coils are driven by a TBD62783A 8-channel driver chip, while an STM32 takes care of USB duties.

The mechanical design of this multiplexer is just as slick as the electrical. [Petteri] designed the PCB to act as the cover for a standard Hammond project box, so all the traces and SMD components are mounted on the back. That just leaves the forest of banana-plug binding posts on the front, along with a couple of pushbuttons for manual input switching and nicely silkscreened labels. The multiplexer is controlled over USB using the SCPI protocol, which happily includes an instrument class for signal switchers.

We think the fit and finish on this one is fantastic, as is usual with one of [Petteri]’s builds. You’ll probably recall his calibrated current reference or his snazzy differential probe.

AxxSolder 3.0 Now Takes USB Power Delivery

If you’re big into the soldering iron scene, you’ve probably heard of the AxxSolder project. Now, it’s been updated with a whole host of nifty new features. It’s AxxSolder 3.0!

If you’re not intimately familiar with AxxSolder, it’s an open-source iron design based around the popular JBC soldering iron tips. Relying on the STM32G431CBT6 to run the show, it comes in two versions—a lightweight portable design, and a desktop version based around the JBC ADS soldering iron stand. So far, so familiar.

The new 3.0 version adds new functionality, however. Where the previous model ran off any old DC power source from 9 to 26 volts, the new version can run off a USB Power Delivery supply. Thus, you can grab any old USB-PD device, like a laptop charger, and run your iron off that.

The new version also uses a larger color TFT screen with some buttons added on as an improved user interface. Thermal performance is improved, and it’s additionally capable of measuring the current draw by the tip, so you can monitor the performance of the iron in great detail.

We’ve featured the AxxSolder project previously, too, along with some other great soldering iron projects. If you reckon you’ve just designed the hottest new soldering tool yourself, let us know about it!

Infotainment system playing back from USB. (Folkert van Heusden)

Create Virtual USB Sticks With A Raspberry Pi Zero

Playing back music files from USB sticks is a common feature these days, and is built-into the infotainment system in [Folkert van Heusden]’s Opel Astra. Unfortunately such USB playback features often come with a range of limitations on things like audio codecs, and in the case of [Folkert]’s car, a 1000 file limit. This had him looking at an alternative to lugging a lot of USB sticks around to avoid the horror of hearing the same songs within a week while commuting. The solution? Make a Raspberry Pi Zero into a virtual USB mass storage device using the Mass Storage Gadget (MSG) driver in the Linux kernel.

Picking USB storage as the ideal option here comes mostly from the age of the infotainment system, which lacks Bluetooth, and the audio input jack is rather crackly. Of course, having the Raspberry Pi Zero pretend to be a storage device via the MSG driver wouldn’t solve the file limit, but to get around this two Python scripts were written: one which creates images from a folder of music files, and another which randomly picks one of the available images from the Zero’s SD card and configures the MSG driver to use it.

As for the list of future improvements, there is mounting the RPi Zero’s SD card as read-only to deal with the power-off when the car is shut down, and the creating of images requires to be run as root due to the use of loopback devices. As a Proof-of-Concept it does seem to be on the right track.

It’s not just the older infotainment systems that get to have all the fun. If you’re lucky enough to have Linux running in the dashboard, you might be little more than a Bash script away from bending the system to your will.

A Simple Hack For Running Low-Power Gear From A USB Battery Pack

We’ve all been there. You’ve cooked up some little microcontroller project, but you need to unhook it from your dev PC and go mobile. There’s just one problem — you haven’t worked up a battery solution yet. “No problem!” you exclaim. “I’ll just use a USB battery pack!” But the current draw is too low, and the pack won’t stay on. “Blast!” you exclaim, because you’ve been watching too much Family Guy or something.

[PatH] had this very problem recently, when trying to work with Meshtastic running on a RAKwireless WisBlock Base Board. You’re supposed to hook up your own rechargeable LiPo battery, but [PatH] was in a hurry. Instead, a USB battery pack was pressed into service, but it kept shutting down. The simple trick was to just add a 100-ohm resistor across the device’s battery terminals. That took the current draw from just 15 mA up to 53 mA, which was enough to keep portable USB power banks interested in staying switched on.

It’s an easy hack for an oddball problem, and it just might get you out of a bind one day. If you’ve got any nifty tricks like this up your sleeve, don’t hesitate to let us know!