KS0341A Keyestudio REV4 (Black) Main Control Board

1. Introduction
The keyestudio REV4 compatible board Advanced is a microcontroller board based on the ATmega328P (datasheet), fully compatible with keyestudio REV3 board and ARDUINO UNO.
It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, 2 ICSP headers and a reset button.
Note that the two ICSP headers are separately used to program the firmware to ATMEGA16U2-MU and ATMEGA328P-PU, but generally the two chips have been programmed well.
It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it via an external DC power jack (DC 7-12V) or via female headers Vin/ GND(DC 7-12V) to get started.
Note: the most important difference between this keyestudio REV3 Advanced board and keyestudio REV4 board is the voltage regulator chip used in the board.
The voltage regulator chip used in keyestudio REV4 board is NSP1117. When connect an external power, output 5V, the drive current is 1A. However, keyestudio REV4 Advanced board features the voltage-regulator chip MP2307DN. When connect the external power, output 5V, the drive current can be 2A.
The REV4 is the best board to get started with electronics and coding. If this is your first experience tinkering with the platform, the REV4 is the most robust board you can start playing with.
Keyestudio REV4 (Black) Main Control Board |
Keyestudio REV3 (Black)Main Control Board |
|
|---|---|---|
voltage-regulator chip |
MP2307DN |
NSP1117 |
Power Output |
5V |
5V |
Drive Current(external power) |
2A |
1A |
Drive Current(USB power) |
0.5A |
0.5A |
Keyestudio REV3 (Black)Main Control Board:

Keyestudio REV4 (Black) Main Control Board:

2. TECH SPECS
Microcontroller |
ATmega328P-PU |
|---|---|
Operating Voltage |
5V |
Input Voltage (recommended) |
DC7-12V |
Digital I/O Pins |
14 (D0-D13)(of which 6 provide PWM output) |
PWM Digital I/O Pins |
6 (D3, D5, D6, D9, D10, D11) |
Analog Input Pins |
6 (A0-A5) |
DC Current per I/O Pin |
20 mA |
DC Current for 3.3V Pin |
50 mA |
Flash Memory |
32 KB (ATmega328) of which 0.5 KB used by bootloader |
SRAM |
2 KB (ATmega328P-PU) |
EEPROM |
1 KB (ATmega328P-PU) |
Clock Speed |
16 MHz |
LED_BUILTIN |
D13 |
3. Details
Dimensions: 75mm x 54mm x 15mm
Weight: 27g

4. Element and Interface
Here is an explanation of what every element and interface of the board does:

Picture |
Introduction |
|---|---|
|
ICSP (In-Circuit Serial Programming) Header |
|
Power LED Indicator |
|
Digital I/O |
|
GND ( Ground pin headers) |
|
AREF |
|
SDA |
|
SCL |
|
ICSP (In-Circuit Serial Programming) Header |
|
RESET Button |
|
D13 LED |
|
USB Connection |
|
ATMEGA 16U2-MU |
|
TX LED |
|
RX LED |
|
Crystal Oscillator |
|
Voltage Regulator |
|
DC Power Jack |
|
IOREF |
|
RESET Header |
|
Power Pin 3V3 |
|
Power Pin 5V |
|
Vin |
|
Analog Pins |
|
Microcontroller |
5. Specialized Functions of Some Pins
Serial communication: Digital pins 0 (RX) and 1 (TX).
PWM Interfaces (Pulse-Width Modulation): D3, D5, D6, D9, D10, D11
External Interrupts: D2 (interrupt 0) and D3 (interrupt 1). These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value.
SPI communication: D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK). These pins support SPI communication using the SPI library.
IIC communication: A4 (SDA); A5(SCL)

6. Tips
Automatic (Software) Reset: rather than requiring a physical press of the reset button before an upload, the Arduino REV4 board is designed in a way that allows it to be reset by software running on a connected computer.
The REV4 board contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It’s labeled “RESET-EN”. You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details.
7. Detailed Use with ARDUINO Software as follows
7.1 Software Download
Open the browser and search: https://www.arduino.cc/en/software , we will take WINDOWS system as an example to show you how to download and install.

You just need to click JUSTDOWNLOAD,then click the downloaded file to install it. And when the ZIP file is downloaded,you can directly unzip and start it.

7.2 Installing Driver
Download drivers : drivers
Next, we will introduce the driver installation of UNO R3 development board. The driver installation may have slight differences in different computer systems. So in the following let’s move on to the driver installation in the WIN 7 system.
The Arduino folder contains both the Arduino program itself and the drivers that allow the Arduino to be connected to your computer by a USB cable. Before we launch the Arduino software, you are going to install the USB drivers.

Plug one end of your USB cable into the Arduino and the other into a USB socket on your computer. When you connect UNO board to your computer at the first time, right click the icon of your “Computer” —>for “Properties”—> click the “Device manager”, under “Other Devices”, you should see an icon for “Unknown device” with a little yellow warning triangle next to it. This is your Arduino.

Then right-click on the device and select the top menu option (Update Driver Software…) shown as the figure below.

It will then 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”.

After that, select the option to browse and navigate to the “drivers” folder of Arduino installation.

Click “Next” and you may get a security warning, if so, allow the software to be installed. Shown as below.

Installation completed, click “Close”.

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

7.3 Set Arduino IDE
Connect the UNO board to your computer using the USB cable. The green power LED should go on.

Select the development board and port.

Note: to avoid errors, the COM Port should keep the same as the Ports shown on Device Manager.

7.4 Upload the Program
Below is an example program for displaying the Hello World! Copy and paste the code to the Arduino environment IDE.
int val;
int ledpin=13;
void setup()
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
}
void loop()
{
val=Serial.read();
if(val=='R')
{
digitalWrite(ledpin,HIGH);
delay(500);
digitalWrite(ledpin,LOW);
delay(500);
Serial.println("Hello World!");
}
}
Picture |
Introduction |
|---|---|
|
Check the code for errors |
|
Upload the current Sketch to the Arduino |
|
Display the serial data being sent from the Arduino |
Then set the baud rate as 9600, enter an “R” and click Send, you should see the RX led on the board blink once, and then D13 led blink once, finally “Hello World!” is showed on the monitor, the TX led blink once.

8. Package Included
keyestudio REV4 Advanced board * 1pcs
USB cable * 1pcs



























