38

The cheaper, smaller, and fewer external components needed the better.

AVR would be preferred, but anything with free SDKs is good.

tlrobinson
  • 549
  • 1
  • 4
  • 5

10 Answers10

23

The best way to find those microcontrollers would be at a site such as digikey. Here is the list of all their microcontrollers.

Use the filters to pick Atmel as a manufacturer.

Then filter to leave their AVR family on the list.

And finally, filter by connectivity. Choose all items on the list that have "USB" or "USB OTG". Hold down CTRL to pick multiple items on the list.

Off the top of my head, one of the simplest would be ATmega88U2. The U2 tells you it's a regular ATmega88 with a USB controller built-in.

Christoph B
  • 2,818
  • 1
  • 14
  • 26
  • 4
    Atmel are now merged with Microchip Technology (and use the latter name) and the number of devices on that Digikey with USB support makes this a far from simple way to match. For AVR simpler to go to http://www.microchip.com/design-centers/8-bit/microchip-avr-mcus and use the button to add the column that shows the "number of USB modules". – Alnitak Feb 25 '18 at 22:27
14

V-USB project provides needed software for bitbanged low-speed USB device and is available under GPLv2 or commercial licenses. As for external hardware, 12 MHz crystal is recommended, but it should work with RC oscillator too. It also needs a voltage divider to set up slow speed and depending on operating voltage of the microcontroller, it may need a couple of zener diodes to limit voltage to D+ and D-.

With it software USB works on microcontrollers as small as ATtiny45 for example. Two other popular microcontrollers for use with the library are ATtiny2313 and ATmega8.

Another library based on V-USB is USBtiny. It's GLP2+ and should be a bit easier to work with. Both can be made to work with libusb drivers on GNU/Linux and Windows.

endolith
  • 28,494
  • 23
  • 117
  • 181
AndrejaKo
  • 23,261
  • 25
  • 110
  • 186
  • 1
    This is actually a great solution for anyone who needs USB but has already bought a lot of micros without it. Some of the variants I've seen don't even require an external oscillator. – Christoph B Dec 02 '12 at 09:17
  • I agree. Depending on what the OP needs, this does seem to work very nicely. – Gustavo Litovsky Dec 02 '12 at 09:32
  • 1
    It depends what your needs are. The AVR devices VUSB is aimed at don't meet the electrical requirements for USB certification. So if you are making a consumer device and want to use the USB logo, VUSB isn't an option – JockM Feb 18 '15 at 06:04
13

If you are willing to go the PIC route: the PIC16F1455 has only 14 pins, and can do USB without needing a crystal. It has an internal, calibrated 48MHz oscillator, and does clock recovery from the USB lines to ensure it stays in sync.

hli
  • 2,336
  • 15
  • 17
9

The PIC18F14K50 is a nice simple chip with USB built in, free IDE and compiler, good examples and low cost. I sucessfully taught a high school class to build and program it use this nice kit https://www.tindie.com/shops/TAUTIC/pic18f14k50-usb-development-kit/ it is a open source design so you can get the components and build for less. But you will need to get a boot loader for USB programming installed on the PIC, so you will need a programmer if you do not buy a chip that is pre-programmed, like Tautic.com 's product.

xsari3x
  • 1,608
  • 5
  • 27
  • 42
Dave
  • 191
  • 2
7

Another alternative for you is an EZ430-F2013 or similar. It's not AVR, but rather a TI MSP430. It's small and cheap, with only the USB-key sized device needed. There a few options for programming, and by far the best is TI's CodeComposer Studio v5. It's available for Windows and Linux and has two different ways of using it free, including a code-size-limited (16 kB) option specifically for the MSP430. And CCS's Grace tool made developing for the MSP a joy when I used it.

3

Take a look at the LUFA project, it's a software stack that supports many AVR microcontrollers (both low-end and high-end), with different capabilities depending on each of them. A plus is that it uses the commercial-friendly MIT license. The compatibility table is a good listing of devices with USB support in the AVR family.

fceconel
  • 2,659
  • 22
  • 19
2

The relatively new ARM Cortex-M0+ based Atmel SAM D also include USB embedded host (D21 family) and USB device capabilities (D11 and D21 families), at very competitive prices.

A lot of information is available at their site:

http://www.atmel.com/products/microcontrollers/arm/sam-d.aspx

Full disclaimer: I am not affiliated to Atmel by any means.

jose.angel.jimenez
  • 2,052
  • 1
  • 14
  • 23
1

Atmel XMEGA is AVR based, and if you can get past the fact that they are only available in surface mount, they are zero external component for USB and run up to 32MHz.

  • 1
    Some links to example products would be nice. Also, do they really require *no* external components? I haven't seen any USB product without a crystal to get a useful clock for the USB bus. – Trygve Laugstøl Dec 06 '12 at 06:35
1

At90usb162 is good. it has a hardware usb in it and runs at 16Mhz (external crystal ) and it is about 4$

0

8-bit processors have few benefits over 32-bit nowadays, compare PIC/AVR and NXP/STM(ARM Cortex) performance and price. In my last project I used LPC1343(NXP) with USB - Virtual COM application. Most manufacturers are now offering free IDEs and example code.

Erik Johnson
  • 159
  • 1
  • 11