If you’re a paranoid system admin, [errbufferoverfl] has your back with software that keeps track of whenever someone plugs in or disconnects an USB-based device from a workstation.
Christened USB Canary, [errbufferoverfl’s] tool is written in Python. However, even though Python is cross-platform, USB Canary only works on Linux currently. But, fret not: [errbufferoverfl] is already working on Windows and Mac versions.
Primarily, USB Canary watches USB connectors for any activity and logs anything it sees. Moreover, when a USB device is plugged in or unplugged, USB Canary can alert the owner of the workstation via an SMS message courtesy of the Twilio API, post a message in a Slack channel or even make a noise to alert a nearby sysadmin. Additionally, USB Canary can be configured to only run when the workstation is locked (if you’re not completely paranoid).
[errbufferoverfl’s] USB Canary was born out of dissatisfaction with current workstation monitoring tools. You see, most tools only notify users after someone has logged on. [errbufferoverfl] points out that there are means to automate attacks without logging in, and we can think of many unsavory things that can be done when logged out.
While USB Canary won’t protect you from -220V , it might at least warn of a BadUSB attack. But, for the really paranoid, why not try GoodUSB?
Back the late 2000s, when netbooks were the latest craze, some models would come with an inbuilt 3G modem for Internet access. At the time, proper mobile Internet was a hip cool thing too — miles ahead of the false prophet known as WAP. These modems would often slot into a Mini PCI-e slot in the netbook motherboard. [delokaver] figured out how to use these 3G cards over USB instead.
It’s actually a fairly straightforward hack. The Mini PCI-e standard has a couple of pins dedicated to USB data lines, which the modem in question uses for communicating with the host computer. Unfortunately it’s not quite as simple as just soldering on a four-wire USB cable. The modem relies on the 3.3V power from the Mini PCI-e slot instead of the 5V from USB. No problem, just get a low-dropout 3.3V regulator and run that off the USB port. Then, it’s a simple enough matter of figuring out which pins are used to talk to the SIM card, and soldering them up to a SIM adapter, or directly to the card itself if you’re so inclined. The guide covers a single model of 3G modem but it’s likely the vast majority of these use a very similar setup, so don’t be afraid to have a go yourself.
Children of the 1980s who had an interest in technology were lucky indeed. As well as the first generations of home computers at their disposal they had the expectation to program them, something which the generation that followed had lost.
Traditional children’s publishers enthusiastically embraced the home computer boom, and probably for the only time in history there were books aimed at children covering subjects like machine code, or interfacing to microprocessors.
If you are British, the most memorable of these books came from Usborne Publishing. Their format of colourful cartoons and easy to digest layout have made them something of a cult object among the now-grown-up generation who first received them, and Usborne themselves have cleverly exploited their heritage to promote their current offerings by releasing some of them as PDFs. And now, to promote their latest title, “Coding For Beginners Using Python”, they’ve released five more (scroll down to see). Titles are “Practice Your BASIC”, “Better BASIC”, “Computer Controlled Robots”, “Experiments With Your Computer”, and “Keyboards & Computer Music”, which join the fifteen they’ve already released.
Obviously they are heavily based around the microcomputers of the 1980s, but of course for most Hackaday readers that will be their chief attraction. Either way they’re an interesting read, and should you happen to have a few old micros lying around then maybe you could have a go at some of the projects.
Easy Bake Ovens have changed a lot since you burnt down your house by installing a 100 Watt light bulb inside one. Now, Easy Bake Ovens are [bigclive] material. It’s a piece of nichrome wire connected through a switch across mains power. Part of the nichrome wire is a resistor divider used to power a light. This light assembly is just a LED, some resistors, and a diode wired anti-parallel to the LED.
This is a device designed for 120 V, but [Jason] wanted it to run on USB-C. While there are USB-C chargers that will supply enough power for an Easy Bake Oven, the voltage is limited to 20V. Rather than step up the USB-C voltage, [Jason] added some nichrome wires to divide it into six equal segments, then wired all the segments in parallel. This lowers the voltage by one sixth and increases the current by a factor of six. Good enough.
The power supply used for this hack is the official Apple 87W deal, with a USB-C breakout board (available on Tindie, buy some stuff on Tindie. Superliminial advertising) an Arduino Uno connected to the I2C pins. A few bits of code later, and [Jason] had a lot of power coming over a USB cable.
With the Easy Bake Oven fully converted, [Jason] whipped up a batch of cookie mix. After about 15 minutes the cookies crisped up and started to look almost appetizing.
While the result is weird — who on Earth would ever want a USB-powered Easy Bake Oven — this is honestly a fantastic test of [Jason]’s USB-C PHY breakout board. What better way to test a USB-C than a big resistive load, and what better resistive load is there than an Easy Bake Oven? It’s brilliant and hilarious at the same time.
[Robert Nixdorf] frequently needs to use this high-end audio recorder, but it sucks dry a set of eight AA batteries in just a few hours. Obviously a longer lasting solution was required, and he started scouring the web looking for an answer. He bought a Quick Charge power bank and then hacked a Digispark to negotiate with the power bank to provide 12V output to Quick Charge his audio recorder.
Qualcomm’s Quick Charge system is designed to provide increased output voltages to reduce charging time in QC compatible devices such as mobile phones powered by their Snapdragon range of SoC’s. Depending on how the end-point negotiates with the charger, either 5V, 9V or 12V outputs are supported.
You can dig into the details in Qualcomm’s Quick Charge Patent [PDF] which shows how the system works. Quite simply, the voltage provided by the charger depends on the signals set on the D+ and D- data pins during the initial handshaking phase. [Robert] found it easy to get his QC charger to provide the required voltage by using a 3V3 voltage regulator and a resistive divider. But a more permanent solution would be needed if he wanted to use it on the field.
His parts bin revealed a Digispark board and he set about hacking it. He isolated the VUSB from the rest of his board since it would get pulled up to 12V when in use. And then replaced the existing 5V regulator with a 3V3 one. This required several bodges which he has documented on his blog. Some simple code flashed on the ATtiny85 handles all of the handshaking and sets up 12V output to run his audio recorder. A single charge on the power bank now lasts him almost 12 hours, so he’s pretty satisfied with the hack.
Quick Charge is currently at version 4 and supports USB-C and USB-PD hardware such as cables and connectors. But it seems using USB-C hardware outside of the current USB-C specifications is deprecated, with reports suggesting Google is asking OEM’s not to use Quick Charge but stick to USB-PD. Let’s hope this gets settled one way or another soon.
If you’ve ever needed an example of why you should not plug random USB peripherals into your computer, you need only look at BadUSB. The BadUSB attack relies on the fact that the microcontroller inside every USB device is a black box. If you plug a USB thumb drive into your computer, the microcontroller could quickly set up an additional network interface, forward all your traffic to the attacker’s server, and still keep serving up all those files and documents on the drive. Do you want a thumb drive that attaches a virus to every file? Bad USB can do that.
Until now, there is no cure or fix for a device using an implementation of BadUSB. [Robert Fisk] just came up with the first prophylactic USB device, designed to keep BadUSB off your computer. He’s calling it USG, and it’s basically a hardware firewall for USB devices.
The basic design of the system goes something like this: take an ARM microcontroller with a USB host port, take another microcontroller with a USB device port, and have these devices talk to each other over SPI. The command protocol between these two microcontrollers is very simple, and thus decreases the attack surface.
[Robert] is building USG dongles, but in the spirit of Open Hardware and verifiable hardware, he’s also released a design based on two dev boards wired together. This DIY version is basically two STM32F4 dev boards smashed together with bodge wires. The total cost – less solder and a JTAG programmer – is about $50 USD. No, it doesn’t look as pretty as [Robert]’s commercial version of USG, but it does the same job of keeping your computer safe from BadUSB devices.
Some time back we ran a post on those cheap USB soldering irons which appeared to be surprisingly capable considering they were really under powered, literally. But USB Type-C is slated to change that. Although it has been around for a while, we are only now beginning to see USB-C capable devices and chargers gain traction. USB-C chargers featuring the USB-PD option (for power delivery) can act as high power sources allowing fast charging of laptops, phones and other devices capable of negotiating the higher currents and voltages it is capable of sourcing. [Julien Goodwin] shows us how he built a USB-C powered soldering iron that doesn’t suck.
He is able to drive a regular Hakko iron at 20 V and 3 Amps, providing it with 60 W of input power from a USB-C charger. The Hakko is rated for 24 V operating voltage, so it is running about 16% lower power voltage. But even so, 60 W is plenty for most cases. The USB-C specification allows up to 5 A of current output in special cases, so there’s almost 100 W available when using this capability.
It all started while he was trying to consolidate his power brick collection for his various computers in order to reduce the many types and configurations of plugs. Looking around, he stumbled on the USB-PD protocol. After doing his homework, he decided to build a USB Type-C charger board with the PD feature based on the TI TPS65986 chip – a very capable USB Type-C and USB PD Controller and Power Switch. The TI chip is a BGA package, so he had to outsource board assembly, and with day job work constantly getting in the way, it took a fair bit of time before he could finally test it. Luckily, none of the magic smoke escaped from the board and it worked flawlessly the first time around. Here is his deck of slides about USB-C & USB-PD [PDF] that he presented at linux.conf.au 2017 Open Hardware Miniconf early this year. It provides a nice insight to this standard, including a look at the schematic for his driver board.
Being such a versatile system, we are likely to see USB-C being used in more devices in the future. Which means we ought to see high power USB Soldering Irons appearing soon. But at the moment, there is a bit of a “power” struggle between USB-C and Qualcomm’s competing “Quick Charge” (QC) technology. It’s a bit like VHS and Betamax, and this time we are hoping the better technology wins.