[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.
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.
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.
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.
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.
We’ve got two hacks in one from [Serge Rabyking] on fingerprint scanning. Just before leaving on a trip he bought a laptop on the cheap. He didn’t pay much attention to the features and was disappointed it didn’t have a fingerprint scanner. Working in Linux he uses sudo a lot and typing the password is a hassle. Previously he just swiped his finger on the scanner and execution continued.
He found a cheap replacement fingerprint scanner on hacker’s heaven, also known as eBay. It had four wires attached to a 16 pin connector. Investigation on the scanner end showed the outer pair were power and ground which made [Serge] suspect it was a USB device. Wiring up a USB connector and trying it the device was recognized but with a lot of errors. He swapped the signal lines and everything was perfect. He had sudo at his finger tip.
Next he wonder if it would work with a Raspberry Pi. He installed the necessary fingerprint scanning software, ran the enrollment for a finger, and it, not terribly surprisingly, worked.
On Linux the command fprintd-enroll reads and stores the fingerprint information. By default it scans and saves the right index finger but all ten fingers can be scanned and stored. Use libpam-fprintd to enable account login using a finger. Anyone know how you can trigger other events using a different finger? A quick search didn’t turn up any results.
In true hacker style, [Serge] created his own fingerprint reader from a replacement part. But you can jump start your finger usage by purchasing one of many inexpensive available readers.
From the late 80s to the early 90s, [Steve Jobs] wasn’t at Apple. He built another company in the meantime, NeXT Computer, a company that introduced jet black workstations to universities and institutions, developed an incredible emphasis on object-oriented programming, and laid the groundwork for the Unix-ey flavor of Apple’s OS X. Coincidently, there is a lot of old NeXT gear at the Adafruit clubhouse – not that there’s anything wrong with that, we all have our own strange affectations and proclivities. Recently, [Lady Ada] turned one of the strangest components of the NeXT computer ecosystem into something useful: a computer speaker.
The item in question for this build is the NeXT ‘sound box’. When not using the very special NeXT monitor, the NeXT computer connects the monitor, keyboard, and speakers through this odd little box. There are two versions of the NeXT sound box, and peripherals from either version are incompatible with each other. ([Jobs] was known for his sense of design and a desire for a simplified user experience, you know.)
In [Lady Ada]’s initial teardown of the sound box, she discovers a few interesting things about this peripheral. There’s an I2S DAC inside there, connected to an unobtanium DB19 connector. Theoretically, that I2S device could be used to drive the speaker with digital audio. The only problem is the DB19 connector – they’re rare, and [Steve] from Big Mess o’ Wires bought the world’s supply.
Without these connectors, and since it’s only an hour-long show, [Lady Ada] went with the most effective hack. She grabbed a USB audio dongle/card, added a small amplifier, and soldered a few wires onto the power and ground pins of an IC. It’s simple, effective, fast, and turns an awesome looking 30-year-old peripheral into a useful device.
You can program the ESP-8266 via the serial port, so having a built-in USB port is handy. Of course, you might not need it in the final product, but with the board being 25x30mm, you can probably cram it into most projects. [Frazer] posted a bit about the project on Hackaday.io, and has a GitHub project, although right now the upload of the design files is pending.
[gbaman] has figured out a simpler way to program the new Raspberry Pi Zero over USB without modifying the board. Why is this useful? One example which appealed to us was setting the Zero’s USB port up as a mass storage device. Imagine plugging in your Pi powered robot, dragging and dropping a Python script into the mass storage device that shows up, and pressing a button on the robot to run the new script. Pretty fancy for $5.00.
You can get the PI to emulate a whole range of devices from a USB MIDI controller to a simple USB serial interface. We’re excited to see what uses people come up with. Unfortunately the Pi Zero is still out of stock most everywhere as we wait for the next production run to finish. Though if you’ve got one, why not check out a few of our thoughts and experiences with the device!