Ameba ARDUINO: Getting Started with RTL8722

Required Environment

AmebaD RTL8722CSM/RTL8722DM currently supports Windows XP/7/8/10 32-bits and 64-bits, Linux and Mac operating systems. In this documentation, please use Arduino IDE with version 1.8.12 or later.

Introduction to AmebaD RTL8722CSM/RTL8722DM

Ameba is an easy-to-program platform for developing all kind of IoT applications. AmebaD is equipped with various peripheral interfaces, including WiFi, GPIO INT, I2C, UART, SPI, PWM, ADC. Through these interfaces, AmebaD can connect with electronic components such as LED, switches, manometer, hygrometer, PM2.5 dust sensors, …etc.
The collected data can be uploaded via WiFi and be utilized by applications on smart devices to realize IoT implementation.

get-start-1

AmebaD and Arduino Uno have similar size, as shown in the above figure, and the pins on AmebaD are compatible with Arduino Uno.
AmebaD uses Micro USB to supply power, which is common in many smart devices.
Please refer to the following figure and table for the pin diagram and function of AmebaD.

get-start-2

 

 PIN nameGPIO INTADCPWMUARTSPII2C
D00GPIOB_2ADC5 UART3_RX(b)  
D01GPIOB_1ADC4 UART3_TX(b)  
D02GPIOB_3ADC6    
D03GPIOB_31     
D04GPIOB_30     
D05GPIOB_28     
D06GPIOB_29     
D07NC      
D08GPIOB_22 PWM14   
D09GPIOB_23 PWM15   
D10GPIOB_21 PWM13UART0_RTS(b)SPI0_CS 
D11GPIOB_18 PWM10UART0_RX(b)SPI0_MOSI 
D12GPIOB_19 PWM11UART0_TX(b)SPI0_MISO 
D13GPIOB_20 PWM12UART0_CTS(b)SPI0_CLK 
D14GPIOA_7  UART2_TX(log)  
D15GPIOA_8  UART2_RX(log)  
D16GPIOA_25 PWM4UART3_RX(a) I2C0_SCL
D17GPIOA_26 PWM5UART3_TX(a) I2C0_SDA
D18GPIOB_7ADC3PWM17 SPI1_CS 
D19GPIOB_6ADC2  SPI1_CLK 
D20GPIOB_5ADC1PWM9 SPI1_MISO 
D21GPIOB_4ADC0PWM8 SPI1_MOSI 
D22GPIOA_28     
D23GPIOA_24 PWM3UART0_CTS(a) I2C1_SDA
D24GPIOA_23 PWM2UART0_RTS(a) I2C1_SCL
D25GPIOA_22  UART0_RX(a)  
D26GPIOA_21  UART0_TX(a)  
D27GPIOA_20     
D28GPIOA_19     

 

get-start-3

Setting up Development Environment

Step 1. Installing the Driver

First, connect AmebaD to the computer via Micro USB:

get-start-4

If this is the first time you connect AmebaD to your computer, the USB driver for AmebaD will be automatic installed.
If you have driver issue of connect board to your computer please go to https://ftdichip.com/drivers/ for USB driver.
You can check the COM port number in Device Manager of your computer:

get-start-5

Step 2. Set up Arduino IDE

From version 1.6.5, Arduino IDE supports third-party hardware. Therefore, we can use Arduino IDE to develop applications on AmebaD, and the examples of Arduino can run on AmebaD too. Arduino IDE can be downloaded in the Arduino website:
https://www.arduino.cc/en/Main/Software

When the installation is finished, open Arduino IDE. To set up AmebaD correctly in Arduino IDE, go to “File” -> “Preferences”

get-start-6

And paste the following URL into “Additional Boards Manager URLs” field:
https://github.com/ambiot/ambd_arduino/raw/master/Arduino_package/package_realtek.com_amebad_index.json

Next, go to “Tools” -> “Board” -> “Boards Manager”:

get-start-7

The “Boards Manager” requires about 10~20 seconds to refresh all hardware files (if the network is in bad condition, it may take longer). Every time the new hardware is connected, we need to reopen the Board Manager. So, we close the Boards Manager, and then open it again. Find “Realtek AmebaD Boards” in the list, click “Install”, then the Arduino IDE starts to download required files for AmebaD.

get-start-8

Finally, we select AmebaD as current connected board in “tools” -> “Board” -> “Arduino AmebaD”:

get-start-9

Try the First Example

Step 1. Compile & Upload

Arduino IDE provides many built-in examples, which can be compiled, uploaded and run directly on the boards. Here, we take the “Blink” example as the first try.
Open “File” -> “Examples” -> “01.Basics” -> “Blink”:

get-start-10

Arduino IDE opens a new window with the complete sample code.

get-start-11

Next, we compile the sample code directly; click “Sketch” -> “Verify/Compile”

get-start-12

Arduino IDE prints the compiling messages in the bottom area of the IDE window. When the compilation is finished, you will get the message similar to the following figure:

get-start-13

Afterwards, we will upload the compiled code to AmebaD.
Please make sure AmebaD is connected to your computer, then click “Sketch” -> “Upload”.

The Arduino IDE will compile first then upload. During the uploading process, users are required to enter the upload mode of the board. Arduino IDE will wait 5s for DEV board to enter the upload mode.

get-start-14

To enter the upload mode, first press and hold the UART_DOWNLOAD button, then press the RESET button. If success, you should see a green LED flashing on the DEV board.

get-start-15

Again, during the uploading procedure the IDE prints messages. Uploading procedure takes considerably longer time (about 30 seconds to 1 minute). When upload completed, the “Done uploading” message is printed.

get-start-16

Step 2.Run the Blink example

In each example, Arduino not only provides sample code, but also detailed documentation, including wiring diagram, sample code explanation, technical details, …etc. These examples can be directly used on AmebaD.
So, we find the detailed information of the Blink example:
https://www.arduino.cc/en/Tutorial/Blink

In short, this example makes LED blinks, and it uses GPIO pin 08 (refer to the pin diagram D08). Then we connect the LED and resistance as the following figure:
(NOTE: In an LED, the longer pin is the positive pole, and shorter pin is the negative pole. So we connect the longer pin to D08, and connect the shorter pin to GND. In addition, please use a resister with suitable resistance in series between LED and GND to protect LED)

get-start-17

Finally, press the RESET button, and you can see the LED blinking.
If you encounter any problem, please refer to Trouble-shooting.

Please confirm that QQ communication software is installed