Hardware projects

at90usb 5by5 devboard

The basic idea with this design is to make a devboard:

  • That fits within 5x5cm (= cheap bords from iTead/iStore).
  • It uses Atmel at90usb162 (because i got bunch to last really cheap).
  • Easy to make your own modules for it (hence IDC-10 connection).

Hardware

Rev A

Newer made any boards of this. No schematics or layouts will be released.

Rev B

MAJOR BUG: VCC and GND on USB is crossed, will DESTROY at90usb162 if not patched (the boards I made is patched and tested).
First board made (10pcs).
Images of schematic and PCB is in the gallery below. I win't release the schematic due to the severity of bugs, please wait for Rev C. or mail me if you really want it.
Signals
The I/O ports is called PB, PC and PD. Pin 1 is marked with an arrow. Only connect one power source at a time.
  • signal - connection on card
  • PB0 - PB:1
  • PB1 - PB:2, JP3:3(SCK)
  • PB2 - PB:3, JP3:4(MOSI)
  • PB3 - PB:4, JP3:5(MISO)
  • PB4 - PB:5
  • PB5 - PB:6
  • PB6 - PB:7
  • PB7 - PB:8, LED(blue)
  • RESET(PC1) - PC:1, JP3:5(RESET), 'RESET'-button
  • PC2 - PC:3
  • PC4 - PC:5
  • PC5 - PC:6, LED(green)
  • PC6 - PC:7, LED(red)
  • PC7 - PC:8
  • PD0 - PD:1
  • PD1 - PD:2
  • PD2 - PD:3
  • PD3 - PD:4
  • PD4 - PD:5
  • PD5 - PD:6
  • PD6 - PD:7
  • PD7 - PD:8, "HWB"-button
  • VCC - PB:10, PC:10, PD:10, JP3:2(if JP1=shorted)
  • 5V - PC:2 (if SJ2=shorted), JP2:3
  • 3.3V - PC:4 (if SJ3=shorted), JP2:1
  • GND - PB:9, PC:9, PD:9, JP2:2, JP3:6

Software

Linux

Ubuntu (and most debian based systems)

Open an terminal and run this command (you type the bold parts):
$ sudo apt-get install git-core gcc-avr avr-libc dfu-programmer That will install what you need to download some sourcecode, compile, and flash this board.

Now we need somewhere to work. First make sure you're in your home directory. Then crate a new directory. $ cd ~
$ mkdir source
$ cd source

Now let's download the example source from github. $ git clone git://github.com/ornotermes/at90usb-board-tester.git
$ cd at90usb-board-tester/

Let's compile the code. $ make hex
On some systems you don't have permissions to access Atmel USB devices as a regular user. In that case you will get errors like "Permission denied" or similar when trying to upload firmware, if you have problems later on try this:
$ wget http://slashhome.se/files/98-all-your-atmel-belong-to-us.rules
$ sudo cp 98-all-your-atmel-belong-to-us.rules /etc/udev/rules.d/
$ sudo service udev restart

Connect your board. To make the board enter programming mode you have to press HWB and RESET, then while still pressing HWB releasing RESET. Check if you can find the device. One of the lines should look similar to the one below the command. $ lsusb
Bus 003 Device 006: ID 03eb:2ffa Atmel Corp.

And at last flash the board. $ make dfu-program If you get "dfu-programmer: no device present." check that the device actually has entered programming mode.

Press reset on your board to exit the bootlaoder mode and run the program.

Windows 7

Download and install WinAVR, Atmel FLIP.

Connect your board.
To make the board enter programming mode you have to press HWB and RESET, then while still pressing HWB releasing RESET.
Windows will now try to install the DFU driver. If it fail:

  • Right-click Computer and select Manage.
  • Select Device Manager.
  • Right-click AT90USB162 DFU and select Update Driver Software....
  • Click Browse my computer for driver software.
  • Click Browse.... Select your Flip installation folder (i.e. C:\Program Files (x86)\Atmel\Flip 3.4.7 and click Next.
  • Click Install.

Now let's download some sample code. Now you have several options:
I will focus on the github for Windows.
Download and install github for Windows.
Sign up and sign in to github for Windows. Sign in to github in your webbrowser.
Go to example code and click Clone in Windows. Now the source will be cloned to a local repository on your computer.
When complete click the right-arrow (open this repo) next to ornotermes/at90usb-board-tester in your github for Windows-window.
Click on tools and select open a shell here.

Let's compile the code. Run this command (you type the bold parts):
> make hex
Make sure your board is in bootloader mode.

And at last flash the board. > make program
Press reset on your board to exit the bootloader mode and run the program.

Files

FilenameDescriptionLicenseUpdated
98-all-your-atmel-belong-to-us.rulesGive users permission to Atmel usb devices.?

Links

AVRLibc documentation
Datasheet and Appnotes
LUFA (Lightweight USB Framework for AVRs)
How to give users permission to Atmel devices
WinAVR
Atmel FLIP
Git for Windows
github for Windows
My example code
Bitwise operations in C

Gallery

[Spread Firefox Affiliate Button] [Get Ubuntu! NOW!] [GNU Image Manipulation Program] [Powered by Apache] [PHP Powered] [MySQL Powered] [Valid XHTML 1.0 Strict] [Valid CSS!]