Giving The Pi Zero USB, Ethernet, And Serial Over USB

Just as the USB port on your phone can serve as a serial connection, mass storage device, and a network connection, the Pi Zero can do the same. We’ve seen a few people turn the Zero into a single USB gadget, but what about turning the Zero into a USB HID device, network connection, and serial port all at the same time? That’s what [Tobias] did, and his method is even easier than the old one.

The old method of turning the Pi Zero into a USB device required the user to modify and recompile the kernel. Obviously, this isn’t an ideal solution. [Tobias]’ implementation fixes this by putting everything into userland. Everything is configurable through a script and a few tweaks to how the Pi starts up.

The result is a Raspberry Pi Zero that will appear as any USB peripheral. [Tobias] goes through the usual examples: setting the Pi up as a serial device for hacking and code cracking in a terminal, as an Ethernet device to give the Pi Zero networking capabilities, as a keyboard to send keypresses to another computer, and as a mass storage device so that other computers can read a small portion of the Pi’s SD card.

There are plenty more USB gadgets the Pi can emulate, from printers to audio devices to MIDI adapters to webcams. If you can wrap your head around what a Pi Zero could do when configured as one of these devices, drop a note in the comments.

Tiny USB Morse Code Beacon

It is reasonably easy to make a microcontroller spit out some Morse code. What makes [pavlin’s] take on this project interesting is that it resides on a tiny USB board with an ARM processor. The design for the board is available with single-sided artwork suitable for production using simple methods like toner transfer.

The STM device has a built-in USB bootloader. It can also act as a serial port, which makes the project very simple. The only external parts are a speaker and an optoisolator. The program provides a command line interface over the serial port that you can use to program the message and set other options like speed and the delay between messages. The code is available on GitHub.

You might argue that a beacon shouldn’t need a USB port, and we’ve seen an alternative that fits the bill. If you want a much larger Arduino-based keyer, we’ve seen those, too.

Adafruit Interviews The CEO Of FTDI

When it comes to electronic hobbyists and EEs, there is no company that deserves a few raised eyebrows than FTDI. They made their name with USB converter chips, namely USB to serial chips that are still very popular today. So popular, in fact, that clones of these chips are frequently found in the $2 Arduinos from China, and other very low-cost devices. A little more than a year ago, a few clever people noticed FTDI drivers were bricking these counterfeit chips by setting the USB PID to 0000. The Internet reacted to this move and FTDI quickly backed down from that position. The Windows driver was fixed, for about a year until the same shenanigans were found again.

Adafruit recently sat down with [Fred Dart], CEO of FTDI, giving us all the first facts and figures that aren’t from people frustrated with Windows’ automatically updated drivers. The most interesting information from [Fred Dart] is how FTDI first found these counterfeit chips, what FTDI chips are being counterfeited, and how many different companies are copying these chips.

The company first realized they were being cloned when they couldn’t reproduce results of a Chinese-made ‘FTDI’ USB to RS232 cable that behaved strangely. A sample of the cables were shipped to FTDI and after inspecting the chip inside, FTDI found it was a clone with a significantly different architecture than a genuine chip.

So far, the counterfeiters appear to only be counterfeiting the SSOP version of the FT232RL and occasionally the older FT232BL chip. From what FTDI has seen, there appears to be only one or two companies counterfeiting chips.

As the CEO of FTDI, [Fred] has a few insights into what can be done to stop counterfeiters in China. The most important is to trademark the logo. This isn’t just the logo for a webpage, but one that can be laser etched onto the plastic package of the chip. US Customs has been very amenable to identifying counterfeit components, and this has led to several shipments being destroyed. Legal action, however, is a bit hard in China, and FTDI is dealing with a gang that counterfeits more than FTDI chips; there’s a high likelihood this gang was responsible for the fake Prolific PL23o3 chips a few years ago.

As far as FTDI bricking counterfeit chips is concerned, [Fred Dart] wasn’t silent on the issue, he merely wasn’t asked the question and didn’t bring it up himself.

New Angle on Raspberry Pi Zero Hub

Collectively, the Hackaday readers sigh, “Not another Pi Zero hub!!!”. But [Sean Hodgins’] hub is different. It has a new angle, literally. Besides, it’s an entry in the Hackaday and Adafruit Pi Zero Contest .

1514291454445337873[Sean Hodgins’] acute approach is orthogonal to most of the other hubs we’ve seen. He’s mating the hub at right angles to the Zero. The hub plugs into both the on-the-go USB port and the USB power port. No extra cables or wiring needed. [Sean] plans to release the design on GitHub after his Kickstarter campaign ends. He’s supplying bare boards for those who like the smell of solder paste.

