usboverflow - P3J

Welcome to usboverflow.com - the home of the low-cost high-quality ATMEL based USB protocol development kit - the P3J.

www.usboverflow.com - the P3J www.usboverflow.com - the P3J

P3J FEATURES:

  • ATMEL AT90USB162 microcontroller
  • 16MHz resonator
  • Zig-zag solderless pin header for ISP programming and debugging
  • Hard Nickel-Gold plated USB connector
  • Pre-programmed with the Atmel DFU USB bootloader
  • Red user LED
  • User/bootloader button
  • 2mm robust PCB
  • 44mm x 12mm compact size
  • RoHS compliant, made in the EU


NEWS: P3J PRO coming...

www.usboverflow.com - the P3J PRO
  • 128kB FLASH onchip memory for emulation of devices with huge payloads!
  • ATMEL AT90USB1286 microcontroller
  • 16MHz resonator
  • Zig-zag solderless pin header for ISP programming and debugging
  • Hard Nickel-Gold plated USB connector
  • Pre-programmed with the Atmel DFU USB bootloader
  • Red user LED
  • User/bootloader button
  • 2mm robust PCB
  • 44mm x 12mm compact size
  • RoHS compliant, made in the EU


Links:

ATMEL AT90USB162 16MIPS USB 2.0 Full Speed Device
ATMEL AT90USB1286 16MIPS USB 2.0 Full Speed Device
ATMEL FLIP USB bootloader compatible programming software
Signed driver for FLIP on x64 Windows 7
LUFA Lightweight USB Framework for AVRs
LibUSB

Instructions

For ISP programming, see the P3J pinout in the documentation section.
For DFU USB bootloader mode, just hold the user button as you insert the P3J into the PC USB port. The bootloader is started, and you can load the AT90USB162 DFU / AT90USB1286 DFU drivers from the FLIP installation directory and use FLIP as your programming software.

Documentation

www.usboverflow.com - the P3J www.usboverflow.com - the P3J PRO

To compile your own P3J compatible DFU bootloader:


1. Download the latest LUFAlib!

2. Edit the following lines in the makefile:

2.A - For the P3J:
MCU = at90usb162
BOARD = TEENSY
F_CPU = 16000000
BOOT_START = 0x3000

2.B - For the P3J PRO:
MCU = at90usb1286
BOARD = TEENSY
F_CPU = 16000000
BOOT_START = 0x1E000

3. Add the following lines in BootloaderDFU.c right after "int main(void){":
PORTD=0xFF;
DDRD=1<<6;
if ((PIND&(1<<7)) && !(MCUCR&(1<< IVSEL)))
{
 ResetHardware();
 AppStartPtr();
}

4. Program over ISP and set the BOOTRST fuse!

Downloads:

Blinky-boot - LED blinks for 5 seconds then the bootloader is autostarted (HEX + C source)