Sparkfun seems to love making low cost breakout boards…
I’ve been working on a little project for a while…
Reading the OpenCircuits wiki, it looks like others have too.
On the OCWiki, there is a “LinuxStamp” project.
I’m looking to see one of two options:
The first option, build the complete project using multiple sparkfun breakout boards like BOB-00204 (SD slot) and BOB-08401 (USB Mini-B):
small Populated/Unpopulated Breakout boards for Atmel ARM9 MCUs:
AT91SAM9260/AT91SAM9263 BGA chips
AT91SAM9R64
with an onboard connector for a memory module.
small Populated/Unpopulated boards containing various SDRAM/NAND flash chips compatible with the above connector. Top of the board has the chip, bottom has the connector. Just snap the memory module directly onto the CPU breakout board.
Instant modular linux-based devel board!
Simply snap it together and start hacking!
OR
A very simple USB dev doublesided breakout board:
Part Orientations:
Board Top:
USB Port1 pins -> Amtel ARM9 -> SDRAM -> USB port2 pins
Board Bottom:
Ethernet pins
Fullsize SD socket -> Power circuits -> 5VDC in
GPIO pins JTAG pins
U-Boot is flashed directly into the ARM9 and will boot a kernel from either the SD slot or a mass storage device connected to the USB-B jack, or boot from a connected ethernet jack. The jack itself is not included on the board to save space, but can be connected at any time to the breakout pins.
The use of this is a general software based USB inline swissknife.
If sparkfun would be interested in producing and selling this, I would be willing to setup the software side of things and provide kernel/initramfs images.
This device, if produced, provides a WIDE WIDE variety of use cases.
Here are a few:
Convert a USB Mass storage slave to a USB mass storage host.
(Plug a MP3 player into a USB harddrive, transfer files.)
Convert a USB serial slave to a USB Printer.
(Serial input is processed and nicely printed when a page is filled.)
Convert a USB mass storage slave to a USB ethernet device.
(drive appears as a network share.)
Convert a USB mass storage slave to a USB virtual ethernet controller.
(Host device sees a virtual USB ethernet gadget that exposes the drive over TCP/IP.)
Convert a USB HID slave to a USB serial device.
(typing on a USB keyboard outputs on the serial port.)
Convert a USB HID slave to a USB printer.
(Typing on a USB keyboard will be printed when the printscreen key is hit.)
Convert a USB HID slave to a USB cellphone.
(Tired of trying to type on a phone?)
Connect a powered USB hub to expose even more interesting functions…
Connect a USB keyboard and USB LCD device to a hub, Connect USB ethernet adapter: instant SSH terminal.
USB keyboard, USB mouse, USB VGA framebuffer, USB ethernet adapter: Instant X terminal.
And the most interesting use:
USB passthrough capture.
Plug it in the chain between ANY usb device and ANY usb host and monitor/rewrite the USB traffic directly.
Even write it out to the SD card if you want.
This would be invaluable in so many situations.
Say, for instance, I have something like a Nintendo Wii, that will only accept certain USB device IDs.
Rewrite the device ID in the passthrough to an accepted one!
Got a digital camera that will only print to certain OTG devices?
Pretend to be that device and print it on any printer linux supports!
A software based Gender Changer.
This is something every geek should have on their keychain.