Ks0173 keyestudio Nano ch340: Difference between revisions

From Keyestudio Wiki
Jump to navigation Jump to search
 
(27 intermediate revisions by the same user not shown)
Line 3: Line 3:
<br>
<br>
==Introduction==
==Introduction==
keyestudio Nano CH340 is a small, complete, and breadboard-friendly board based on the ATmega328P-AU. Compared with ARDUINO NANO, the USB-to-serial port chip used in keyestudio Nano is CH340G, so that the using method is the same except the driver installation file. <br>
 
It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 8 analog inputs, a 16 MHz crystal oscillator, a mini USB port, an ICSP header and a reset button. <br>
The processor core of Keyestudio Nano CH340 is atmega328p-au. It is as same as the official Arduino Nano in addition to driver file and USB to serial chip (CH340G).
Note that ICSP (In-Circuit Serial Programming) header is used to program the firmware to ATMEGA328P-AU, but generally the chip has been preburned before leave the factory. So use it less.<br>
It also has a 14 digital input / output interfaces (6 of which can be used as PWM output), 8 analog input interfaces, 1 16MHz crystal oscillator, 1 mini USB port, 1 ICSP interface, and a reset button.<br>
The keyestudio Nano can be powered via the Mini-B USB connection, or female headers Vin/GND (DC 7-12V).
The ICSP interface is used to burn firmware to Atmega328P-Au. Since this chip we burn firmly in front of the factory, it is generally not available. When using the Mini USB cable, we can use the VIN GND (DC 7-12V) to power.<br>
What’s more, you can burn the firmware for Atmega328P-Au through the built-in ICSP port. The firmware of this chip is burnt well before delivery, therefore, you don’t need to burn the firmware.<br>
The power can be supplied through USB cable, port 5V , GND(DC 5V), as well as Vin GND (DC 7-12V).<br>


<br>
<br>


==TECH SPECS==
==Specification==
{| class="wikitable" cellpadding="1" cellspacing="1"
{| class="wikitable" cellpadding="1" cellspacing="1"
|-
|-
Line 50: Line 52:
|-
|-
|}
|}
<br>
==Details==
*'''PCB Dimensions:''' 18mm x 45mm
*''' Weight:''' 7g
<br>[[Image:ks0173 size.jpg|700px|frameless]]<br>


<br>
<br>
Line 62: Line 58:
Here is an explanation of what every element and interface of the board does:
Here is an explanation of what every element and interface of the board does:
<br>[[Image:ks0173 pinout.jpg|800px|frameless]]<br>
<br>[[Image:ks0173 pinout.jpg|800px|frameless]]<br>
<br>[[Image:0173=图片3.png|700px|frameless]]<br>


{| width="80%" cellspacing="0" border="1"
{| width="80%" cellspacing="0" border="1"
Line 161: Line 158:
|-
|-
|}
|}
<br>
==Nano Back View==
<br>[[Image:KS0173-1.png|700px|frameless]]<br>


<br>
<br>
Line 179: Line 170:


