11
\$\begingroup\$

I was just wondering if there was a tutorial anywhere on how to make your own USB Flash Drive and I don't mean take apart a USB and put the guts into something else, I mean put together the flash memory and controller.

\$\endgroup\$
2
  • 4
    \$\begingroup\$ Your title should be "DIY USB Mass storage tutorial" because you are specifically asking for a tutorial on how make your own flash drive. A question about making your own USB gadgets has been asked a while ago. \$\endgroup\$
    – bpijls
    Commented Jan 17, 2010 at 14:11
  • \$\begingroup\$ @bpijls I have changed the title. \$\endgroup\$
    – jpc
    Commented Mar 23, 2011 at 21:18

6 Answers 6

13
\$\begingroup\$

Dean Camera has written a USB stack for the AVR. It includes a mass storage driver.

http://www.fourwalledcubicle.com/LUFA.php

\$\endgroup\$
2
  • 1
    \$\begingroup\$ LUFA is very good. And the AVR USB chips are getting better and better. If you prefer to develop on Linux or OSX, LUFA on an AVR is a good choice. If you're Windows, then look at the PIC development environment. The low-end PIC USB chips have more features and are easier to use than the low-end AVR USB chips, but you really can only develop for them on Windows. \$\endgroup\$
    – todbot
    Commented Feb 10, 2010 at 17:32
  • 1
    \$\begingroup\$ Just an update about developing with PICs. The new Microchip IDE, MPLAB X (which is still in beta) is based on NetBeans and allows PIC development on any of the major platforms (Windows/MAC/Linux). \$\endgroup\$
    – bt2
    Commented Mar 24, 2011 at 3:14
7
\$\begingroup\$

A question about general USB devices was asked a while ago, but you are specifically referring to a USB mass storage device (MSD)

Jan Axelson (from http://janaxelson.com) has written a book about it: http://janaxelson.com/mass_storage.htm

\$\endgroup\$
1
  • \$\begingroup\$ Um, that link goes to a luxury clothing retailer... Not sure that's where it's supposed to go? \$\endgroup\$
    – Benubird
    Commented Aug 7, 2015 at 8:15
3
\$\begingroup\$

You could base it on this project of mine:

http://www.leonheller.com/usb

\$\endgroup\$
2
\$\begingroup\$

IMHO the easiest way is to use an AT90USB or LPC1343. The latter has mass-storage device firmware stored in ROM so you only need to supply some details for the device descriptor and 2 or 3 Flash access procedures.

\$\endgroup\$
1
\$\begingroup\$

You could also consider the Cypress FX2. It's a Hi-Speed USB chip that comes with Mass Storage Driver support. Dunno about any tutorials for it, but it's a pretty popular chip.

\$\endgroup\$
1
\$\begingroup\$

How about a good book on how usb works?

Then when you start to program, you know how things are supposed to work...

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.