Where to find a custom usb flash memory drive or have one made?

Hey everyone,

I have a project in mind that involves a usb memory stick. In the end I would like a flash drive (exterior casing not needed) that with an RGB LED on the end of it.

Right now all I've done is soldered a resistor and LED onto the VCC and GND pins (1 & 4) on the USB connector. This lights up the LED constantly as long as it's plugged in. I would like to control when and how it lights up.

Ultimately my goal is to program the flash drive so that the LED responds to the drive's memory capacity. For example blue or green when empty, yellow when it's halfway, and red or flashing red towards max capacity. Once that's done there's a case that I would like to build around it so that the LED's light radiates through it and makes the whole case glow.

Are there any companies out there that can or already build custom flash drives with programmable IC's? I would like to be able to program the on-board IC to control the LED's behavior without it affecting the flash memory. This way the end-user can't accidentally corrupt the firmware controlling the LED.

I hope that made sense. Thanks in advance!

So a flash drive with an Atmega 8U2 basically that you can send messages as to which color to light up. Otherwise, the controller has to monitor all traffic and recognize the file format, how big files are, when they are added/deleted, sounds like a nightmare to code.

CrossRoads: So a flash drive with an Atmega 8U2 basically that you can send messages as to which color to light up. Otherwise, the controller has to monitor all traffic and recognize the file format, how big files are, when they are added/deleted, sounds like a nightmare to code.

I'd probably end up having to go the ways of kickstarter for this or finding a software engineer who's up for a challenge. Granted, I don't know code as well as a programmer but I guess to make it easier it could be designed/programmed to check memory upon bootup/connection, not necessarily during reading/writing.

So you really need something like this http://www.saelig.com/EL/ICSDSDIO001.htm Provides the PC/USB connection to the memory device. Add some circuitry to let a microcontroller control the chip as well so you run your own query on memory usage (# of files, size, do the math & light the LED). Not for the faint of heart.

CrossRoads: So you really need something like this http://www.saelig.com/EL/ICSDSDIO001.htm Provides the PC/USB connection to the memory device. Add some circuitry to let a microcontroller control the chip as well so you run your own query on memory usage (# of files, size, do the math & light the LED). Not for the faint of heart.

Definitely not for the faint of heart. But at least I have some direction so thank you for that!

Anyone else have experience or any other ideas/recommendations?

Look at what's in a USB drive http://en.wikipedia.org/wiki/USB_flash_drive There are several pics of the internals.

CrossRoads: Look at what's in a USB drive http://en.wikipedia.org/wiki/USB_flash_drive There are several pics of the internals.

I was just checking that out, hah!

The obvious approach would be to put something between the flash storage and the external interface that passed I/O requests through and added the capacity monitoring/display logic. There would be quite a lot of work to do, because it'd need to understand the file system as well as the I/O protocol, and USB is complicated in its own right. I suspect that the simple approaches to achieve that would cripple the throughput, too.

I watched a presentation recently from a team that had reverse-engineered some SD storage cards and discovered that they contained programmable microcontrollers to do the storage management and error correction. Figuring out how to reprogram the controller without support from the manufacturer seemed like a really tough challenge, and I think there was still a lot of work to do to figure out the instruction set and architecture and so on, but they had got as far as uploading their own code and using it to control I/O pins to turn LEDs on and off. I think you'd need to solve all that in order to embed the logic into the storage device itself, and unless you're working with the manufacturer it would be extremely difficult. I expect the same would hold for other flash devices such as USB sticks. It's only a matter of time before somebody cracks all that, though, and then I don't see why it would be any more complicated than programming an Arduino.

PeterH: The obvious approach would be to put something between the flash storage and the external interface that passed I/O requests through and added the capacity monitoring/display logic. There would be quite a lot of work to do, because it'd need to understand the file system as well as the I/O protocol, and USB is complicated in its own right. I suspect that the simple approaches to achieve that would cripple the throughput, too.

I watched a presentation recently from a team that had reverse-engineered some SD storage cards and discovered that they contained programmable microcontrollers to do the storage management and error correction. Figuring out how to reprogram the controller without support from the manufacturer seemed like a really tough challenge, and I think there was still a lot of work to do to figure out the instruction set and architecture and so on, but they had got as far as uploading their own code and using it to control I/O pins to turn LEDs on and off. I think you'd need to solve all that in order to embed the logic into the storage device itself, and unless you're working with the manufacturer it would be extremely difficult. I expect the same would hold for other flash devices such as USB sticks. It's only a matter of time before somebody cracks all that, though, and then I don't see why it would be any more complicated than programming an Arduino.

The more I look into this the more daunting it seems. Sure would be nice to be able to interface with though.

LockDots: The more I look into this the more daunting it seems. Sure would be nice to be able to interface with though.

Yes, it would be an extremely difficult project without manufacturer support. Just today I saw the new Edison SD cards unveiled at CES and it reminded me of this thread. I don't think they have much storage though, so they probably wouldn't be much help for this particular problem. Very cool to have a wireless-capable computer that you can plug into an SD slot, though. I wonder how long it will be before they have a micro-SD version. :)

http://www.trustedreviews.com/news/Lexar-Memory-Key-Adds-Storage-Gauge

I do not know if the patent is so broad as to cover "visual" to include LCD and LED, etc.

Ray

mrburnette: http://www.trustedreviews.com/news/Lexar-Memory-Key-Adds-Storage-Gauge

I do not know if the patent is so broad as to cover "visual" to include LCD and LED, etc.

Ray

Wow, pretty cool. That's the one they came out with in '06. This is they're latest and greatest : http://www.lexar.com/products/lexar-jumpdrive-m10-secure-usb3-flash-drive?category=207