Home > FreeRTOS, Hardware, Programming, Realtek RTD > Development Resources for Realtek “Ameba” RTL8710, RTL8711, and RTL8195 WiFi SoCs

Development Resources for Realtek “Ameba” RTL8710, RTL8711, and RTL8195 WiFi SoCs

We were made aware of a potential ARM based ESP8266 competitor last week with Realtek RTL8710 WiFi modules selling for about $3.5 shipped per unit, and under $2 per unit for larger orders (100+ pieces). Hardware is good, but for a platform to be successful, or even just useful, you also need software support. So I started doing some research into IoT-Tech BBS and asked ICStation for an “SDK” for the module they sold.

802.11 nxn with NFC RTL8710 Module

RTL8710 single band 802.11n (1×1) and NFC Tag Solution block diagram

I ended up on this forum post providing an “Realtek RTL8710 SDK” via Baidu (password: brwp), which turned out to be about the same as the Google Drive link provided by ICStation, and only contain minimal documents, as well as cracked Windows IAR Embedded Workshop and JLink tools. There are also some more technical details in Chinese only in another forum post, and well as B&T RTL8710 module datasheet (PDF).

However, if you don’t read Chinese that’s pretty challenging, and you may not want to use cracked software for development. I’ve soon come to the conclusion that RTL8710 was part of Realtek “Ameba” family also including RTL8711AF/AM and RTL8195AF, with the latter used in Ameba Arduino IoT board ($25), and supported by Ameba IoT community, where you’ll find both a “Standard SDK” and an “Arduino SDK” with several documents to get started.

Click to Enlarge

Click to Enlarge

The comparison table above shows that RTL8195AM and RTL8711AM support 2MB SDRAM + 512KB SRAM, while RTL8711AF & RTL8710AF only support 512KB SRAM. The not-so-good news here is that the Arduino SDK currently relies on the 2MB SDRAM lacking in the cheaper versions of the chips, and that’s the reason given by Realtek for the lack of implementation on RTL8710/RTL8711. The good news is that Realtek confirmed that the “Standard SDK” based on FreeRTOS and LWIP supports RTL8195, RTL8711 and RTL8710 processors.

Ameba_SDK_Architecture

Ameba SDK Software Architecture

You can freely download the standard SDK after registration on Ameba IoT community website, and you’ll find source code (component folder), documentation, sample code (project folder) and tools for Windows, as well as Android and iOS configuration apps (source + apk binary).

Realtek_Ameba_SDKYou may have noticed that the SDK name ends with “without NDA” which unfortunately means some documents – such as RTL8710 datasheet – are not publicly available at this time. However, Realtek has noticed the interest raised by their low cost WiSoCs, and hopefully the company will decide to become more open, at least for RTL8710/8711 to allow the community to fully leverage WiFi IoT modules based on Realtek low cost wireless processors.

Ameba IoT community appears to focus on their Realtek RTL8195AM based Ameba Arduino board right now, but you can always try to get more details or help in their forums. Alternatively, “dpape” has very recently created RTL8710 forums, and #rtl8710 IRC channel where interested developers and users can share ideas and more information about Realtek RTL8710/RTL8711 solutions.

  1. August 1st, 2016 at 16:51 | #1
  2. August 1st, 2016 at 17:09 | #2

    @zoobab
    They regularly release Ameba SDKs, so while a mirror is cool, it’s good to always make sure you get the latest version on their website.

    Edit: OK, not that frequent… Latest: Version 3.4 – 2015/9/16

    They have a todo list, so it’s worrying that they dud not release anything for almost a year:

    – 5M Pixel USB camera for photo snapshot application
    – H.264 USB camera for video streaming
    – SPI camera for video streaming
    – Ethernet
    – Socket level AT command
    – SD storage & File system

  3. August 1st, 2016 at 17:18 | #3

    The Arduino SDK is getting more love -> https://github.com/Ameba8195/Arduino
    It would be good if it could be ported to RTL8710/11.

    ESP8266 supports Arduino with less memory, so I guess it could be feasible.

  4. August 1st, 2016 at 18:12 | #4

    Great find,

    I will try to upload the SDK and module datasheet to the forum today. The link to http://www.rtl8710forum.com is not correctly in the article, it now points to http://www.amebaiot.com/en/questions/. But thank you very much of naming the forum in the article.

    I really hope the forum will be a nice platform to work together with this module.

    Kind regards,
    Daan

  5. August 1st, 2016 at 19:09 | #5

    @Daan
    Ooops… Link fixed.

  6. will
    August 2nd, 2016 at 01:15 | #6

    I think MT7687 is a better solution, consider the Opened SDK and document in english

  7. August 2nd, 2016 at 02:36 | #7

    I have seen some micropython Pull Requests, but denied because they were too big:

    https://github.com/micropython/micropython/pull/1855

    There is some attempt here to make an SDK:

    https://github.com/cwyark/ameba-sdk-gcc-make

    I managed to compile this example:

    https://github.com/eggman/rtl_ameba_gcc_sample

    But not without trying different xcompilers under Ubuntu 14.04 LTS:

    https://github.com/eggman/rtl_ameba_gcc_sample/issues/1

    Now I will order some devboards and see if FrostedOS could be ported on there.

  8. Deets
    August 2nd, 2016 at 06:09 | #8

    You have at least 3 typos with RTL8185.

    There is a makefile out there for GCC with the IAR SDK.

    The problem, AFAIK, with these chips is that code execution is from ram so a 512kB size is going to be much less useful than an esp32 or even esp8266 where most code executes out of a small cache.

    For the 2MB versions it is less of a problem.

  9. August 2nd, 2016 at 10:08 | #9

    @zoobab
    The issue I have right now is how to connect the module to my computer, and update the firmware.
    I can see some UART pins on the module for serial console, or do I need J-Link or CMSIS-DAP debugger?

  10. August 2nd, 2016 at 22:39 | #10

    @cnxsoft
    Don’t know, what’s the best place to order a devboard?

  11. August 2nd, 2016 at 23:23 | #11

    @Daan
    I would prefer mailing lists, forums are hard to follow as you have to come there often.

  12. Roy
    August 3rd, 2016 at 04:14 | #12

    The realtek wifi chipsets are a nitghtmare, full of hardware and firmware bugs. What is the advantage of spewing cheap hw in this conditions? I prefer to buy a litlle more for a ralink.

  13. August 3rd, 2016 at 09:55 | #13

    @zoobab
    The easiest to use should be Ameba Arduino board available on eBay @ http://www.ebay.com/sch/chao-chihyu/m.html?_nkw=&_armrs=1&_ipg=&_from=

    If you want RTL8710 instead then maybe the one @ http://www.aliexpress.com/item/RTL8710-serial-WIFI-model-ESP-07-Authenticity-Guaranteed/32668828993.html looks OK.

  14. August 3rd, 2016 at 11:35 | #14

    @zoobab
    You could subscribe to the RSS feed @ https://rtl8710forum.com/feed.php
    It does not allow for easy answer from an email client like a mailing list, but at least you’ll get informed of new posts.

  15. August 3rd, 2016 at 17:56 | #15

    @zoobab

    You can subscribe to be notified via email when someone posts something to a topic. This way you are not required to log in , just subscribe to the topics you like and you will receive an email.

  16. Paul
    August 3rd, 2016 at 23:57 | #16

    > I have seen some micropython Pull Requests, but denied because they were too big:

    There were “denied” because MicroPython is open-source software, while SDK for RTL8195 contains things like:

    “+ * This module is a confidential and proprietary property of RealTek and
    + * possession or use of this module requires written permission of RealTek.”

    That’s of course not open-source at all. Moreover, it raises concern if a gentleman who submitted that patch posses the mentioned written permission. If not, he effectively stole it. And everyone who then downloads it stoles it too. Of course, MicroPython will never put such liability on its users. And Realtek first and foremost will need to work out a license which won’t make users of their stuff criminals, and then people who respect themselves will work with their stuff. (With ESP8266, situation was better – it had non-enforcable GPL placed on its SDK, which was rectified later, thanks to people’s effort. But ESP8266 was in exceptional conditions – it was first of its kind. Now, with so many alternatives, I have no idea why someone would spend their time on stuff which makes you feel like you steal it.)

  17. August 23rd, 2016 at 11:06 | #17

    Updated post with more detailed comparison table between RTL8710, RTL8711, and RTL8195 SoCs.

  18. changliang
    August 25th, 2016 at 07:16 | #18

    @zoobab
    Thanks!

  19. September 10th, 2016 at 10:57 | #19

    mbed 5.0 for RTL8710/RTL8711 should be available in a few months…

  20. north16
    November 9th, 2016 at 19:27 | #20

    I have an ameba board with RTL8195 and have found this thread very helpful – thank you.

    I have successfully built the example https://github.com/eggman/rtl_ameba_gcc_sample to generate ram_all.bin file. I have downloaded the file to my ameba by dragging and dropping it into the MBED directory that is opened when I connect the ameba to my PC. I have used putty to monitor the COM port and can see the Hello World messages. So far so good.

    I am now trying the example https://github.com/eggman/ameba-gcc-sample-rtos to build a freeRTOS version of the Hello World. I have generated a target.axf file but I don’t know what to do next.

    I have tried to drag and drop target.axf into the MBED directory in the same way as the ram_all.bin file but this doesn’t seem to work. The ameba reboots but still runs the previous program.

    Has anyone else tried ameba-gcc-sample-rtos on a RTS8195 ameba board and successfully run it? I can’t find contact details for the author so apologies for asking here.

    Thanks!

  21. north16
    November 11th, 2016 at 23:49 | #21

    In the end I used this sdk-ameba-rtl8710af-v3.5a_without_NDA_GCC_V1.0.0 – it produces a .bin file using gcc and makefiles – see here for more details:
    https://www.rtl8710forum.com/viewtopic.php?f=7&t=9#p232

    It does work for the RTL8195 as well as the RTL8710.

  22. May 12th, 2017 at 07:56 | #22

    Ameba’s latest product, RTL8710BN, has been released, and you can visit the web site to find out its specifications.
    http://www.realtek.com/products/productsView.aspx?Langid=1&PFid=45&Level=4&Conn=3&ProdID=361

  1. No trackbacks yet.