ARM Powered Rack Mount USB Test Equipment

developing-rack-mount-pcb-testing-tools

This is a device which [Limpkin] has been developing at his day job. It’s a high-speed testing interface for use with Physics experiments. We find it interesting because it uses an ARM microcontroller to implement CDC and MSD over USB.

The design is in two parts to make it work in a rack-mount situation. That big white connector allows cards to be swapped out. You can see the board on the right has a USB-A connector. When plugged in this enumerates as a control device (CDC) and a mass storage device (MSD) using fat32 as a file system.

The platform is being developed with open hardware and open source software in mind. If you’re working on a project that uses either of these USB functionalities this makes a swell reference. The ARM Cortex-M3 chip that he’s using is an AT91SAM3U but it should not be too hard to port the code for other similarly-capable ARM processors.

Mass Storage Bootloader For Stellaris Launchpad

mass-storage-bootloader-ti-stellaris-launchpad

[Andrzej Surowiec] liked the functionality of the mass storage bootloader available on some NXP LPC development boards. His latest project was to write a mass storage bootloader for the Stellaris Launchpad. It allows you to flash your compiled firmware to the chip simply by mounting the board as a USB storage device and copying over the binary file. The chip has plenty of flash memory (the bootloader itself takes up 16 KB of the available 256 KB), and the board is already set up for use as USB hardware.

There is a precompiled binary available at the linked page above or you can get the source code from his github repository. We think this project is a good stepping off point for others. For instance, it should be relatively easy to use [Andzej’s] work as the base for implementing filesystem-based I/O control like we saw in the phatIO project.

Hackaday Links: November 29th, 2012

EMC2 CNC keyboard labels

If you’ve got a dedicated computer running EMC2 for CNC control you may be interested in these keyboard labels. [Rich] mentions that they use the labels for their engraver at the Connecticut Hackerspace. Just print them out and glue them in the face of the keys.

Dev board seminars and freebies

[Mike] wrote in to tell us STM is giving away samples of the STM32 F3 Discovery again. But you can also get in on some free seminars. One is an online webinar for TI’s Launchpad family, the other is for the F3 Discovery board and is being held all around the US.

Replacing batteries with USB power

[Johan] didn’t want to use batteries for the light on the microscope he uses when working with SMT parts. He added a few components with let him power the device from USB instead.

MSP430 VU meter uses FFT

Here’s an MSP430 using Fast Fourier Transform for signal processing. There’s very little explanation, but apparently this collection of FFT related material was used heavily in the project. [via Reddit]

Cell Racr

If you’re looking for a new office game you might consider Cell Racr. It pits your cellphone’s vibrating motor against everyone else’s. Just place the phone on an incline and repeatedly dial its number to advance toward the finish line.

PhatIO Uses File System To Control External Hardware

[Andrew Smallbone] wrote in with a link to his latest open source project. This is phatIO, a USB I/O device that uses a mass storage file system for control. The idea is that any operating system can manipulate files on a USB storage device. This enumerates as mass storage, and any alterations you make to its file system will result in pin manipulation on the I/O header.

We’ve long been Linux advocates and enjoy the fact that everything on a *nix system is a file. This simply extends the idea across multiple platforms. [Andrew’s] guide for the hardware gives an overview of how the system is structured. The top ‘io’ directory contains sub-directories called mode, pins, status, and a few others. Inside the directories are files for each pin. Writing to these files has much the same effect as writing to a data direction register, port register, or reading a pin register on a microcontroller.

The board is not yet in production and the github link to his hardware files gives us a 404 error. But there is code available for several software demos. After the break we’ve included video of the phatIO driving a Larson scanner.

Continue reading “PhatIO Uses File System To Control External Hardware”

Outlet Charging Station Retrofitted With The Guts Of A WiFi Router

While wandering around the aisles of his local electronics store this Westinghouse USB charging station caught [James’] eye. He sized it up and realized it would make the perfect enclosure for a small WiFi router. And so began his project to turn a TP-Link TL-WR703N into a DIY Pwn Plug.

The basic idea is to include hidden capabilities in an otherwise normal-looking device. For instance, take a look at this ridiculously overpriced power strip that also happens to spy on your activities. It doesn’t sound like [James] has any black hat activities planned, but just wanted an interesting application for the router.

He removed the original circuit board from the charging station to make room for his own internals. He inserted a cellphone charger to power the router, then desoldered the USB ports and RJ-45 connector for the circuit board to be positioned in the openings of the case. He even included a headphone jack that breaks out the serial port. There’s a lot of new stuff packed into there, but all of the original features of the charging station remain intact.

Extracting Data With Keyboard Emulation

A common challenge for computer security specialists is getting data out of a very locked-down system. Of course all network traffic on these test machines is monitored, and burning a CD or writing to a USB Flash drive is out of the question. Where there’s a will there’s a way, so [András] figured out how to extract data from a computer by emulating a keyboard.

Emulating a USB HID device is nothing new; the newest Arduino can do it, as can any AVR with the help of V-USB. [András]’s build emulates a USB keyboard that can download data from a computer by listening to the NUM, CAPS and SCROLL lock LEDs.

Of course, [András] first needs an app to transmit data through these keyboard status LEDs. To do this, his build carries with it a Windows executable file on the AVR’s Flash memory. After plugging his device into the computer, it writes this program to disk and is then able to send data out through keyboard status LEDs.

It’s not very fast – just over one byte per second – but [András] did manage to extract data from a computer, circumventing just about every anti-leaking solution.

Driving An LCD Character Display Using Custom HID Codes

Here’s an external display meant to help you keep track of your computer’s status. It connects via USB and is driven by a PIC microcontroller. It listens for a small set of commands, using those to implement a simple control protocol to drive the screen.

[Andrew Gehringer] designed the device around a PIC 18F2550, which offers native USB control. He’s using Microchip’s USB stack to enumerate the module as an HID device. It listens for commands 0x10 through 0x23. These clear the display, write strings to each of the four lines of the display, and switch the LCD backlight. Of course the project includes a program [Andrew] wrote to feed the display. It  has a GUI which let’s him decide what information is displayed and how it is formatted. This helper app hangs out in the system tray for easy access.