Coder Social home page Coder Social logo

abdelhalim12 / arduino-atmega16u2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jj1bdx/arduino-atmega16u2

0.0 0.0 0.0 432 KB

Arduino ATmega16U2 USB chip firmware for DFU and USB Serial

License: MIT License

C 52.26% C++ 43.98% Makefile 3.75%

arduino-atmega16u2's Introduction

Arduino ATmega16U2 USB chip firmware

Sources

Default settings

  • The makefile flags set for Uno Rev 3

How to build

# DFU bootloader
(cd Bootloaders/arduino-usbdfu && make clean && make)
# USB serial firmware
(cd Projects/arduino-usbserial && make clean && make)

Note very well

  • The LUFA version is 100807, as in the hardware-pinoccio repository. This version is required for both DFU and USB serial firmware.

References

Notes excerpted from the Arduino firmware distribution

See https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/firmwares/atmegaxxu2/README.txt

  • The arduino-usbdfu directory contains the DFU bootloader on the 16U2
  • The arduino-usbserial directory contains the actual usb to serial firmware
  • Both should be compiled against LUFA 100807

To burn a hex file:

avrdude -p atmega16u2 -F -P usb -c avrispmkii \
  -U flash:w:output-file.hex \
  -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m \
  -U lock:w:0x0F:m

Notes on USB Vendor IDs (VID) and Product IDs (PID)

The arduino-usbdfu project uses Atmel's VID and MCU-specific PIDs to maintain compatibility with their FLIP software. The source code to the arduino-usbserial project includes Atmel's VID and a PID donated by them to LUFA. This PID is used in LUFA's USBtoSerial project, which forms the basis for arduino-usbserial.

According to the LUFA documentation, this VID/PID combination is:

"For use in testing of LUFA powered devices during development only, by non-commercial entities. All devices must accept collisions on this VID/PID range (from other in-development LUFA devices) to be resolved by using a unique release number in the Device Descriptor. No devices using this VID/PID combination may be released to the general public."

The production version of the arduino-usbserial firmware uses the Arduino VID. This is only for use with official Arduino hardware and should not be used on other products.

License

MIT. See LICENSE.

arduino-atmega16u2's People

Contributors

jj1bdx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.