Raspberry Pi $2 WiFi Through Epic SDIO Hack

These are the times that we live in: the Raspberry Pi Zero comes out — a full freaking Linux computer on a chip for $5 — and people complain that it doesn’t have this or that. Top place on the list of desiderata is probably a tie between audio out and WiFi connectivity. USB is a solution for both of these, but with one USB port it’s going to be a scarce commodity, so any help is welcome.

Hackaday.io hacker [ajlitt] is looking for a way out of the WiFi bind. His solution? The Raspberry Pi series of chips has a special function on a bunch of the GPIO pins that make it easier to talk to SDIO devices. SDIO is an extension of the SPI-like protocol that’s used with SD memory cards. The idea with SDIO was that you could plug a GPS or something into your PDA’s SD card slot. We don’t have PDAs anymore, but the SDIO spec remains.

[ajlitt] dug up an SDIO driver for the ESP8089 chip, and found that you can liberate the ESP8266’s SPI bus by removing a flash memory chip that’s taking up the SPI lines. Connect the SPI lines on the ESP8266 to the SDIO lines on the Raspberry Pi, and the rest is taken care of by the drivers. “The rest”, by the way, includes bringing the ESP’s processor up, dumping new firmware into it over the SPI/SDIO lines to convince it to act as an SDIO WiFi adapter, and all the rest of the hardware communication stuff that drivers do.

The result is WiFi connectivity without USB, requiring only some reasonably fine-pitch soldering, and unlike this hack you don’t have to worry about USB bus contention. So now you can add a $2 WiFi board to you $5 computer and you’ve still got the USB free. It’s not as fast as a dedicated WiFi dongle, but it gets the job done. Take that, Hackaday’s own [Rud Merriam]!

Thanks [J0z0r] for the tip!

4 Port USB, Raspberry Pi Zero Piggy-Back Hack

[Frederick] decided his new Zero needed a USB hub. He noticed a small, on hand, USB hub was the same size as the Zero. As any good hacker would, he stripped it from its case to piggy-back it onto the Zero. What’s with the piggy-backing since we just saw that with another Zero hack that added a WiFi dongle? Is it something in the water? Nah, probably just a natural fit with the mini-sized Zero.

It certainly helps that the USB and power pads on the back of the Zero are available and of a good size to accept direct, soldered wire connections. The USB connections on the hub were a little more tricky. The wires were soldered to the surface mount pins of the mini-B connector. But [Frederick] managed to get that done, also.

A nice advantage of this hack is that a couple of soldered jumper wires let the Zero draw power from the hub’s wall-wart, eliminating one cable from those needed to work with the Pi. Using hot glue for strain relief on the wiring is a nice touch. To keep the boards from shorting he put a piece of foam between them and help them together with elastic bands. Simple and easy.

First Raspberry Pi Zero Hack – Piggy-Back WiFi.

And we have the first Raspberry Pi Zero hack! In less than 72 hours from the official release announcement [Shintaro] attached an Edimax WiFi USB Adapter directly to the USB solder pads on the Pi Zero. He couldn’t bear to disturb the small dimensions of the Pi Zero by using the USB On-the-Go (OTG). The OTG is needed to convert the micro-USB connector on the board to a full USB-A connector.

The case was removed from the Edimax and the device and Zero wrapped in Kapton to insulate the exposed solder points. Power was taken from the PP1 and PP6 points on the back of the board. These are the unregulated inputs from the USB power so should be used with caution. Some cheap USB power supplies can put out more that 5 volts when first connected and that might let the smoke out of a device.

raspberry_pi_quarter

The data wires were connected to PP22 and PP23, also on the back, and behind the USB data connector. Since USB is a differential signal these wires were carefully kept of equal length to avoid distorting the signal.

An SD card was created and edited on a Raspberry Pi B 2 to set the WiFi credentials. Inserted into the Zero it booted fine and started up the WiFi network connection.

Congratulations, [Shintaro] for the first Hackaday Raspberry Pi Zero hack. Is that a Hack-a-Zero-Day hack?

The USB Killer – Now A Crowdfunding Campaign

Kickstarter, Indiegogo, and every other crowdfunding site out there frequently have projects that should never be products. The latest promises to protect you from security breaches and identity theft by blowing up your computer. It’s the USB Killer, and for only $99 USD, you too can destroy the USB port in your computer and everything else attached to it.

The USB Killer is a device that plugs into the USB port on any computer, charges up several caps, and dumps all that voltage back into the computer. The process repeats until something breaks. We’ve seen it used on a poor Thinkpad X60, and from the video evidence it does exactly what it’s designed to do: kill a computer.

The Indiegogo campaign for the USB killer comes with a web page for the campaign that goes over the function of the device in much more detail. Inside the USB killer is a DC/DC converter that charges a few capacitors to -110V. When the caps are charged, that voltage is dumped back into the USB port where something will happen. Somewhat surprisingly, the folks behind the USB Killer have a video of a computer not dying when the USB Killer is plugged in. Only killing the USB port in a computer is not a guaranteed functionality, as the Indiegogo campaign has the following disclaimer: “Please be aware: USB Killer may cause damage to the motherboard, depending on your computer. By making a pre-order you acknowledge that you are aware of this fact.”

