Leonardo R3 Microcontroller Original Atmega32u4 Development Board With USB Cable

Weight 20 kg
Dimensions 6.86 × 5.33 × 1 cm
Microcontroller

ATmega32u4

USB connector

Micro USB (USB-B)

Built-in LED Pin

13

Digital I/O Pins

20

Analog input pins

12

PWM pins

7

Communication

UART/I2C/SPI

I/O Voltage

5V

Input voltage (nominal)

7-12V

DC Current per I/O Pin

10 mA

Memory

ATmega32U4/2.5KB SRAM, 32KB FLASH, 1KB EEPROM

The Leonardo is a microcontroller board based on the ATmega32u4. It has 20 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs), a 16 MHz crystal oscillator, a micro USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery to get started.

The Leonardo differs from all preceding boards in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Leonardo to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port. It also has other implications for the behavior of the board.

  • Microcontroller: ATmega32u4
  • Operating Voltage: 5V
  • Input Voltage (Recommended): 7-12V
  • Input Voltage (limits): 6-20V
  • Digital I/O Pins: 20
  • PWM Channels: 7
  • Analog Input Channels: 12
  • DC Current per I/O Pin: 40 mA
  • DC Current for 3.3V Pin: 50 mA
  • Flash Memory: 32 KB (ATmega32u4) of which 4 KB used by bootloader
  • SRAM: 2.5 KB (ATmega32u4)
  • EEPROM: 1 KB (ATmega32u4)
  • Clock Speed: 16 MHz

Package List:

  • 1 x Leonardo R3 ATMEGA32U4

It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Leonardo differs from all preceding boards in that the ATmega32u4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Leonardo to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port.

The Arduino LeonardoLeonardo ETH and Micro boards use an ATmega32U4 to offer you more functionalities compared to Uno.

The Leonardo, Leonardo ETH and Micro are programmed using the Arduino Software (IDE), our Integrated Development Environment common to all our boards and running both online and offline. For more information on how to get started with the Arduino Software visit the Getting Started page.

Use your Leonardo, Leonardo ETH and Micro on the Arduino Web IDE

All Arduino boards, including this one, work out-of-the-box on the Arduino Web Editor, you only need to install Arduino Create Agent to get started.

The Arduino Web Editor is hosted online, therefore it will always be up-to-date with the latest features and support for all boards. Follow this simple guide to start coding on the browser and upload your sketches onto your board.

Use your Leonardo, Leonardo ETH and Micro on the Arduino Desktop IDE

If you want to program your Leonardo, Leonardo ETH and Micro while offline you need to install the Arduino Desktop IDE.

Installing drivers for Leonardo, Leonardo ETH and Micro

Drivers should be automatically installed plugging with an USB cable the board to your PC, but with some version of the Windows operative system (like Windows 7, Vista and 10) it can happen that your board won’t be recognized and you will get the message Unknown USB device. It is so necessary to manually install them following the guide Manually install Drivers on Windows.

Now that you’ve set up your online IDE let’s make sure your computer can talk to the board, it’s time to make sure you can upload a program. To do that let’s open the LED blink example sketch: File > Examples > 1.Basics > Blink.

UNO Load Blink

Select your board

You’ll need to select your board in the Tools > Board menu:

  • Arduino Leonardo
  • Arduino Leonardo ETH
  • Arduino Micro

according to the board you have.

Micro BoardSel

Select your serial port

Select the serial device of the board from the Tools > Serial Port menu.

Micro SelPort

Upload and Run your first Sketch

Click the Upload button in the upper left to load and run the sketch on your board:

UNO Upload

After the compilation and upload process, you should see the message Done Uploading and the built-in LED of the board should start blinking.

Tutorials

Now that you have set up and programmed your Leonardo, Leonardo ETH or Micro board, you may find inspiration in our Project Hub tutorial platform.

More examples on the following library pages will help you in making very cool things!

  • Keyboard – Send keystrokes to an attached computer.
  • Mouse – Control cursor movement on a connected computer.
  • Ethernet for connecting to the internet using the Arduino Ethernet Shield, Arduino Ethernet Shield 2 and Arduino Leonardo ETH

