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

Orange Pi Development Boards

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.

22
Leave a Reply

avatar
22 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
10 Comment authors
MJIOTnorth16changliangPaulRoy Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
zoobab
Guest
Daan
Guest

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

will
Guest
will

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

zoobab
Guest

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.

Deets
Guest
Deets

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.

zoobab
Guest

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

zoobab
Guest

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

Roy
Guest
Roy

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.

Daan
Guest

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

Paul
Guest
Paul

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

changliang
Guest
changliang

@zoobab
Thanks!

north16
Guest
north16

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!

north16
Guest
north16

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.

MJIOT
Guest

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