<br>
<br>
==Tips==
== Windows System==
* '''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.


 
===Download the Arduino IDE===
<br>
==Detailed Use with ARDUINO Software as follows==
 
===Step1| Download the Arduino IDE===
When getting this control board, we need to install Arduino IDE. <br>
When getting this control board, we need to install Arduino IDE. <br>


Line 212: Line 197:
Click icon[[Image:0173--9.png|600px|frameless]]to download Arduino IDE.<br>
Click icon[[Image:0173--9.png|600px|frameless]]to download Arduino IDE.<br>


=== Download Driver of CH340 ===


'''Introduction for Arduino IDE Toolbar'''
https://fs.keyestudio.com/CH340-WIN
 
Double-click the icon of Arduino software downloaded well, you will get the interface shown below.
<br>[[Image:989898.png|600px|frameless]]<br>
('''Note:''' if the Arduino software loads in the wrong language, you can change it in the preferences dialog. See [https://www.arduino.cc/en/Guide/Environment-Languages the environment page] for details.)
<br>[[Image:KS0173----0.png|600px|frameless]]<br>
<br>
The functions of each button on the Toolbar are listed below:
<br>[[Image:IDE.png|600px|frameless]]<br>


{| class="wikitable" cellpadding="1" cellspacing="1"
===Installing the Driver===
|-
!scope="row" |[[Image:IDE 1.png|600px|frameless]] Verify/Compile
| Check the code for errors
|-
!scope="row" |[[Image:IDE 2.png|600px|frameless]] Upload
| Upload the current Sketch to the Arduino
|-
!scope="row" |[[Image:IDE 3.png|600px|frameless]] New
| Create a new blank Sketch
|-
! scope="row" |[[Image:IDE 4.png|600px|frameless]] Open
| Show a list of Sketches
|-
! scope="row" |[[Image:IDE 5.png|600px|frameless]] Save
| Save the current Sketch
|-
! scope="row" |[[Image:IDE 6.png|600px|frameless]] Serial Monitor
| Display the serial data being sent from the Arduino
|-
|}
 
<br>
 
===Step2| Installing the Driver===
The driver will be installed after downloading Arduino IDE.
The driver will be installed after downloading Arduino IDE.


Line 275: Line 229:
<br>
<br>


===Step3| Connect the board===
===Select the Arduino Board ===
Connect the NANO board to your computer using the USB cable. The power LED should go on.
 
<br>[[Image:KS0173-2.png|600px|frameless]]<br>
Click[[Image:Ks0313图片1.png|300px|frameless]] icon to pen Arduino IDE.
 


<br>
===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.
Open the Arduino IDE, you’ll need to click the “Tools”, then select the Board that corresponds to your Arduino.
<br>[[Image:Ks0313图片1.png|600px|frameless]]<br>
 
<br>[[Image:0085=14.png|600px|frameless]]<br>
 
When downloading the sketch to the board, you must select the correct name of Arduino board that matches the board connected to your computer. As shown below;
 
<br>[[Image:KS0173----2.png|600px|frameless]]<br>
<br>[[Image:KS0173----2.png|600px|frameless]]<br>
Then select the correct COM port (you can see the corresponding COM port after the driver is successfully installed).
<br>[[Image:0173-----2.png|600px|frameless]]<br>
<br>[[Image:0173-----3.png|600px|frameless]]<br>
<br>[[Image:0173-----4.png|600px|frameless]]<br>
* A- Used to verify whether there is any compiling mistakes or not.
* B- Used to upload the sketch to your Arduino board.
* C- Used to create shortcut window of a new sketch.
* D- Used to directly open an example sketch.
* E- Used to save the sketch.
* F- Used to send the serial data received from board to the serial monitor.


<br>
<br>


 
=== Setting IDE for new bootloader===
===Step5| Setting IDE for new bootloader===


Arduino Nano board could burn new and old bootloader. New bootloader is only compatible with 1.8.9 IDE and above. Yet the old one is compatible with all versions.
Arduino Nano board could burn new and old bootloader. New bootloader is only compatible with 1.8.9 IDE and above. Yet the old one is compatible with all versions.
Line 294: Line 263:
<br>[[Image:KS0173----3.png|600px|frameless]]<br>
<br>[[Image:KS0173----3.png|600px|frameless]]<br>


===Step6| Select your serial port===
===Select your serial port===
Select the serial device of the Arduino board from the Tools | Serial Port menu.  <br>
Select the serial device of the Arduino board from the Tools | Serial Port menu.  <br>
'''Note:''' to avoid errors, the COM Port should keep the same as the Ports shown on Device Manager.  
'''Note:''' to avoid errors, the COM Port should keep the same as the Ports shown on Device Manager.  
Line 302: Line 271:
<br>
<br>


===Step7| Upload the Code===
===Hello World!===
Below is an example code for displaying the Hello World!
Copy the following code in the Arduino IDE.
Copy and paste the code to the Arduino environment IDE.


<pre>
<pre>
///////////////////////////////////////////////////////////////////////////////////////////////
int val;  
int val;  
int ledpin=13;  
int ledpin=13;  
Line 327: Line 294:
}
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
</pre>
</pre>


Line 341: Line 306:
<br>[[Image:KS0173----10.png|800px|frameless]]<br>
<br>[[Image:KS0173----10.png|800px|frameless]]<br>


<br>
Then click [[Image:0486-26.png|300px|frameless]] to open serial monitor and set the baud rate to 9600, enter an “R” and click Send, that is, the computer will send the character R. When NANO board receives it, you should see the RX led on the board flash once, and then D13 led flash once; when keyestudio NANO board sends "Hello World!" to the computer, finally you should see the  "Hello World!" is showed on the monitor, and TX led on the board flash once.
 
<br>[[Image:KS0173----12.png|800px|frameless]]<br>


===Step8| Open the Serial Monitor===
After that, click the button to open the serial monitor.
<br>[[Image:KS0173----11.png|600px|frameless]]<br>
<br>
Then set the baud rate to 9600, enter an “R” and click Send, that is, the computer will send the character R. When NANO board receives it, you should see the RX led on the board flash once, and then D13 led flash once; when keyestudio NANO board sends "Hello World!" to the computer, finally you should see the  "Hello World!" is showed on the monitor, and TX led on the board flash once.
<br>[[Image:KS0173----12.png|700px|frameless]]<br>




<br>
<br>


== MAC System ==
== MAC System ==
Line 359: Line 318:
=== Install Arduino IDE on MAC System ===
=== Install Arduino IDE on MAC System ===


The installation instruction is as same as the chapter 4.1, as shown below:
The installation instruction is as same as the chapter 5.1, as shown below:


<br>[[Image:图片8883.png|600px|frameless]]<br>
<br>[[Image:图片8883.png|600px|frameless]]<br>


=== Download Driver of CH340 ===
=== Download the Driver of CH340 ===


https://fs.keyestudio.com/CH340-MAC
https://fs.keyestudio.com/CH340-MAC


=== How to Install Driver of CH340 ===
=== How to Install teh Driver of CH340 ===


Please refer to the following link:
Please refer to the following link:
Line 374: Line 333:
=== Setting Arduino IDE ===
=== Setting Arduino IDE ===


The setting method is as same as the chapter 4.4 except from COM port, as shown below:
The setting method is as same as the chapter 5.6 except from COM port, as shown below:


<br>[[Image:0173+图20.png|600px|frameless]]<br>
<br>[[Image:0173+图20.png|600px|frameless]]<br>


==Package Included==
==Package Included==

Latest revision as of 14:23, 29 April 2021

Keyestudio Nano ch340


Introduction

The processor core of Keyestudio Nano CH340 is atmega328p-au. It is as same as the official Arduino Nano in addition to driver file and USB to serial chip (CH340G). It also has a 14 digital input / output interfaces (6 of which can be used as PWM output), 8 analog input interfaces, 1 16MHz crystal oscillator, 1 mini USB port, 1 ICSP interface, and a reset button.
The ICSP interface is used to burn firmware to Atmega328P-Au. Since this chip we burn firmly in front of the factory, it is generally not available. When using the Mini USB cable, we can use the VIN GND (DC 7-12V) to power.
What’s more, you can burn the firmware for Atmega328P-Au through the built-in ICSP port. The firmware of this chip is burnt well before delivery, therefore, you don’t need to burn the firmware.
The power can be supplied through USB cable, port 5V , GND(DC 5V), as well as Vin GND (DC 7-12V).


Specification

Microcontroller ATmega328P-AU
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 8 (A0-A7)
DC Current per I/O Pin 40 mA
Flash Memory 32 KB of which 2 KB used by bootloader
SRAM 2 KB
EEPROM 1 KB
Clock Speed 16 MHz
LED_BUILTIN D13


Element and Interfaces

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

0173=图片3.png

1 ICSP Header ICSP (In-Circuit Serial Programming) Header

ICSP is the AVR, an micro-program header consisting of MOSI, MISO, SCK, RESET, VCC, and GND. It is often called the SPI (serial peripheral interface) and can be considered an "extension" of output. In fact, slave the output devices under the SPI bus host.
When connecting to PC, program the firmware to ATMEGA328P-AU.

2 LED indicator(RX) Onboard you can find the label: RX(receive )

When control board communicates via serial port, receive the message, RX led flashes.

3 LED indicator(TX) Onboard you can find the label: TX (transmit)

When control board communicates via serial port, send the message, TX led flashes.

4 LED indicator(POW) Power up the control board, LED on, otherwise LED off.
5 LED indicator(L) There is a built-in LED driven by digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.
6 RX0(D0)TX1(D1)D2-D13
It has 14 digital input/output pins D0-D13 (of which 6 can be used as PWM outputs). These pins can be configured as digital input pin to read the logic value (0 or 1). Or used as digital output pin to drive different modules like LED, relay, etc.
7 RST Reset pin: connect external button. The function is the same as RESET button.
8 MEGA 328P Each board has its own microcontroller. You can regard it as the brain of your board.

Microcontrollers are usually from ATMEL. Before you load a new program on the Arduino IDE, you must know what IC is on your board. This information can be checked at the top surface of IC.
The board’s microcontroller is ATMEGA328P-AU.
More info. see the datasheet

9 MINI USB The board can be powered via Mini-B USB connection. Also upload the program to the board via USB port.
10 3V3 pin rovides 3.3V voltage output
11 REF Reference external voltage (0-5 volts) for the analog input pins. Used with analogReference().
12 A0-A7 The Nano has 8 Analog Pins, labeled A0 through A7.
13 5V pin Provides 5V voltage output
14 GND Ground pin
15 VIN Input an external voltage DC7-12V to power the board.
16 Reset Button Used to reset the control board
17 CH340G USB-to-serial port chip, converting the USB signal into Serial port signal.
18 AMS1117 Convert the external voltage input DC7-12V into DC5V, then transfer it to the processor and other elements.


Specialized Functions of Some Pins

  • Serial communication: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data.
  • PWM (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. See the attachInterrupt() function for details.
  • SPI communication: D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK).
  • IIC communication: A4 (SDA); A5(SCL)



Windows System

Download the Arduino IDE

When getting this control board, we need to install Arduino IDE.

Enter the website https://www.arduino.cc/,click0173--1.png and 0173--2.png
0173--3.png

Select versions you want to download, the latest version could be downloaded.
0173--4.png

Alternatively, you could select previous release.
In this project, we use 1.8.12 version.
0173--5.png


ClickKS0173----13.png to view the below page
KS0173----14.png


Click 0173--6.pngto download an installer of Arduino 1.8.12 version,which needs to be installed manually. When you tap 0173--7.pnga zip file of Arduino 1.8.12 version will be directly downloaded, and you only need to unzip it to finish installation.
0173--8.png

Click icon0173--9.pngto download Arduino IDE.

Download Driver of CH340

https://fs.keyestudio.com/CH340-WIN

Installing the Driver

The driver will be installed after downloading Arduino IDE.

If your system is Windows 10, the computer will automatically install driver.
For other systems, like Windows7, we need to install driver manually.
The USB to serial chip of control board is CH340G, therefore, we will install the driver(usb_ch341_3.1.2009.06) for it.
Connect control board to computer with USB cable.
Click Computer----- Properties----- Device Manager, as shown below:


Ks0354 driver 1.png

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

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

After that, select the option to browseand navigate to the “drivers” folder of usb-ch341 installation.
Ks0354 driver 4.png

Once the software has been installed, you will get a confirmation message. Installation completed, click “Close”.
Ks0354 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.
KS0173----1.png


Select the Arduino Board

ClickKs0313图片1.png icon to pen Arduino IDE.


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


0085=14.png

When downloading the sketch to the board, you must select the correct name of Arduino board that matches the board connected to your computer. As shown below;


KS0173----2.png

Then select the correct COM port (you can see the corresponding COM port after the driver is successfully installed).


0173-----2.png

0173-----3.png

0173-----4.png

  • A- Used to verify whether there is any compiling mistakes or not.
  • B- Used to upload the sketch to your Arduino board.
  • C- Used to create shortcut window of a new sketch.
  • D- Used to directly open an example sketch.
  • E- Used to save the sketch.
  • F- Used to send the serial data received from board to the serial monitor.


Setting IDE for new bootloader

Arduino Nano board could burn new and old bootloader. New bootloader is only compatible with 1.8.9 IDE and above. Yet the old one is compatible with all versions.


KS0173----3.png

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.
KS0173----1.png

KS0173----5.png


Hello World!

Copy the following code in the Arduino 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!");
}
}


KS0173----6.png

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

KS0173----8.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.
KS0173----9.png

KS0173----10.png

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


KS0173----12.png



MAC System

Install Arduino IDE on MAC System

The installation instruction is as same as the chapter 5.1, as shown below:


图片8883.png

Download the Driver of CH340

https://fs.keyestudio.com/CH340-MAC

How to Install teh Driver of CH340

Please refer to the following link: https://wiki.keyestudio.com/Download_CH340_Driver_on_MAC_System

Setting Arduino IDE

The setting method is as same as the chapter 5.6 except from COM port, as shown below:


0173+图20.png

Package Included

  • Keyestudio NANO ch340 * 1pcs
  • 30cm mini USB cable * 1pcs


KS0173-4.jpg


Resource Links

https://fs.keyestudio.com/KS0173



Troubleshooting

If you have problems, please see the troubleshooting suggestions.



Get One Now