|
|
Line 1: |
Line 1: |
| =Introduction=
| |
|
| |
|
| '''This workshop introduces you to the workings of USB & addresses the most important issues to help you design and build a USB interface. Anyone interested is encouraged to start-up a Hackspace USB group.'''
| |
|
| |
| If you look at Jan Axelson’s essential toilet-side-USB-reading [http://www.amazon.co.uk/USB-Complete-Developer%2527s-Guide-Guides/dp/1931448086/ref=sr_1_1?ie=UTF8&qid=1299705319&sr=8-1 USB Complete: The Developer's Guide 4th Edition (Complete Guides Series)], you will quickly (actually by page xv in the table of contents) come to the conclusion that sticking with the Arduino was the best idea and sell the book to the next poor unfortunate on Amazon. Fortunately, I’ve read it ''all'' and I can pass-on the whodunit ending so you don’t have to suffer the book-induced narcolepsy I had to.
| |
|
| |
| USB-on-an-MCU is the whodunit. The good news is they’re cheap; there’s loads of competition; they leverage your existing hardware and software skills; and they’ve been around long enough to populate the forums with the pain you can now avoid suffering.
| |
|
| |
| You will definitely ''not'' go away with an in depth knowledge of the USB standard. This workshop is designed to provide you with enough information to
| |
|
| |
| =Why=
| |
|
| |
| # Arduinos are ''great'' for rapid prototyping. As soon as you move to production runs – even small ones – developing your own USB solution saves lots of money. Even for one-offs it’s do-able. I’ve discovered that there appear to be two main reasons why so few people are doing USB. Firstly, most developers see USB as “cracking a nut with a steam-roller” – there just doesn’t seem to be the awareness of the easy MCU way to do USB. Secondly, to create truly ''great'' USB requires several technical skills that are rare in a single person and requires equipment for the development process that your average bod just doesn’t have. Put those into the Hackspace environment – geekers like us with time, commitment and teamwork and you’ve got an exciting way forward.
| |
| # To follow on nicely from the first point, from my last year of USB musings I see the big picture like this. “''USB is massive. It has a colossal user base. Those two reasons above have left it significantly under exploited''”. To start with we can show people how to exploit USB by running profitable workshops like this to make money for the space. More excitingly we can support each other in a USB Group within Hackspace to knock-out some fantastic stuff.
| |
| # The more I find out about USB, the more interesting it becomes. I’d like to expand my own knowledge and help others to expand theirs.
| |
|
| |
| =When=
| |
|
| |
| My aim is to run the first 3 sessions within a 10 day window between Thursday 24 March and Thursday 21 April 2011.
| |
|
| |
| * 1 x weekday evening session 7pm – 10pm
| |
| * 1 x weekday day session 1pm – 4pm
| |
| * 1 x weekend day session 1pm-4pm.
| |
|
| |
| Doodle Poll here
| |
|
| |
| I’m capping individual session numbers at 6. Please optimize yourselves.
| |
|
| |
| =Prerequisites=
| |
|
| |
| Being fairly geeky will be helpful but is not essential. If the theory gets too heavy for you, have a little sleep or check your email. For practical work you’ll most likely be working with someone else so you could get them to do all the work.
| |
|
| |
| =Cash=
| |
|
| |
| These first USB workshops are free to the Hackspace community. You are the guinea-pigs (or at least, gerbils) who will allow us to develop the format. Eventually we can start charging non-Hackspace attendees for them and bring cash into the space. In the meantime we’ll rely on donations and samples (see Resources).
| |
|
| |
| =Logistics=
| |
|
| |
| * A room – The quiet room’s looking good.
| |
| * A Projector (& screen?) – Would be nice but not essential. There’s one available and a screen but the window behind washes out the image – need to test.
| |
| * Things to draw on like a whiteboard/flipchart and things to draw with – There’s a blackboard which suggests chalk might be useful.
| |
|
| |
| =Resources=
| |
|
| |
| * THE USB book - [http://www.amazon.co.uk/USB-Complete-Developer%2527s-Guide-Guides/dp/1931448086/ref=sr_1_1?ie=UTF8&qid=1299705319&sr=8-1 USB Complete: The Developer's Guide 4th Edition (Complete Guides Series)]
| |
| ** Just bought a cheap old one off Amazon.
| |
| * Some usb devices to look at for exercises.
| |
| ** Got bcd
| |
| * MCUs + associated Dev Envs for practical work.
| |
| ** 8-3-11 – emailed a few chip people. Ask for contributions from Hackspace people.
| |
|
| |
| Here’s my MCU Dev/Env Wishlist status. '''Please suggest any not listed that you may be interested in.'''
| |
|
| |
| '''FTDI – ''''''[http://www.ftdichip.com/index.html www.ftdichip.com/index.html''']''' '''
| |
|
| |
| * [http://www.ftdichip.com/Products/ICs/VNC2.htm Vinculum II] [http://www.ftdichip.com/Products/ICs/VNC2.htm (MCU)]
| |
| * [http://www.ftdichip.com/Products/Modules/DevelopmentModules.htm Vinculo] [http://www.ftdichip.com/Products/Modules/DevelopmentModules.htm (dev)]
| |
|
| |
|
| |
|
| |
| '''Microchip – ''''''[http://www.microchip.com/usb www.microchip.com/usb''']
| |
|
| |
| * [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010300 18F4550 (MCU])
| |
| * [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805 PICKit2/3 (dev)]
| |
| * [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en021940&part=DM163025 Picdem FS USB] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en021940&part=DM163025 (dev)]
| |
|
| |
|
| |
|
| |
| '''Atmel – ''''''[www2.atmel.com www2.atmel.com''']
| |
|
| |
| * [http://www.atmel.com/dyn/resources/prod_documents/32117s.pdf AVR32UC3C][http://www.atmel.com/dyn/resources/prod_documents/32117s.pdf (MCU)]
| |
| * [http://store.atmel.com/PartDetail.aspx?q=p:10500155 STK600][http://store.atmel.com/PartDetail.aspx?q=p:10500155 (dev)]
| |
|
| |
|
| |
|
| |
| '''NXP – ''''''[http://www.nxp.com/ www.nxp.com''']
| |
|
| |
| * [http://www.nxp.com/ LPC2142] [http://www.nxp.com/ (MCU)]
| |
| * [http://ics.nxp.com/lpcxpresso/~LPC1102/ LPCXpresso] [http://ics.nxp.com/lpcxpresso/~LPC1102/ (dev)]
| |
|
| |
| =Links=
| |
|
| |
| * Essential - [http://www.amazon.co.uk/USB-Complete-Developer%2527s-Guide-Guides/dp/1931448086/ref=sr_1_1?ie=UTF8&qid=1299705319&sr=8-1 USB Complete: The Developer's Guide 4th Edition (Complete Guides Series)]
| |
| ** [http://www.lvr.com/usb.htm http://www.lvr.com/usb.htm] -'' ''from the author of “USB Complete ...”
| |
| * Inevitable - [http://en.wikipedia.org/wiki/Universal_Serial_Bus http://en.wikipedia.org/wiki/Universal_Serial_Bus]
| |
| *
| |