Getting Started with B&T RTL-00 RTL8710 Module – Serial Console, AT Commands, and ESP8266 Pin-to-Pin Compatibility

Orange Pi Development Boards

The announcement of the ultra-low cost ARM based Realtek RTL8710 WiFi modules for IoT applications generated quite a lot of buzz since they can potentially compete with the popular ESP8266 modules. The main problem at the time was documentation and software support, but after some searches we could find that RTL8710 was part of Realtek Ameba family, and found some documents and an SDK for RTL8710/RTL8711/RTL8195. ICStation also kindly provided one B&T RTL-00 module for review, which costs $3.55 shipped per unit, and as low as $2.85 if you purchase 10 or more.

Click to Enlarge
Click to Enlarge
Click to Enlarge
Click to Enlarge

The question here is how to get started? The answer can be found in page 8 of the Chinese datasheet for the module with GB0 and GB1 pins used for Tx and Rx to access the serial console. Time for some soldering…

RTL8710_Soldering

For the first test, we’ll just need Tx (GB1), Rx (GB0), GND and 3.3V, and cut breadboard wires to give me the flexibility to use it with a breadboard just in case.

RTL8710_Serial_Connection

Now you need to connect the module to a USB to TTL debug board with all four pins connected since it will also provide power.

Click to Enlarge
Click to Enlarge

Insert the debug board into a USB port of your computer, and setup a serial connection @ 38400 8N1 using minicom, screen, putty, or other serial capable app. I struggled to get the full boot, until I found ATSR command would reboot the board:


If you type help you’ll see some AT commands:


You can find the full AT command set in RTL8710 forums, and somehow it differs from the AT command set found in AN0025 Realtek at command.pdf application note available in Ameba Standard SDK.

Time to have some fun by trying to connect the board to my WiFi router:


Success, and that was easy. Now AP mode….


ATPA needs four arguments with ESSID,password (8 to 64 characters), channel, and hidden or not (1 or 0). I could now find the new access point with my phone, so I connected to it and typed the password. The serial console outputted the following during the connection:


The command ATW? will return lots of info about WiFi status:


I’ll complete those little tests by enabling the web server in the board:


You can now connect to the web interface to configure the access point.

Click to Enlarge
Click to Enlarge

AT commands are all good, and you can configure WiFi, UDP/TCP servers, and even OTA firmware update, but there’s nothing about controlling GPIOs there… So that will be something to look into. [Update: ATSG is the command for GPIOs. See comment]

Dpape on RTL8710 forums discovered something very interesting: B&T RTL-00 module is pin-to-pin compatible with ESP12E module based on ESP8266, so if you already own a board with such module including NodeMCU board, you could unsolder the ESP8266 module, and replace it with RTL8710 and get going.

NodeMCU_RTL8710That’s exactly what he’s done and shown to work, with the module bought from Aliexpress, which appears to come pre-loaded with the exact same firmware. You’d normally not need the red USB debug board as shown above, but he removed the USB to TTL chip on NodeMCU previously, so that’s why…

ESP12E_vs_RTL00

The modules are actually only mostly pin-to-pin compatible, as for example GC5, corresponding to ADC on ESP12E, does not seem to support ADC, but only I2C1 SCL, SPI0 CS2, and GPIO_INT signals. But the power signals, Tx and TX, and most GPIO signal will match.

Realtek RTL8710 is still nowhere near ESP8266 in terms of community and software support however. However an ARM development board company – previously featured in this blog and many news outlets – is involved in the project, and I’ve been informed more details will be provided in 2 to 3 weeks. The current modules sold are for the Chinese market, and an international version is planned with a slightly different radio.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

18
Leave a Reply

avatar
18 Comment threads
0 Thread replies
8 Followers
 
Most reacted comment
Hottest comment thread
10 Comment authors
VictorMartin SchmidtzoobabRebanepaul Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Wanita
Guest

Awesome! The RTL8710 WiFi Wireless Transceiver updates a lot and more popular than the old edition. Thanks Jean’s review for ICStation product. Looking forward to further cooperation with you Jean. Nice day 🙂

Daan
Guest

Great post @cnxsoftware, nice to see your findings. It would be great to get to get our hands on the source of this B&T firmware, this way we could ad GPIO, …. control.

Daan
Guest

@cnxsoft
Nice find,
I have placed it on the forum https://www.rtl8710forum.com/viewtopic.php?f=6&t=11

Iridiumsat
Guest
Iridiumsat

These remind me back to the very first day ESP8266 shown up to us. Using as a WiFi module along with Arduino via serial port AT command.

But the most interesting things happened when Espressif released a Toolchain and SDK, then a community growing much more faster. We can start developing with C language and then Lua came in, finally Arduino platform based on ESP8266. So ESP8266 can stand alone itself as a main controller.

A lot special stuffs has been pushing out like a WPS, SmartConfig, RTOS and over the air chip programming.

I think no one else can catch up Espressif for a next couple years and left a big brothers like TI, Atmel, ST, Nordic behide!

anon
Guest
anon

> when Espressif released a Toolchain and SDK

Espressif didn’t release SDK, it was leaked. Toolchain was made by a community (namely, a guy whose dayjob is supporting Xtensa GCC).

paul
Guest
paul

The ESP8266 has option of a socket to connect an external Antenna. I don’t see one in the photos above. Does RTL8710 have option of external Antenna ? When will a full spec covering Tx/Rx levels and power consumptions become available ?

Rebane
Guest
Rebane

I made a quick testing with openocd and bare metal programming without SDK (I just searched some register values from SDK source). I got the LED blinking, software is running in RAM. It might be possible to use openocd for flashing as well, need to write some helper code to run in ram (as I understand, the flash is some kind of “spi flash” inside the chip).

https://bitbucket.org/rebane/rtl8710/src

paul
Guest
paul

@cnx can you let us know the model name for the USB – UART debug board ?

zoobab
Guest

Great post, will try to reproduce what you did once I have back at home!

I will try to replace one of those Wemos D1 mini with the RTL module…

Martin Schmidt
Guest
Martin Schmidt

I have just connected and got this different reply that you.
When I type help its look like this.
And when try any AT commands it act very strange.

Reply from help:

COMMAND LIST:

==============================

wifi_connect

wifi_connect_bssid

wifi_disconnect

wifi_info

wifi_on

wifi_off

wifi_ap

wifi_scan

iwpriv

wifi_promisc

wifi_update

wifi_simple_config

wifi_wps

wifi_sta_ap

wifi_debug

ping

cpu

dw

ew

exit

help

[MEM] After do cmd, available heap 10008

Victor
Guest

Hi,
recently connected to rtl8710 through ftdi232.
Not sure if I’m missing something but seems like there is some malfunction.

The only message I get is the following:

[B&T_IOT_RTL8710] ######### NOT B&T FIREWARM CHECK FAILED!!! ##############

If I type anything and press enter nothing happens.
No AT command is executed, only if I type a lot I get the next message:

Too long cmd string.

Could someone please confirm whether this is normal or not.

Victor
Guest

@cnxsoft
Thanx, will try that.

Today I gave it another try and shortend the chip-en pin accidentally.
Now it loads up until the Initializing wifi message and does nothing.
Doesn’t accept commands, no wifi network created by the chip, but the
serial console is active.
Seems to like like the chip is damaged physically or the firmware wasn’t written properly…