Drag And Drop Code Onto This ARM Dev Board

On the continuing list of homebrew ARM dev boards we’ve seen over the past few months, [Squonk42]’s USBug is one of the best we’ve seen. Like many other ARM boards, it breaks out a member of the Cortex M0/M3 family into a 40-pin DIP, but unlike all the others, [Squonk] designed it so you can drag and drop code onto the microcontroller just like a USB thumb drive.

[Squonk]’s trick relies on a certain breed of NXP LPC11xx/LPC13xx microcontrollers. These chips feature a ROM-based mass storage, meaning you can compile code on your desktop and simply shuffle it over to the USBug, no external programmer required. Here’s the relevant app note (PDF in a zip file. Double whammy).

Of course, the USBug features the I/O you’d generally expect from the current crop of Cortex-M3 devices, all while serving up 64 kB of Flash and 12 kB of RAM.

[Squonk] says he’d like to put the USBug on Kickstarter, but unfortunately he’s not a US citizen. In the spirit of Open Hardware, perhaps some maker-based electronics manufacturer will pick up where [Squonk] is forced to leave off.

Using A Raspberry Pi As Your Travel Computer

Do you think you could travel for the entire summer and leave your laptop at home? [Gef] did just that. With the help of his Kindle he used a Raspberry Pi as his travel computer. This was an easy association to think up, since he planned to bring the Kindle along as his reading material anyway. All it was going to take was some creative hacking to get it working as a display for the single-board computer.

The Kindle is merely connecting to the Raspberry Pi through a terminal emulator. This happens via USB, and requires that you Jailbreak the kindle and install a package called USBnetwork. The problem with the technique is that you’re going to go crazy trying to use the tiny keyboard that is built into the eBook reader. [Gef] decided to take a USB keyboard along with him, but how is he going to use it to control the terminal screen on the Kindle? The answer is the ‘screen’ application. We’ve used it a lot to keep programs running on a machine after we’ve exited from an SSH session. It turns out it can also be used to host multiple users on the same terminal session. Pretty neat!

[via Make]

Getting Around The Raspi’s USB Host Current Limit

For being such a revolutionary device, there are still a few problems with the Raspberry Pi. For one, the USB host ports are only able to source 140 mA per port, while the USB ports on your desktop, laptop, and even tablet are able to send a full 500 mA per port.

The official ‘fix’ for this problem is to use a powered USB port for any device that requires more than 140 mA,  something that didn’t sit well with [Manis]. He came up with an easy fix , though, that only requires a few bits of wire and a soldering iron.

The USB ports on the Raspi are current limited to 140 mA by a pair of polyfuses. [Manis] bridged these fuses, effectively taking them out of the circuit with a short length of wire. This allowed him to use a USB hard drive (powered by USB, of course) with the Raspi.

There’s one small problem with sending that much current through the Raspi’s USB port. Sometimes, when the high-power USB device is powered on, the voltage will sag, resetting the SoC and rebooting the system. [Manis] did his homework and discovered USB 2.0-spec ports should use a 120 μF, low-ESR capacitor to prevent this. The Raspi comes stock with a 47 μF cap used for this purpose. Replacing this cap (C32) might be a good idea if you’re planning on using high-power devices with your Raspi.

Teensy Board Used As An AM Radio Transmitter

[Angus McInnes] has been working on AM radio transmission techniques. He tried out a method of using a VGA port for the task but found the vertical blanking was audible. His latest experiments use a Teensy microcontroller board as an AM transmitter.

This is not a standalone solution, but rather a hardware extension for his laptop. This is because the microprocessor doesn’t have enough cycles to do much more than read bytes over USB and push their bits out one of the I/O pins.

To get a steady stream of data he’s using isochronous mode to push a steady data stream via the USB connection. Bulk transfer is another option but [Angus] found that it caused some jitter in the audio. Each byte is fed to the AVR SPI hardware once every eight clock cycles. His transmission can be picked up from across the room, but that’s the limit since the AVR doesn’t put out that strong of a signal. But it should be a rather trivial exercise to build a simple amplifier.

PIC-based USB Conversion For An NES Controller

[Andres] wrote in to share his USB for NES controller project (translated). It enumerates as a USB keyboard and is easily mapped on most emulators. Over the weekend we looked in on an AVR programmer used for this purpose. [Andres] went a different direction, using a PIC microcontroller and eventually incorporating his circuit into the body of the controller.

The prototype circuit can be seen above. [Andres] uses a breakout board for the PIC 18F4550 to test the circuit. The chip has native USB support, and reading the button states from the controller’s shift register is a snap. You can see him using this test rig to play Super Mario Bros. on an emulator in the video after the break.

The second iteration of the project moves from breadboard to a soldered circuit. A 18F2550 is used as it comes in a rather small DIP package. If the legs are flattened there’s room inside the controller case for it, along with a few capacitors and a crystal. The original controller cord is removed to make way for a USB cable.

Continue reading “PIC-based USB Conversion For An NES Controller”

Learning The Ins And Outs Of USB With A Simple Dev Board

We can’t count the number of projects we’ve seen on Hackaday with a USB port.  Unfortunately, most of these builds – from RepRap controllers to wireless data loggers – don’t use the full capabilities offered to them with USB. [Ben] came up with a very cool USB breakout board that allows you to explore the USB protocol with just a single inexpensive ATtiny.

Instead of relying on an FTDI chip or otherwise sending serial data down a USB pipe, [Ben]’s project is meant to be the hardware compliment to his book on programming USB devices. His hardware board is exceedingly simple, just an ATtiny 2313, a USB port, and a handful of other components, but allows [Ben] to receive data on eight pins on a breadboard and send them over USB to a computer.

[Ben] had sent in his USB figure eight controller, a board that displays the numbers 0 through 9 according to what data is received via USB, a while ago. It’s a truly useless build aside from learning how USB works, but an excellent tool if you’d like to program your own USB device.

USB Business Card Packs An ARM Processor

Over on the Hackaday forums, [Brian] introduced himself by showing off his new business card. Given his expertise is creating unique circuit boards, we can’t imagine a better way to show off his skills than an ARM-powered business card.

[Brian] posted a more detailed write-up on his blog that covers his development process. He decided to use a 48-pin LPC1343 ARM Cortex M3 as a USB Mass Storage Class device. All the heavy lifting for instantiating a USB storage device is handled by the microcontroller, so all [Brian] had to do was wire up a Flash memory chip and access it over an SPI interface.

The finished business card functions just like a USB thumb drive with a whopping 1 Megabyte of storage. That’s not a lot of storage, but it has more than enough room for [Brian]’s resume, a link to his website, and the full source code for his card.