Prototyping a USB application -- looking for info

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello all:

 

Recently I've been developing a Proof-of-Concept of a USB "dongle" that will provide some pretty simple functionality.  Send it a command and it will return some data depending on the state of some of the GPIO, etc.  I'm developing this POC for my company.  First I designed and whipped up a breadboard on an ATMEGA328P running V-USB and got that working.  While it does provide the functionality that I need I really do not want to use libraries that are licensed, etc.  I'd rather use the tools provided by the AVR platform to make this work.  When I turn this all over to my company I'd rather not have a bunch of license issues wrapped up in there as well.  Nothing wrong with authors asking for payment for commercial use.  I've done it before.  This time it is different, is all.

 

So...I purchased a few ATMEGA8U2 chips and have started reading everything I can on designing and developing for AVR USB.  I've ordered "USB Complete Fourth Edition : A Developers Guide".  I'm in the middle of going through "USB in a NutShell" (http://www.beyondlogic.org/usbnutshell/usb1.shtml).  I've looked over the V-USB documentation and examples as well as LUFA.

 

My question is simply this:  Am I missing anything? 

 

USB is a complex entity and I would really like to take it in from all sides.  I've search the boards here (where I got the recommendation for the book and "USB in a Nutshell").  Are there any sites that really helped fill the gaps for you as you design USB hardware and firmware?  Examples?  Videos?  PODcasts?  Just wondering if there is a really great resource that I'm missing.

 

Thanks.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Take a look at the mega 32u4 and the USB1287 and LUFA. I managed to put together a rather nice device with those parts.

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The most obvious solution is IMO: use an Arduino board. The Uno, Nano .... or Mega2560 if you need lots of pins and timers

 

Nard

A GIF is worth a thousend words   They are called Rosa, Sylvia, Tessa and Tina, You can find them https://www.linuxmint.com/

Dragon broken ? http://aplomb.nl/TechStuff/Dragon/Dragon.html for how-to-fix tips

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Plons wrote:

The most obvious solution is IMO: use an Arduino board. The Uno, Nano .... or Mega2560 if you need lots of pins and timers

 

Nard

I did exactly this using a FTDI USB to serial chip. I chose that chip because you can reprogram it to be seen as a custom named device using a utility provided by FTDI. Here is a link to some of the things you can change: http://www.thermitrack.com/therm... This IS NOT the product I worked on but gives a little info on how to do it: http://www.thermitrack.com/progu... I had nothing to do with the drivers on the PC side or the final code or functionality of the device. I just provided a hardware solution, a working prototype and the software framework on the Atmel side.