The USB Killer, Version 2.0

There are a lot of stupid things you can do with the ports on your computer. The best example is the Etherkiller, an RJ45 plug wired directly to a mains cable. Do not plug that into a router. USB is a little trickier, but with a sufficient number of caps, anyone can build a USB killer that will fry any computer (.ru, Google Translatrix)

The USB Killer v2.0 is [Dark Purple]’s second version of this device. The first version was just a small board with a DC/DC converter, a few caps, and a FET. When plugged in to a computer, the converter would charge the caps up to -110V, dump that voltage into the USB signal wires, and repeat the entire process until the computer died. This second version is slightly more refined, and it now dumps -220V directly onto the USB signal wires. Don’t try this at home.

So, does the device work? Most definitely. A poor Thinkpad X60 was destroyed with the USB killer for purposes of demonstration in the video below. This laptop was originally purchased just for the test, but the monster who created the USB killer grew attached to this neat little laptop. There’s a new motherboard on the way, and this laptop will live again.

Continue reading “The USB Killer, Version 2.0”

Hacklet 79 – USB Projects

Universal Serial Bus was created to simplify interconnecting computers and peripherals. First released in 1996, hackers and makers were slow to accept this strange new protocol. Parallel and serial ports were simpler, worked great, and had decades of hacking with thousands of projects behind them. As the new standard caught on in the mainstream, RS-232 and parallel ports started disappearing. “Legacy free” PC’s became the norm. Hackers, Makers, and Engineers had no choice but to jump on the bandwagon, which they did with great gusto. Today everything has a USB port. From 8 bit microcontrollers to cell phones to children’s toys. This week’s Hacklet is about some of the best USB projects on Hackaday.io!

two partsWe start with [Michael Mogenson] and Two Component USB Temperature Data Logger, which may be the simplest USB device ever made. [Michael] isn’t kidding. This data logger consists of just a Microchip PIC16F1455 microcontroller and a USB connector. Microchip’s datasheet calls for a capacitor to smooth out power, but [Michael] made it work without the extra part. He used M-Stack by Signal 11 to implement the USB stack. Once connected to a PC, the PIC enumerates as a serial port device. It then sends its die temperature of the PIC once per second. It could do more, but that would probably require adding a few more components!

tester1Next up is [davedarko] with USB cable tester. Dave recently spent some time installing USB RFID readers. These devices were only a few meters away from the computer controlling them. Even so, the power and USB data cables had to run through pipes and in some cases under water. It wasn’t fun troubleshooting a device to find that it was a shorted USB cable causing the problem. [Dave’s] solution is a tiny coin cell powered board that tests each of the 4 wires in a standard USB 2.0 cable. The board runs on an ATtiny45 microcontroller. [Dave’s] current iteration has footprints for mini and micro USB connectors, along with the standard USB-A.

 

tester2[MobileWill] has a USB Tester of his own. This USB tester checks current consumption and rail voltage. It does this by connecting in-line with the device under test. It’s perfect for troubleshooting why your PC’s USB port goes into over-current protection every time you plug in your device. The tester is modular – you can use the base board with your own multimeter, or grab [Will’s] tester backpack and see the results right on the built-in OLED display. USB Tester is [Will’s] entry in the 2015 Hackaday Prize.

 

tbdFinally, we have [ajlitt] with Tiny Bit Dingus (TBD). TBD is a USB interface to 6 wires. Think of it as a tiny version of the bus pirate. This lilliputian board holds a Freescale KL27Z ARM processor, which has more than enough power to handle things like I2C, SPI, PWM, or just about any other way to send data or wiggle wires. [Ajlitt] started this project as an excuse to learn KiCAD and gain some experience with surface mount solder stencils. The result is an absolutely tiny board that is all but lost in a USB socket. Programming is handled with the mbed library, though you can always use Freescale’s native tools. Flashing code on the TBD is easy with kut, a chrome browser plugin.

If you want to see more USB projects, check out our new USB projects list. Did I miss your project? Don’t be shy, just drop me a message on Hackaday.io. That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

The Launchpad Pro, which now has an open-source API

Novation Launchpad MIDI Controller Moves Toward Open Source

The Novation Launchpad is a MIDI controller, most commonly used with the Ableton Live digital audio workstation. It’s an eight by eight grid of buttons with RGB LED backlights that sends MIDI commands to your PC over USB. It’s often used to trigger clips, which is demonstrated by the artist Madeon in this video.

The Launchpad is useful as a MIDI input device, but that’s about all it used to do. But now, Novation has released an open source API for the Novation Pro. This makes it possible to write your own code to run on the controller, which can be flashed using a USB bootloader. An API gives you access to the hardware, and example code is provided.

[Jason Hotchkiss], who gave us the tip on this, has been hacking around with the API. The Launchpad Pro has a good old 5 pin MIDI output, which can be connected directly to a synth. [Jason]’s custom firmware uses the Launchpad Pro as a standalone MIDI sequencer. You can check out a video of this after the break.

Unfortunately, Novation didn’t open source the factory firmware. However, this open API is a welcome change to the usual closed-source nature of audio devices.

Continue reading “Novation Launchpad MIDI Controller Moves Toward Open Source”