New Chip Alert: RTL8710, A Cheaper ESP8266 Competitor

Almost exactly two years ago, shocking news thundered across the electronics blogosphere. There was a new WiFi module on the block. It was called the ESP8266, a simple serial device capable of taking care of an 802.11 network and a WiFi stack, giving any project with a microcontroller access to the Internet. Earlier modules to connect microcontrollers were sufficient for the task, but nothing could beat the ESP8266 on price.

The RTL8710 dev kit
The RTL8710 dev kit

Now, there’s a new module that’s even cheaper and more powerful than the ESP8266, and just like all of our favorite parts from China, it inexplicably shows up on eBay and AliExpress before anywhere else. It’s the Realtek RTL8710, available on eBay, on AliExpress, and elsewhere around the web for about $1.50 per device. There’s also a dev kit for the device featuring breakouts, an additional microcontroller, and a few switches and buttons for about $15.

As you would expect, there is zero English-language data available about the RTL8710, everything is in Chinese. There is a forum of sorts going over this new chip, and the Google Translatrix is good enough to glean a little bit of info about the new chip.

The RTL8710 features an ARM processor clocked at 166MHz. Stock, this module is running FreeRTOS. There’s 1MB of Flash, 48k of RAM available to the user, up to 21 GPIOs, 3 I2C, 4 PWM pins, and 2 PCM. This module also comes with an FCC logo, but I can’t find anything on the FCC website about this module.

If anything, the Realtek RTL8710 isn’t meant to be a competitor to the ESP8266. While extremely popular and still very useful, the ‘next gen’ ESP32 is due to be released in a month or so, and with the exception of Bluetooth on the ESP32, this Realtek module should match its capabilities quite well. Whether anyone can get an English datasheet is another matter, but if history is any indication a few English language RTL8710 forums will pop up a few hours after this is posted.

Thanks [sabas] for sending this in

