Ks0248 keyestudio Leonardo R3 Development Board

From Keyestudio Wiki
Jump to: navigation, search
Keyestudio Leonardo R3 Development Board


The keyestudio Leonardo is a microcontroller board based on the ATmega32u4 (datasheet ). It is an easy-to-use open source hardware.
It has 20 digital input/output pins (of which 7 can be used as PWM outputs), 12 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 a AC-to-DC adapter or battery to get started. Note that ICSP (In-Circuit Serial Programming) header can not only program the firmware to Atmega32u4, but also be used as SPI communication interface.
The keyestudio Leonardo can be powered via the micro USB connection, or via an external power supply jack (DC 7-12V) or even with female headers Vin /GND (DC 7-12V).
The Leonardo differs from other Arduino boards using separate USB-Serial chip 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.


Microcontroller Atmega32u4
Operating Voltage 5V
Input Voltage (recommended) DC7-12V
Digital I/O Pins 20 (of which 7 provide PWM output)
PWM Digital I/O Pins 7
Analog Input Pins 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


  • PCB Dimensions: 71mm*54mm*15mm
  • Weight: 18.4g

KS0248 Details.jpg

Element and Interfaces

Here is an explanation of what every element and interface of the board does:
KS0248 pinout.jpg

Specialized Functions of Some Pins

Digital I/O pins D0-D13 and A0-A5 (D18-D23); Note that if the digital pins are not enough, the ICSP pins can be used as digital pins. MISO (D14); SCK(D15); MOSI (D16).
Analog Inputs A0-A5, A6-A11 (on digital pins 4, 6, 8, 9, 10, and 12). That is, D4 (A6)、D6 (A7)、D8 (A8)、D9 (A9)、D10 (A10) and D12 (A11).

Pins A0-A5 appear in the same locations as on the Uno; inputs A6-A11 are on digital i/o pins 4, 6, 8, 9, 10, and 12 respectively. Each analog input provide 10 bits of resolution (i.e. 1024 different values). By default the analog inputs measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function.

PWM (Pulse-Width Modulation) D3, D5, D6, D9, D10, D11 and D13. Provide 8-bit PWM output with the analogWrite() function.
External Interrupts D3 (interrupt 0); D2 (interrupt 1); D0 (interrupt 2), D1 (interrupt 3) and D7 (interrupt 4).

These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.

Serial communication D0 (RX) and D1 (TX).
SPI communication
On the ICSP header.

These pins support SPI communication using the SPI library. Note: the SPI pins are not connected to any of the digital I/O pins as they are on the Uno. They are only available on the ICSP connector. This means that if you have a shield that uses SPI, but does NOT have a 6-pin ICSP connector that connects to the Leonardo's 6-pin ICSP header, the shield will not work.

AREF Reference voltage for the analog inputs.

Used with analogReference(). Sometimes used to set the external reference voltage (0-5 volts) as the upper end of analog input pins.

IOREF The voltage at which the i/o pins of the board are operating (i.e. VCC for the board).

This is 5V on the Leonardo. Used to configure the operating voltage of microcontroller.


  • Automatic (Software) Reset:

Rather then requiring a physical press of the reset button before an upload, the Arduino Nano is designed in a way that allows it to be reset by software running on a connected computer.

  • USB Overcurrent Protection:

The Leonardo has a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.

Detailed Use with ARDUINO Software as follows

Step1| Download the Arduino IDE

When you get the board, first you should install the Arduino software and driver.
We usually use the Windows software Arduino 1.5.6 version. You can download it from the link below:
Or you can browse the ARDUINO website to download the latest version from this link, https://www.arduino.cc, pop up the following interface.

Then click the SOFTWARE on the browse bar, you will have two options ONLINE TOOLS and DOWNLOADS.

Click DOWNLOADS, it will appear the latest software version of ARDUINO 1.8.5 shown as below.

In this software page, on the right side you can see the version of development software for different operating systems. ARDUINO has a powerful compatibility. You should download the software that is compatible with the operating system of your computer.
We will take WINDOWS system as an example here. There are also two options under Windows system, one is installed version, the other is non-installed version. For simple installed version, first click Windows Installer, you will get the following page.



This way you just need to click JUST DOWNLOAD, then click the downloaded file to install it.
For non-installed version, first click Windows ZIP file, you will also get the pop-up interface as the above figure.
Click JUST DOWNLOAD, and when the ZIP file is downloaded well to your computer, you can directly unzip the file and click the icon of ARDUINO software to start it.

Installing Arduino (Windows)

Install Arduino with the exe. Installation package downloaded well.

Click“I Agree”to see the following interface.

Click “Next”. Pop up the interface below.

You can press Browse… to choose an installation path or directly type in the directory you want.
Then click “Install” to initiate installation.

Wait for the installing process, if appear the interface of Window Security, just continue to click Install to finish the installation.

Introduction for Arduino IDE Toolbar

Double-click the icon of Arduino software downloaded well, you will get the interface shown below.
(Note: if the Arduino software loads in the wrong language, you can change it in the preferences dialog. See the environment page for details.)

The functions of each button on the Toolbar are listed below:

IDE 1.png Verify/Compile Check the code for errors
IDE 2.png Upload Upload the current Sketch to the Arduino
IDE 3.png New Create a new blank Sketch
IDE 4.png Open Show a list of Sketches
IDE 5.png Save Save the current Sketch
IDE 6.png Serial Monitor Display the serial data being sent from the Arduino

Step2| Installing the Driver

Installed well the Arduino, the next step is to install the driver. The Arduino folder contains both the Arduino program itself and the drivers that allow the Arduino to be connected to your computer with a USB cable.

Ks0248 Step2.jpg

In different systems, the driver installation is similar. Here we start to install the driver on the Win7 system.
Plug one end of your USB cable into the keyestudio Leonardo and the other into a USB socket on your computer.
When you connect the board to your computer at the first time, right click your “Computer” —>for “Properties”—> click the “Device manager”, under Other devices, you should see the “Arduino Leonardo”.
Ks0248-DRIVER 1.png

Then right-click on the Arduino Leonardo and select the top menu option (Update Driver Software...) shown as the figure below.
Ks0248-DRIVER 2.png

Then it will be prompted to either “Search Automatically for updated driver software” or “Browse my computer for driver software”. Shown as below. In this page, select “Browse my computer for driver software”.
Ks0248-DRIVER 3.png

After that, select the option to browse and navigate to the “drivers” folder.
Ks0248-DRIVER 4.png

Once the software has been installed, you will get a confirmation message. Installation completed, click “Close”.
Ks0248-DRIVER 5.png

Up to now, the driver is installed well. Then you can right click “Computer” —>“Properties”—>“Device manager”, you should see the device as the figure shown below.
Ks0248-DRIVER 6.png

Step3| Connect the board

Connect the Leonardo board to your computer using the USB cable. The power LED should go on.
KS0248 Step3.png

Step4| Select the Arduino Board

Open the Arduino IDE, you’ll need to click the “Tools”, then select the Board that corresponds to your Arduino.

Ks0248 board.png

Step5| Select your serial port

Select the serial device of the Arduino board from the Tools | Serial Port menu.
Note: to avoid errors, the COM Port should keep the same as the Ports shown on Device Manager.
Ks0248-DRIVER 1.png

Ks0248 port.png

Step6| Upload the Code

Below is an example code for displaying the Hello World!
Copy and paste the code to the Arduino environment IDE.

int val; 
int ledpin=13; 
void setup()
void loop()
Serial.println("Hello World!");

Ks0248 code.png

Then click verify button to check the errors. If compiling successfully, the message "Done compiling." will appear in the status bar.
Ks0248 compile.png

After that, click the “Upload” button to upload the code. If the upload is successful, the message "Done uploading." will appear in the status bar.
Ks0248 upload.png

Step7| Open the Serial Monitor

After that, click the button to open the serial monitor.
Ks0248 monitor 1.png

Then set the baud rate to 9600, enter an “R” and click Send, that is, the computer will send the character R. When the board receives it, you should see the RX led on the board flash once, and then D13 led flash once; when keyestudio Leonardo R3 board successfully sends "Hello World!" to the computer, you should see the "Hello World!" is showed on the monitor, and TX led on the board flash once.
Ks0248 monitor 2.png

Package Included

  • keyestudio Leonardo R3 board * 1pcs
  • Black micro USB cable 1m * 1pcs

Package- ks0248.png

Resource Links

You can download the datasheet from the link:

You might also want to look at:
the reference for the Arduino language;

Download ARDUINO Software:

Or download the software and driver from the link below:


If you have problems, please see the troubleshooting suggestions.

Shop Now