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
    Jan 17 '10 at 14:11
  • \$\begingroup\$ @bpijls I have changed the title. \$\endgroup\$
    – jpc
    Mar 23 '11 at 21:18
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
    Feb 10 '10 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
    Mar 24 '11 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
    Aug 7 '15 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, privacy policy and cookie policy

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