Monday Experiment_ Bootloading an ATmega32u4 with Arduino _ Arduino Projects.pdf

5
2/3/2015 Monday Experiment: Bootloading an ATmega32u4 with Arduino | Arduino Projects http://murchlabs.com/mondayexperimentbootloadinganatmega32u4witharduino/ 1/5 Arduino Projects by Jeff Murchison Subscribe via RSS 13 comments Posted by Jeff Murchison on June 3, 2013 A month or two ago I ordered some of Atmel’s ATmega32u4 microcontrollers to play around with. I was excited to get them, but at the time I was really busy at work, so I quickly forgot about them. Last Friday I received some TQFP44 breakout boards and decided to spend some time this past weekend getting the Arduino bootloader and some example sketches up and running on the ATmega32u4. Turns out, it was pretty easy. One of the big features of the ATmega32u4 is that is has a builtin USB interface. This means that it’s super simple to program (just connect a USB cable and you’re good to go). Now in order to upload Arduino sketches to it, I first had to burn the Arduino bootloader to it. Since I don’t have a programmer, I used an Arduino Uno. The breakout boards for the ATmega32u4 I got from one of my favourite online shops; Dipmicro. I soldered the microcontroller using my hot air station. I could have used my soldering iron, but that’s less fun. Once that was done, I uploaded the ArduinoISP sketch to my Uno. Then I put the 10uF capacitor between RESET and GND. I added the 32u4 to my breadboard and put a 1uF decoupling capacitor between pin 6 and GND. Then I added the 16MHz crystal and 22pF ceramic caps, wired the appropriate SPI pins, and wired all of the GND and VCC pins. Here’s a diagram of the wiring: Introducing the TinyLoadr AVR Programmer Docs: How to use the TinyLoadr AVR Programmer ArduinoPowered Foosball Scoreboard (Part 2) ArduinoPowered Foosball Scoreboard (Part 1) nRF24l01+ 2.4GHz Wireless Arduino Transceiver Code Tutorial: Send SMS from your Arduino using an old Motorola cell phone Docs: How to use the TinyLoadr Shield Monday Experiment: Bootloading an ATmega32u4 with Arduino TinyLoadr Shield Updated! ArduinoISP Deluxe Shield October 2014 August 2013 July 2013 June 2013 December 2012 November 2012 October 2012 September 2012 July 2012 Select Category HOME ABOUT OPEN SOURCE / CODE PRODUCT DOCUMENTATION TUTORIALS STORE CONTACT Monday Experiment: Bootloading an ATmega32u4 with Arduino Search Categories Recent Posts Popular Posts Archives

Transcript of Monday Experiment_ Bootloading an ATmega32u4 with Arduino _ Arduino Projects.pdf

Page 1: Monday Experiment_ Bootloading an ATmega32u4 with Arduino _ Arduino Projects.pdf

2/3/2015 Monday Experiment: Bootloading an ATmega32u4 with Arduino | Arduino Projects

http://murchlabs.com/monday­experiment­bootloading­an­atmega32u4­with­arduino/ 1/5

Arduino Projectsby Jeff Murchison

Subscribe via RSS

13 commentsPosted by Jeff Murchison on June 3, 2013

A month or two ago I ordered some of Atmel’s ATmega32u4 microcontrollers to play around with.I was excited to get them, but at the time I was really busy at work, so I quickly forgot aboutthem. Last Friday I received some TQFP44 breakout boards and decided to spend some time thispast weekend getting the Arduino bootloader and some example sketches up and running on theATmega32u4. Turns out, it was pretty easy.

One of the big features of the ATmega32u4 is that is has a built­in USB interface. This means thatit’s super simple to program (just connect a USB cable and you’re good to go). Now in order toupload Arduino sketches to it, I first had to burn the Arduino bootloader to it. Since I don’t havea programmer, I used an Arduino Uno.

The breakout boards for the ATmega32u4 I got from one of my favourite online shops; Dipmicro.I soldered the microcontroller using my hot air station. I could have used my soldering iron, butthat’s less fun.

Once that was done, I uploaded the ArduinoISP sketch to my Uno. Then I put the 10uF capacitorbetween RESET and GND. I added the 32u4 to my breadboard and put a 1uF decouplingcapacitor between pin 6 and GND. Then I added the 16MHz crystal and 22pF ceramic caps, wiredthe appropriate SPI pins, and wired all of the GND and VCC pins. Here’s a diagram of the wiring:

Introducing the TinyLoadr AVRProgrammer

Docs: How to use the TinyLoadr AVRProgrammer

Arduino­Powered Foosball Scoreboard(Part 2)

Arduino­Powered Foosball Scoreboard(Part 1)

nRF24l01+ 2.4GHz Wireless ArduinoTransceiver Code

Tutorial: Send SMS from your Arduinousing an old Motorola cell phone

Docs: How to use the TinyLoadr Shield

Monday Experiment: Bootloading anATmega32u4 with Arduino

TinyLoadr Shield Updated!

ArduinoISP Deluxe Shield

October 2014

August 2013

July 2013

June 2013

December 2012

November 2012

October 2012

September 2012

July 2012

Select Category

HOME ABOUT OPEN SOURCE / CODE PRODUCT DOCUMENTATION TUTORIALS STORE CONTACT

Monday Experiment: Bootloading anATmega32u4 with Arduino Search

Categories

Recent Posts

Popular Posts

Archives

Page 2: Monday Experiment_ Bootloading an ATmega32u4 with Arduino _ Arduino Projects.pdf

2/3/2015 Monday Experiment: Bootloading an ATmega32u4 with Arduino | Arduino Projects

http://murchlabs.com/monday­experiment­bootloading­an­atmega32u4­with­arduino/ 2/5

I believe that some of the VCC and GND connections are also made internally on the 32u4 but itdoesn’t hurt.

Once it was all wired up, I plugged my Uno back into my laptop, opened the Arduino IDE, chose“Arduino Leonardo” from the list of boards, and hit “Burn Bootloader.” After about 20 seconds, itwas finished.

Now, in order to test it, I removed my Arduino Uno. What I had now was a very basic ArduinoLeonardo clone. I added an LED on pin 25 (digital pin 4), and a switch from the RESET pin (13)to GND. If you haven’t used an Arduino Leonardo before, they are a little tricky for loadingsketches – you have to hold the reset button, hit Upload in the Arduino IDE, and then release thebutton. If you get an error, just try again.

Lastly, I added the USB connections. I used a stripped USB cable, which had four wires:

Black – GNDRed – 5VGreen – D+White – D­

The GND and 5V, I connected to the power rails, and the data lines I connected to pins 3 and 4through a 22ohm resistor. Pin 3 is D­ (white) and pin 4 is D+ (green):

Page 3: Monday Experiment_ Bootloading an ATmega32u4 with Arduino _ Arduino Projects.pdf

2/3/2015 Monday Experiment: Bootloading an ATmega32u4 with Arduino | Arduino Projects

http://murchlabs.com/monday­experiment­bootloading­an­atmega32u4­with­arduino/ 3/5

vinod January 14, 2014 at 3:52 am

Jeff Murchison January 20, 2014 at 3:44 pm

It should work, yeah.

Reply

Harsh May 10, 2014 at 11:27 pm

no u do not need to do that cuz. the ATMega32u4is not a mega AVR but a Atmel 8­bit AVR RISC­based microcontroller….it can program itself over a usb as it has Native USB Capabilities (after burning thebootloader….you will surely see arduino leonardo on your com port after you connect it using a simpleusb cable…………………………….there is no way you can program it using the tx and rx pins of the ftdi chip.. if you need toprogram it externally you need an ISP (OR AVR ISP) OR USB ASP PROGRAMMER …….YOU ARE ACTULLY USING THE UNO AS ISP as the name suggests Arduino as ISP……….

Reply

hello,herein u have shown programming via USB. Say, i wld like to do via a serial port.Can i connect a FT232 and do the job.

Vinod.

Reply

vinod January 16, 2014 at 9:30 am

Jeff Murchison January 20, 2014 at 3:45 pm

Thanks – I’ll fix that.

Reply

u have connected pin 2 to GND. Its UVCC.

Reply

With the wiring done, I plugged the USB cable into my laptop and switched back over to theArduino IDE. I opened the Blink example, changed the LED pin to pin 4, held down the resetbutton, hit Upload, and let go of the reset button.

A few seconds later, my LED started blinking. Success.

Categories: Arduino, Tutorials. Tags: arduino leonardo, ArduinoISP, atmega32u4.

13 Responses to Monday Experiment: Bootloading an ATmega32u4 with Arduino

Page 4: Monday Experiment_ Bootloading an ATmega32u4 with Arduino _ Arduino Projects.pdf

2/3/2015 Monday Experiment: Bootloading an ATmega32u4 with Arduino | Arduino Projects

http://murchlabs.com/monday­experiment­bootloading­an­atmega32u4­with­arduino/ 4/5

Luccki January 31, 2014 at 6:07 pm

thank you !

Reply

Gary N March 2, 2014 at 10:16 pm

i don’t know the little trick from Leonardo. Big thanks!

Reply

vinod March 27, 2014 at 1:53 pm

Harsh May 10, 2014 at 11:30 pm

this error may be due to no proper selection of bootloader or not proper burning ofbootloader.also make sure that you have connected a 16 MHz crystal ………

Reply

Hello,

I am getting the message “yikes invalid device signature+arduino”

Any tips pls.

Vinod.

Reply

vinod April 1, 2014 at 1:45 pm

Hello,

I am able to upload the boot loader.But, I wanted to program the Atmega32u4 via UART(Tx/Rx) pins. Can we do that.

Vinod.

Reply

seb July 22, 2014 at 1:08 pm

Thanks! I couldn’t get it running, turned out I forgot the capacitor at pin 6

Reply

Liudr September 16, 2014 at 1:24 am

Thanks for the tutorial. I wasted my time trying other things that didn’t work.

Reply

Anonymous September 24, 2014 at 7:36 pm

An awful lot of people are having problems with trying to program these 32u8 chip via USB.The Leonardo bootloader ONLY allows programming via USB. They need to change thebootloader to allow the FTDI option.

Reply

Leave a ReplyYour email address will not be published. Required fields are marked *

Name*

Email*

Website

Comment

Page 5: Monday Experiment_ Bootloading an ATmega32u4 with Arduino _ Arduino Projects.pdf

2/3/2015 Monday Experiment: Bootloading an ATmega32u4 with Arduino | Arduino Projects

http://murchlabs.com/monday­experiment­bootloading­an­atmega32u4­with­arduino/ 5/5

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym

title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q

cite=""> <strike> <strong>

Post Comment

« Previous Post Next Post »

Powered by WordPress and Cuttlefish. Top

Privacy & Terms

Type the text