Home > Hardware, Realtek RTD, Testing > Getting Started with B&T RTL-00 RTL8710 Module – Serial Console, AT Commands, and ESP8266 Pin-to-Pin Compatibility

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

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.

  1. August 18th, 2016 at 13:27 | #1

    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 🙂

  2. August 18th, 2016 at 14:02 | #2

    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.

  3. August 18th, 2016 at 14:24 | #3

    @Daan
    I’m assuming it will be released in about two weeks. I might also get some test results between ESP8266 and RTL8710 next week from the “development board” company.

    The told me they did not expect us to find about the module so early…. So that’s why it’s not quite ready yet.

  4. August 18th, 2016 at 19:27 | #4

    @Daan
    Examples of AT commands for GPIO controls.
    Write:

    Read:

    As found in http://www.amebaiot.com/wp-content/uploads/2016/06/AN0075-Realtek-Ameba-1-at-command-v2.2.pdf

  5. August 18th, 2016 at 19:43 | #5

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

  6. Iridiumsat
    August 18th, 2016 at 22:04 | #6

    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!

  7. anon
    August 18th, 2016 at 22:52 | #7

    > 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).

  8. paul
    August 19th, 2016 at 02:34 | #8

    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 ?

  9. Rebane
    August 19th, 2016 at 02:34 | #9

    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

  10. paul
    August 19th, 2016 at 03:22 | #10

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

  11. August 19th, 2016 at 09:17 | #11

    @Iridiumsat
    I’m still optimistic about RTL8710. Within two weeks, we’ll know more. A NodeMCU like board with RTL8710 is also in the works.

    @Rebane
    Nice work!

    @paul
    I think I got that one with a Cubieboard… Any standard USB to TTL boards supporting 3.3V will do. For example: http://www.ebay.com/itm/CP2102-USB-2-0-to-TTL-UART-Module-6Pin-Serial-Converter-STC-Replace-FT232-Module-/381374541932

  12. August 19th, 2016 at 09:18 | #12

    @paul
    That’s what RTL-01 model is for. The data may already be available in some documents in Chinese. Now I’m mostly taking a wait and see approach as more info will come out in 2 or 3 weeks.

  13. August 19th, 2016 at 19:05 | #13

    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…

  14. Martin Schmidt
    December 2nd, 2016 at 16:06 | #14

    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

  15. December 2nd, 2016 at 16:12 | #15

    @Martin Schmidt
    You must have a different firmware.

    If you have a JLink/SWD debugger, you could try to update the firmware from Ameba GCC SDK -> http://www.cnx-software.com/2016/11/28/pine64-padi-iot-stamp-rtl8710af-wifi-kit-review-part-2-serial-console-gcc-sdk-flashing-debugging-code/

  16. April 8th, 2017 at 18:39 | #16

    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.

  17. April 9th, 2017 at 10:28 | #17

    @Victor
    That’s odd. It looks like they may check the brand of the module “NOT B&T”. Are you using a B&T module?

    You’d better ask in RTL8710 forum, or look for that string in Ameba SDK to understand what it means.

  18. April 9th, 2017 at 21:04 | #18

    @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…

  1. No trackbacks yet.