This project nicely triangulates the issues of adding a hub to the Zero. The physical connection is solid with the boards connecting via the USB connectors. Power is supplied through the hub the way the Pi expects, which means all the protections the Pi Foundation built into the onboard conditioning are left in place. This also reduces surge problems that might occur when back powering through a hub and hot swapping USB devices. Another neat feature is the notched corner leaving the HDMI port accessible. Similarly, the Pi’s GPIO pins are free of encumbrance. One drawback is the hub is fused at 2 amps, just like the Pi. It would be nice to have a little more headroom for power hungry USB devices. Maybe another 0.5 amp to allow for the Zero’s usage.

[Sean] snaps the two together after the break.

Continue reading “New Angle on Raspberry Pi Zero Hub”

The USB Type-C Cable That Will Break Your Computer

USB has been on our desktops and laptops since about 1997 or so, and since then it has been the mainstay of computer peripherals. No other connector is as useful for connecting mice, keyboards, webcams, microcontroller development boards, and everything else; it’s even the standard power connector for phones. The latest advance to come out of the USB Implementers Forum is the USB Type-C connector, a device with gigabits of bandwidth and can handle enough current to power a laptop. It’s the future, even if Apple’s one-port wonder isn’t.

Ground is red, V is Black. Photo: Benson Leung
Ground is red, V is black. Photo: Benson Leung

The cable of the future is, by default, new. This means manufacturers are still figuring out the port, and how to wire it up. You would think remembering ‘red = power, black = ground’ is easy, but some manufacturers get it so terribly wrong.

[Benson Leung] is a Google engineer who works on the Chromebook Pixel products, a huge proponent of the USB Type-C connector, and a very prolific reviewer of USB Type-C connectors on Amazon. The latest cable he tested destroyed his test equipment, including a $1500 Chromebook Pixel 2. How did a cable manage to do this? The manufacturer switched black and red.

The cable in question was a SurjTech 3M cable that has thankfully been taken down from Amazon. Swapping GND and Vbus weren’t the only problem – the SuperSpeed wires were missing, meaning this was effectively only a USB 2 cable with a Type-C connector. The resistor required by USB spec was the wrong value, and was configured as a pull-down instead of a pull-up.

This isn’t an issue of a cable not meeting a design spec. Ethernet cables, specifically Cat6 cables, have been shown to work but fail to meet the specs for Cat6 cables. That’s shady manufacturing, but it won’t break a computer. This is a new low in the world of computer cables, but at least the cable has disappeared from Amazon.

FTDI Drivers Break Fake Chips, Again

Just over a year ago, FTDI, manufacturers of the most popular USB to serial conversion chip on the market, released an update to their drivers that bricked FTDI clones. Copies of FTDI chips abound in the world of cheap consumer electronics, and if you’ve bought an Arduino for $3 from a random online seller from China, you probably have one of these fake chips somewhere in your personal stash of electronics.

After a year, we have the latest update to FTDI gate. Instead of bricking fake chips, the latest FTDI drivers will inject garbage data into a circuit. Connecting a fake FTDI serial chip to a computer running the latest Windows driver will output “NON GENUINE DEVICE FOUND!”, an undocumented functionality that may break some products.

FTDI gate mk. 1 merely bricked fake and clone chips, rendering them inoperable. Because fakes and clones of these chips are extremely common in the supply chain, and because it’s very difficult to both tell them apart and ensure you’re getting genuine chips, this driver update had the possibility to break any device using one of these chips. Cooler heads eventually prevailed, FTDI backed down from their ‘intentional bricking’ stance, and Microsoft removed the driver responsible with a Windows update. Still, the potential for medical and industrial devices to fail because of a random driver update was very real.

The newest functionality to the FTDI driver released through a Windows update merely injects unwanted but predictable data into the serial stream. Having a device spit out “NON GENUINE DEVICE FOUND!” won’t necessarily break a device, but it is an undocumented feature that could cause some devices to behave oddly. Because no one really knows if they have genuine FTDI chips or not – this undocumented feature could cause problems in everything from industrial equipment to medical devices, and of course in Arduinos whose only purpose is to blink a LED.

Right now, the only option to avoid this undocumented feature is to either use Linux or turn off Windows Update. Since the latter isn’t really a great idea, be prepared constantly roll back the FTDI driver to a known good version.