USB Bootcamp
Members: Adam McLeod, Daniel B. Fasnacht, Merve Kaya, Fabio Stefanini, Francisco Barranco, Fred Hamker, Je Hi An, Jonathan Tapson, Jayawan Wijekoon, Roi Kliper, Katie Zhuang, Ravi Shekhar, Runchun Wang, Samantha Adams, Sergio Davies, Siddharth Joshi, Trevor Agus, Tomas Figliolia, Tobi Delbruck, Yan Wu
Leader: Daniel B. Fasnacht
Learn how to use USB (Universal Serial Bus - the thing you have on every PC) to interface to neuromorphic chips and actuators. Write your own USB driver, make a robot that uses a silicon retina, write microcontroller firmware for the first time. Unlock the power of combining ubiquitous PC digital computation with your own hardware.
More specifically we are going to build USB microcontroller boards (based on the Atmel AVR32 series of processors). We are going to program that microcontroller and write software to control it from your PC. The drivers we have available from last year are really multi-platform and work on Linux, Windows or Mac. In 2010 we used Python to control our boards, but most other languages can be used too...
Related Lecture at ETH Zurich
The materials use in this tutorial have been developed by Tobi Delbruck & Daniel B. Fasnacht in the past year's Telluride Workshop. Based on that there was a new course held at ETH Zurich earlier this year. You can find the course material, background information and a related step-by-step guide, on: http://www.ini.uzh.ch/~tobi/wiki/doku.php?id=dig:uc
Assembling your USB Board
In the SMD Soldering Tutorial we will build the USB microcontroller boards we are going to use for the USB tutorial. You can either build your own board or arrange with somebody in the SMD tutorial to build one for you...
First Session 2011-07-01, 20:00 - 21:00
- demonstrate what we built last year in the USB tutorial
- give you a quick intro to the most important aspects of USB
- give you an overview of the capabilities of the Atmel AVR32 microcontroller we have on our USB boards
- disucss about what we could build this year, maybe something that can be used in other workgroups even...?
AVR32 Studio
- AVR32 Studio - Installation, Tips and Tricks: wiki:2011/usb11/AVR32Studio
Firmware programming / flashing
- through DFU using dfu-programmer on Linux: ...
- through DFU using the AVR32 Studio on Linux: ...
- through DFU using the AVR32 Studio on Windows: see wiki:2011/usb11/InstallWindows.
- through JTAG using the AVR-Dragon Programmer: ...
Firmware Projects
gpio-toggle & gpio-toggle-all
This basic project toggles pins on the AVR32.
rgb: using PWM to control an LED
This project reads the ADC and uses the values to set the PWM output duty cycle.
usb-rgb-ldr
This project reads an ADC input and sends the values to a host PC over USB. It also sets 3 PWM outputs according to commands sent from the host.
- running the usb-rgb-ldr firmware and rainbow.py on Windows: wiki:2011/usb11/RainbowPyWin7
rainbow.py on linux
This picture shows the rainbow.py running on Linux.
The cyclic pattern from the LDR is there because a white paper-slip is put onto the board. Thus the LDR sees the light from the RGB LED...
Attachments
-
rainbowpy-linux.png
(115.1 KB) - added by dfasnacht
15 months ago.

