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.
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.
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.
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).
You 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.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
I mirrored the SDK here:
http://filez.zoobab.com/rtl8710/sdk/sdk-ameba1-v3.4b3_without_NDA/
@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:
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.
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
@Daan
Ooops… Link fixed.
I think MT7687 is a better solution, consider the Opened SDK and document in english
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.
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
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?
@cnxsoft
Don’t know, what’s the best place to order a devboard?
@Daan
I would prefer mailing lists, forums are hard to follow as you have to come there often.
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.
@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.
@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.
@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.
> 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.)
Updated post with more detailed comparison table between RTL8710, RTL8711, and RTL8195 SoCs.
@zoobab
Thanks!
mbed 5.0 for RTL8710/RTL8711 should be available in a few months…
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!
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.
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