Please read…

Good Coding Practice With the Leonardo, Leonardo ETH and Micro

A word of caution on using the USB Mouse and Keyboard Libraries: if the Mouse or Keyboard library is constantly running, it will be difficult to program your board. Functions such as Mouse.move() and Keyboard.print() will move your cursor or send keystrokes to a connected computer and should only be called when you are ready to handle them. It is recommended to use a control system to turn this functionality on, like a physical switch or only responding to specific input you can control. When using the Mouse or Keyboard library, it may be best to test your output first using Serial.print(). This way, you can be sure you know what values are being reported. Refer to the Mouse and Keyboard examples for some ways to handle this.

Q: What else is on board?

ATmega32u4 Microcontroller
20 x digital I/O pins (7 can be used as PWM outputs)
12 x Analogue inputs
16MHz crystal oscillator
1 x microUSB
1 x power jack
1 x ICSP header
1 x reset button

Q: Leonardo R3 can’t be recognized by computer?

Solution:

  • Whether driver is installed or not
  • Right-click “Computer”>“Property”>“Device Manager”, and check the driver“under Other Devices”. You need to install driver if driver is not founded.
  • If device manager doesn’t show device.
  • Check micro USB port of development board and computer.
  • Change another USB.
  • Change another computer to test board.

If none of them works, maybe the development board has something wrong.

Q: Compilation error on Leonardo?

In general, IDE will prompt error code“avrdude: stk500_getsync(): not in sync: resp=0x00”if there is compilation error

Solution:
sync:resp = 0x00 is a common response which means that“Atmega” chip of Arduino board doesn’t work. Once this situation happens, you can adopt the following instructions to solve problems.

  • Ensure that pin 0 and 1(serial port) of Arduino board are not connected (expansion board included)
  • Ensure that you choose correct COM port and development board Press rest button and upload code
  • Disconnect and reconnect Arduino to PC
  • Reboot Arduino IDE

If the above methods don’t work, try different Arduino boards on PC or test this board on another PC. This can help you to figure out how to tackle problems. If there is something wrong with Arduino IDE, just re-install Arduino IDE; if it is Arduino board, try to refresh the circuit board with Arduino firmware.

Q: Can’t run code when power on Arduino board?

Arduino board can’t run the code uploaded to development board, when plugged in power.

Solution:

  • Firstly check the code if it doesn’t run when Arduino board is plugged in power.
  • When Arduino board starts working, boot loader will monitor computer and send new code to Arduino board.
  • If Arduino board doesn’t receive new code, after a while, boot loader will overtime and run the code uploaded to Arduino board. However, neither of the boot loader and the previous code uploaded will overtime and start if your code sends serial data in a few minutes.
  • If Arduino board starts working, you need to find a way to delay serial data to Arduino board. In addition, you will use external compiler to upload code to Arduino board if the adjustments effect the program.
  • If the uploaded code doesn’t run but return to Arduino flashing code(indicator on Pin 13 flashes), you will use boot loader to burn Arduino board because the boot loader of circuit may be damaged.
Q: No response after uploading code?
  • Ensure that you choose the correct COM port and development board.
  • Code exceeds the capacity of circuit board.
  • There will be errors when using a power supply with a relatively large ripple, therefore, ensure stable power.
Q: Sketch is too Large?

There will be errors if sketch is larger than Leonardo development board’s flash memory. For instance, the flash memory of Leonardo is 32kb, and boot loader of Arduino uses 4KB. However, Arduino will send warnings if the code more than 32kb is uploaded.

Solution:

To solve the above problem, you have to find a way to occupy less space, as shown below:

  • Try to use integer data type rather than floating point in any case.
  • Try to use“const”qualifier when stating variable
  • Only necessary library included. Try to use the most important library of lightweight version.
  • Improve code. Technical can help you short code and simplify algorithm.
  • Transfer code to another board, like Arduino Mega which has larger flash memory.

You may also like…