91 thoughts on “New Chip Alert: RTL8710, A Cheaper ESP8266 Competitor

  1. Where are they cheaper? The ESP-12E modules are USD $2.65 delivered for single units from ebay and I found an ESP-12F for USD $2.38

    You’d need to buy 100 of the RTL8710 units off aliexpress to beat that, and your ebay link was not a “buy now” price.

      1. > More expensive, no libraries, no documentation.

        Give it some time to attract people and eventually a community will form around it.
        What will be vital is the producer approach towards Open Source and protocols. I would rather pay twice for an open module rather than a cheaper one but ruined by binary blobs dependencies; clearly those who buy those modules in the hundreds or thousands will disagree.

          1. Funny how everytime one of these chips is brought. Someone; usually not related to the project/product immediately buys a relevant domain name and sets up a forum and invites other to join.

    1. “48k of RAM available to the user”. Looking at the linker script, this chip seems to have at least 512k on chip, with an additional 2M available in certain variants. There is probably a lot of room for optimising the memory layout.

    2. Yeah. They never learn.
      I know that it drives costs up, especially with Chinese vendors which seemingly don’t like large on-chip memories (point in case: many cheap Chinese gizmos use external EEPROMs for just a few bytes of storage like soldering temperature or RGB light settings) , but such low amount of memory negates the speed advantage of the CPU. There was a demo how ESP8266 can decode MP3, but it needs an SPI RAM for a buffer (IIRC optional, but very recommended for any practical network conditions)

      1. Currently building that one. :)
        There are tricks to further optimize it and ditch the SRAM buffer, but I need the free space for application logic. Thats why I’m so excited for the ESP32, finally enough RAM!

      2. That’s hardly a Chinese only issue – how many PICs or STM32s have built-in EEPROM? There are some, but the majority are without.

        And at $2-3 price point even a kilobyte of extra RAM counts. So I wouldn’t see that as a huge limitation. This is clearly a specialized device that, while it can do a bit of useful work on its own, is clearly meant to talk to a bigger host processor for anything more complex.

  2. Hmm, I’m an Espressif employee so I’m probably biased, but I think it’s more of an ESP8266 competitor than an ESP32 killer. Compared to the ESP32: 48K vs 512K of RAM, 1MB flash vs up to 16MB flash, no BT, less peripherals, …

        1. I managed to hook up my Segger and make GDB work, so I guess it does? The ESP8266 ha just one meager hardware breakpoint, so this is not a luxurious experience.

    1. The 48KB figure seems to be after the wifi stack etc is loaded (the datasheet I could find showed 1MB flash, 512KB ram and then 1MB rom)…. If that’s with all the stuff you might want to use like a http server etc loaded 48KB free isn’t too bad.
      And because it’s ARM you should get reasonable toolchains, working debugging etc.

    2. Yeah, I dunno what Brian meant by that either. It’s aimed directly at the ESP8266. The Realtek website even has a comparo of the two.

      If good documentation and a good SDK for this thing show up, it could become interesting. Until then, the ESP8266 is still the hotness.

    3. If you guys would stock with Mouser/Digikey/whomever, for the 32,8266, or whatever, even with 6 week lead-times, my company would probably use you guys even at $6 or$7 at 1k units so we can just use your base without having to waste time on EMI pre-testing/cert/etc. CC33xx killed our margins

      1. You would still need to certify and pass EMC testing even if you use a pre-certified module. The complete product needs to be tested, because the wiring, case or other things may affect the radiated and conducted EMI.

        ESP8266 is certainly cheaper than the CC33xx modules, though.

    1. Look like the RTL8710AF don’t have the NFC function. The RTL8711AF have the NFC function and can be mounted on the same RTL00 and RTL01 module boards so the PCB module board have the NFC_P and NFC_N label but this will only work if there is a RTL8711AF inside the module instead of the RTL8710AF.
      Also the RTL8710AF don’t seem to have the PWM and run at 83MHz instead of 166MHz of the RTL8711AF.
      Seem to be a lot of confusion between the two chips…

  3. Now that ESP has found a recipe that everyone wants, a lot of companies will try to compete. My feeling is that the ESP will still be best for a long time simply because it is hard to beat the knowledge base people have and add enough to be worth switching.

    I for one, would be happy with a much better power efficient ESP….. ready to run in 30ms, not 300, wake up from many pins while burning a few uA only, burn half the power in RX etc.

      1. I think you are overrating the fact that something is CMSIS compliant.

        CMSIS only describes the ARM core, nothing else. So you would basically know that if this is a Cortex M0 (or M3/M4/whatever), you could set up systick timer and have interrupt priorities and certain registers in a certain way. And hopefully the debug JTAG/SWD is ARM standard (they often have proprietary extensions). That’s all.

        CMSIS doesn’t say anything whatsoever about the built-in peripherals, clocks, power management, etc. – things that are way more important for the most people. For those you always have to the vendor’s datasheet and libraries. CMSIS is mostly useful for compiler and RTOS writers, not so much for application programmers.

    1. There are already Broadcom/MediaTek/other solutions out there that are dollars-per-chip competitive with ESP8266, but this market doesn’t really have access to them.

      Part of the Espressif “recipe” is not just dollars per chip.

      It’s a supply chain that will happily distribute silicon into the hands of hobbyists and everybody in small quantities, it’s open documentation and SDK and the like that isn’t restricted by NDAs and only for the big 10^5-order customers. And it’s delivering that while keeping the price relatively low compared to small-volume CC3200 (or other candidates that are available in small-scale distribution with docs and tools), even if some ESP8266 features like crypto/TLS aren’t quite perfect.

      Even if it isn’t perfect, even if it requires translation, some access to these sorts of resources is better than nothing.

        1. I agree too. As a casual user, in the fall of 2014 I sprang for the Spark (now Particle) Core & Photon, but also bought some ESP8266s, despite the sketchy support at the time, just to see what could be done for < US$3. I wasn't expecting much, but the the thing was much better than expected, and i got to watch and play as the community produced several decent user-friendly ways to develop on it. Espressif deserves credit for putting out a surprisingly good part, and putting it into so many hands, even if their documentation was initially weak. So… I still have lots of love for the ESP8266.

          It's great to see competitors and successors, though, especially if they've learned from all this and a mature useable development ecosystem can be put together more quickly.

          PS Thanks to Mr Benchoff for NOT using "ESP8266-killer" in the title :-P

  4. A lot of other things are way more important than if the price per single piece is 1.50USD or 2.00USD!
    We need more information
    . ARM/CMSIS peripherals, documentation
    . What is going on with those two pins NFC_P and NFC_N ?
    . teardown, is the flash onchip?
    . Does it run FreeRTOS? Is this opensource? Is it using opensource LWIP?
    . How many blobs are there for what purpose and how big are they?

      1. Look at the end of the page: there is a amazing board that look to be Arduino compatible with the RTL8710 module as the core processor, a NFC antenna and no less than 3 USB connectors.
        One USB connector is certainly for the debugger, maybe a second USB connector for the console UART but it’s strange as the debugger chip usually already have this feature.. I wonder what the last USB connector is connecting.

          1. DC decoupling. You need a bias voltage at the LNA input, but the antenna is often DC-grounded. You do not want to short-circuit the input bias so you place a DC blocking cap there.

  5. A (preliminary) “datasheet” for the RTL8711AF can be found here:
    http://bbs.iot-tech-now.com/forum.php?mod=viewthread&tid=29

    TLDR:
    According to this, the 8711AF has got 1MB flash on chip but providing two hardware SPI interfaces of which one can be used as SDIO. It has got a DMA controller as well. RAM is 448k + 64k TCM (tightly coupled memory). Furthermore 3 UARTs, 3 I2C, 2PCM, 4 PWM and 8 timers. Of course all the IOs are multiplexed.

    Of course this all sounds like a lot and cheap modules with an SD slot (with SDIO and DMA) would be a really compelling feature but (as mentioned by others) it will be the support in documentation and software that will make this an ESP8266-“killer” and if there was such support, I would be perfectly fine paying double the price of an ESP8266.

        1. I realized that it’s just the same SDK as posted before by ba0sh1 with the only difference that it included an example for the google nest api. Don’t think that it’s worth uploading that. Unfortunately the chinese forum seems to be down as well.

          1. You can go to amebaiot.com, register and download the sdk officially from their website. Ameba seems to be a direct subsidiary of Realtek (see:
            http://www.realtek.com.tw/press/newsViewOne.aspx?NewsID=382&Langid=1&PNid=0&PFid=1&Level=1 or
            http://www.realtek.com/press/newsViewOne.aspx?NewsID=412&Langid=1&PNid=0&PFid=1&Level=1 ).
            In the zip of the Ameba SDK is a folder “doc” in which you can find a lot of useful documentation. “UM0039 Realtek Ameba -1 SDK Quickstart.pdf” provides a short overview of the differences of RTL8195AM (used on the Ameba dev board), RTL8711AF and RTL8711AM.
            The SDK seems only suitable for the 8195 although there are a few “#if defined CONFIG_PLATFORM_8711B” buried in the sources.

    1. Sorry, but you need to do that *even* if the module is certified. The way you integrate the module into the device could make it fail some tests – e.g. conducted EMI over the power wiring – and that cannot be tested without the entire assembly, obviously.

      All that the FCC logo/certification on the module gives you is a warm and fuzzy feeling that you actually have some chance to pass the EMC testing in the future because the module likely isn’t doing anything crazy.

    1. There is nothing about ARM that would stop you from writing a Go-interpreter. The limitations in these small devices come from the amount of RAM, not from the CPU-architecture. That is to say, there is nothing stopping someone from doing the same thing to Go as microPython did to Python — someone just has to do it.

        1. Well, that’s not really true – translating something to C doesn’t magically make the complexity of the high level language go away. It only converts it from one language into another (what do you think Python is written in – C/C++ …). And that is what requires the memory, not the fact the original code is in Python or Go. I don’t use Go, but a oneliner in Python could easily translate to several pages of C code requiring nontrivial amounts of RAM to run (e.g. something like a complex list or dictionary comprehension or a Numpy array operations).

          Keep in mind that these little micros often have less RAM than your old C64 or Speccy had, 30 years ago.

          C (not even C++) is used to program microcontrollers because it is nothing more but a better assembly language. It is not because people wouldn’t love to write C#, Python, Go, Java or Javascript on these things, but it simply isn’t practical to write Python code when you are fighting for every byte of flash and RAM, sometimes for every clock cycle in performance sensitive applications and switching to a bigger/faster chip is not an option (or a very expensive one). You cannot put something equivalent to a Raspberry Pi into every toaster so that you can program it in Python (or Go). Well, you could, but the Pi costs often more than what the toaster sells for retail, all the costs and margins included.

          BTW, there is some work on getting Rust to work on microcontrollers and some people are experimenting with Ada if you don’t want to deal with C.

          1. There is a difference between Anything-To-C converted source code and runtime interpreted langages.

            You quoted Python but actually Python or LUA on ESP are not source code converted to C they are runtime interpreted by a runtime motor use a lot of space to store/run itself plus the space for the text source or some source-to-byte-code converted source that help to keep some space and make it run faster.

            But source code converters can produce ugly/lengthly C source code but it could also be very efficient and produce C source nearly as you could have done yourself, I remember having used BCX that did a pretty good job converting their own Basic style langage into C source code.

      1. Go won’t necessarily eat that much RAM definitely not as much as Python/MicroPython. With microcontrollers nowadays having 128KB of RAM or more I think that it is very feasible. I’d forego C for GO any day of the week.

        While Rust is a great language, I prefer GO to Rust because of its minimalism

  6. If we can’t get proper datasheets, reference manuals & SDKs for these chips, I’d prefer to have it run AT Firmware and to use it with my choice of microcontroller as a slave WiFi chip over UART or SPI. I believe that was the intended use of many of these i.cs.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s