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.
[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.
Just snap off the corners and this business card can be used as a mass storage device. Well sort of. The tab left over has four traces on the back to make it USB compatible. The PIC 24FJ64GB002 microcontroller on the card registers as a storage device and launches [Ramiro’s] resume and a cover letter loaded as an HTML file. He’s made it as useful as possible by including access to the SPI and I2C bus connections but he’s also included some firmware to act as a data logger or an oscilloscope. At about 5 euros a piece you won’t be distributing these willy-nilly but it’s not too much more than handing out breakout boards with your name all over them.