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.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

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

  1. @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

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

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

  4. @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?

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

  6. @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.

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

  8. 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!

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC