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!
We 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!
Next 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.
[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.
Finally, 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!
7 thoughts on “Hacklet 79 – USB Projects”
I think those are all good USB projects.
Thanks for giving us a summary.
Thanks for mentioning TBD again.
Work on a 3rd spin of the board and the kut Chrome flash loader is on hold pending full mbed online IDE support for the FRDM-KL43Z. But it doesn’t seem like the mbed team or Freescale are interested in making that happen. Which is a shame because the KL27Z256 has a lot of hobbyist potential.
The mbed team is stretched a little thin in my opinion. As to why Freescale doesn’t have somebody fleshing out mbed support, I have no idea.
The mbed online IDE, It is the worst IDE ever, broken And laggy.
The solution is Code::blocks (or eclispe if you live in 2000) and Adam green’s gcc4cbed.
He may even help you setup your own device (if not already supported), like he did for me…
Yes, mbed ide is lacking. But the premise of TBD is quick prototyping of digital interfaces with as little farting around with installing tools as possible. mbed’s library sharing and integrated documentation are also key.
If an online ide wasn’t a requirement I’d target KSDK which has improved significantly over the last year.
Mini USB has been introduced in 2000 and deprecated in 2007. In other words they’ve been deprecated longer than they’ve been supported. Maybe it’s time to stop using that as representative of USB (the picture that’s in the post list but not the post itself).
“because it’s depreciated” is not really a significant argument. For low volume or home build production, USB mini is considered easier /more cost effective to work with by a lot of people, making mini the “go to” connector for surface mount projects.
People take a while to adjust.
There are many of us who really don’t even like the micro connector in a lot of cases and find them to be a nuisance.
The TYPE of project can dictate the style of connector for a lot of developers. (A simple usb-serial interface does not benefit from higher speeds or USB3 and so designers still tend to think the mini connector).
Also.. just because a standards org decides something should go obsolete does not mean the users have to follow along. The fact is, distributors are still pumping out a boat-load of those to legitimate product manufacturers. Serial ports hung on long after USB took over and the DE9 went ‘obsolete’.
Constantly evolving an interfacee standard (apple) only assures lockout of said standard to small developers. Not that USB micro is particularly hard to implement but still.
Evolution has to happen. I don’t argue that. But USB micro is FAR from being truely obsolete.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)