0
\$\begingroup\$

I was wondering if there are any resources on building a USB mass storage device on a breadboard. I know it's not practical, but I thought it would make a fun side project and so I decided to do it. As far as I could find, all the USB controllers are all surface mount and don't come in DIP package. Sorry if this sounds really nooby, I'm really new to electronics.

I try googleing, but I couldn't find any up-to date resources. Helpful pointers will be appreciated.

\$\endgroup\$
2
  • \$\begingroup\$ It's a little unclear what you mean by "building a USB mass storage device" because USB is a fairly large stack. If you mean you want to wire logic gates together on a breadboard to create the protocol then this won't be possible. On the other hand if you want to use some Usb mass storage controller IC you could potentially solder it to a breakout board which fits into the breadboard. Also see electronics.stackexchange.com/questions/1482/… ... Further there are plenty of microcontrollers with USB device controllers offering Mass Storage drivers i.e. LPC1343/7 \$\endgroup\$
    – Keegan Jay
    Dec 1, 2015 at 2:10
  • \$\begingroup\$ You can get a USB enabled microcontroller on a breadboard compatible breakout board and wire it up to an SD card in SPI mode, or a small SPI flash... but you will probably get very slow transfer rates, below even the theoretical capability of USB full-speed. \$\endgroup\$ Dec 1, 2015 at 2:14

1 Answer 1

2
\$\begingroup\$

Generally, you won't tend to find any DIP-packaged USB controllers or USB mass storage-grade parts because of the speed of operation. I'm assuming you're talking about a breadboard like this:

Breadboard

This is because the USB 2.0 protocol uses a SerDes differential line that runs effectively at 480 MHz. Now, underside the breadboard, we're looking at something different:

Breadboard underside

These parallel strips of metal are what help to retain pins, but they have a serious side-effect. They raise the capacitance of any circuits put on them severely. Because capacitors transmit AC and serve as a short to DC, your USB signal could effectively bleed through the breadboard at will. There are other effects, but in practice, standard prototyping breadboards of this style of construction are limited to a maximum speed of 10 MHz (significantly less for analog circuits) or so before that capacitance really starts messing with a circuit too much.

If you're still interested in learning about USB, there are multiple avenues you could still pursue. You could get a Arduino/Teensy/ChipKit/etc. board and find a USB stack supporting the Mass Storage Class (for example, this one for PIC-based microcontrollers) and throw on a couple SPI flashes and use that to experiment with how USB handles mass storage data. You can always move up to the "big league" of actual USB mass storage device creation when you have the skill set or the want to do so.

\$\endgroup\$
3
  • \$\begingroup\$ So is there any hope in prototype boards? (i.e the ones with tons of holes that you need to soldier the components into, or is that hopeless as well) \$\endgroup\$
    – takra
    Dec 1, 2015 at 2:31
  • \$\begingroup\$ @minerguy31 You may be able to find DIP parts that carry USB compatibility, such as the PIC32MX family from Microchip (i.e. PIC32MX270F256B). It would be relatively easy to make one of these devices work with up to a few hundred MB of SPI flash, allowing you to experiment with a basic, DIY flash drive. \$\endgroup\$
    – ecfedele
    Dec 1, 2015 at 2:37
  • \$\begingroup\$ @minerguy31 Soldering-based prototyping boards, as opposed to the solderless breadboard above, work for high-speed signals such as USB as long as you a) keep the lines as short as possible, and b) route other signals around the USB lines. These lines are very high-speed and therefore quite sensitive to noise. \$\endgroup\$
    – ecfedele
    Dec 1, 2015 at 2:39

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.