The ESP8266 Internet of Things module is the latest and greatest thing to come out of China. It’s ideal for turning plastic Minecraft blocks into Minecraft servers, making your toilet tweet, or for some bizarre home automation scheme. This WiFi module is not, however, certified by the FCC. The chipset, on the other hand, is.
Having a single module that’s able to run code, act as a UART to WiFi transceiver, peek and poke a few GPIOs, all priced at about $4 is a game changer, and all your favorite silicon companies are freaking out wondering how they’re going to beat the ESP8266. Now the chipset is FCC certified, the first step to turning these modules into products.
This announcement does come with a few caveats: the chipset is certified, not the module. Each version of the module must be certified by itself, and there are versions that will never be certified by the FCC. Right now, we’re looking at the ESP8266-06, -07, -08, and -12 modules – the ones with a metal shield – as being the only ones that could potentially pass an FCC cert. Yes, those modules already have an FCC logo on them, but you’re looking at something sold for under $5 in China, here.
Anyone wanting to build a product with the ESP will, of course, also need to certify it with the FCC. This announcement hasn’t broken down any walls, but it has cracked a window.
Worth mentioning…It is only the ESP8266EX (note the EX suffix) that passed. Earlier devices have not been certified. This is a subtle but no less important detail. This means that most modules (built on the non-EX derivative) need to be redesigned and tested using the EX chip. Also worth mentioning: the board they submitted with their FCC testing would also qualify and could be used as a shorter-path to module certification, but may not be ideal for applications.
I have been telling people on http://www.esp8266.com numerous times that a FCC approved module that can be transferred to your product requires 3 things minimum, a fixed antenna, an on board regulator and a metal shield, anyone of those missing and its a no go…. Now that said this does at least show us that there are no hidden issues with the IC that would make it impossible to certify.
oh, and the image about that looks like a certified module is not the FCC ID used is invalid, I can also quess there is no onboard regulator…. :-) sorry charlie.
That the module has an FCC/CE cert doesn’t really mean anything apart that it is maybe legal to import it now.
If you are building a product for sale, the product must always be certified as a whole. Whether the components are certified or not is completely irrelevant – just think about what happens if you add some larger/incorrect antenna to a certified module – wham, you have possibly blown the radiated energy limits … Or an unfortunately designed case with some resonant metal bit in that re-radiates some undesired frequency which would normally be attenuated. Or you get interference conducted over power wires out of the system … Or you program the device to radiate on channels where it isn’t allowed (Wifi frequencies in the US and Europe differ!).
CE cert is even less meaningful, because CE is added by *the manufacturer themselves*. Basically, as a manufacturer, you *self-certify* that the product is compliant with the relevant regulations and add the logo. It is pure paperwork, no testing is required. You only get in trouble if your product causes problems for someone and they complain, or it is discovered to be grossly unsafe or problematic in some random testing – then you can get hit with a hefty fine if your product is found to be non-compliant despite of your declaration. Of course, an eBay or Aliexpress seller that is here today and gone tomorrow isn’t likely to care about this.
Anyhow, even with CE, the certification on the module only makes it legal to sell it, even though it is not strictly needed as it is a component meant for integration into a final product, not a final product by itself. Again, if you build something with it for sale, you will need to test and certify the product *as a whole* again, regardless of any certification its components.
So all in all, this tidbit about the modules passing FCC doesn’t mean a lot, only that the chip itself can be made to pass certification – i.e. the basic design is sane and with some engineering your product stands a chance to pass the testing. Nothing else.
Great explanation! Thanks.
If you use FCC certified module in your design you will only need to verify FCC compliance of your product as unintentional radiator which is lot cheaper comparing to certification design with non certified RF module (intentional radiator).
Also, FCC certification is only valid in the US – I’m in Japan so I need Giteki, a local certification. But at least seeing efforts being made on legal issues is a great news!
The only useful post in the comments section. Thanks, Jan :)
“CE cert is even less meaningful, because CE is added by *the manufacturer themselves*. Basically, as a manufacturer, you *self-certify* that the product is compliant with the relevant regulations and add the logo. It is pure paperwork, no testing is required.” WRONG ! Ive been importing as a company lots of electronics from china to France (2.4 Ghz transmitter, cctv system etc). The CE is a real certification that has to be made by a real independant lab. and it cost usually around 5000euro ! besides CE France for instance also have special norms for transmitter etc ( power output in france is not the same than germany for instance depending on frequency which frequency also are different) in a word CE is the minimal test. So either the manufacturer sell the same product OEM to different companies and dont bother to pass that test, then the importer (me) I have to ask him to do it for me and it cost me around 5000 . OR the manufacturer sell under his name and in that case he paid himself the certification of the product meaning the cost of the product will be higher as to include the certification lab.
Now because it’s china, as an importer it’s up to you : you can ask the manufacturer to print FCC or CE on package , on product , board, wihtout actually passing the test but then it’s your responsibility. Besides if you do that’s usually a bad idea as my distributors in france they always ask for the certification made by the lab so selling them fake FCC or CE product wont work as then their own responsibility is engaged.
In the FCC report it says
Power output: 0.2660000
Can this be changed in the firmware? It is way to much for EU usage.
“all your favorite silicon companies are freaking out wondering how they’re going to beat the ESP8266”.
Here’s how:
– make a single chip WiFi solution just like this
– sell it at a comparable price
– use an ARM processor instead of the uncommon 32bit processor found in the ESP8266, and add at least 256KB of RAM,
so that it is easier to program and allows for more complex applications
– write and release a FULLY OPEN SOURCE WiFi stack, not a closed source binary blob as found in the ESP8266, perhaps
wriitten in object-oriented C++ and not C so as to make it easier to extend for things like sockets with SSL or uncommon
AP authentication methods (WPA infrastructure anyone?)
– wrap everything in an Arduino-like API so the n00bs are happy
Native 5v support too
At the very least, 5v tolerance.
Don’t be silly. Nobody (that matters to a manufacturer) needs 5V.
3.3V has been around for at least 15 years (if not more). 5V tolerant has already been gone in the FPGA world and they already recommended running I/O at 3V or 2.5V.
One of these days, we’ll be seeing more “3.3V tolerant I/O” as commodity chips caught up with the die shrinks and go down the 2.5V/1.8V I/O rails.
The whole hacker/maker/hobbyist community really needs to grow up and accept that 3.3V is the default logic level you’ll find with most devices today, and 5V is a dinosaur. The sooner this is embraced the easier it will be. It’s not worth bothering trying to add the extra hardware for digital translation back and forth between 3.3V and 5V, just have every device operating at 3.3V.
Is that not what the Spark Photon is?
https://www.spark.io/
Pretty much. Photon has more IO, more memory, ARM, and USB access.
But it’s $20. The question is: are the features above work an extra $17 ? If so, buy that. If not, buy the ESP8266.
The question is who you are selling your devices to.
A lot of companies are simply not interested to design their products to be used by hobbyists as the quantities are too low. For industrial customers you have others requirements.
But if price is an issue, 3 $ in a mass market is also very low.
not really, many ARM chips are less than $1 in quantity.
would you inbuilt something into your product (which you are responsible for in the end) where you only have some google-translated manuals and datasheets and big parts of the firmware are closed source?
Other modules might be more expensive but you get the other stuff required.
$3
Or you can hire someone who is competent programmer and is bilingual. That would help out if the project requires some technical help from the factory too. It is a solvable issue.
“wriitten in object-oriented C++ and not C”
OH MY GOD NO!
That will REQUIRE all applications to be written in C++
You ARE aware that there are languages out there other than C++??? You ARE aware that gluing C++ code to other languages is HORRIBLE compared to C? Have you ever worked with swig or any other tools to bind a library to a language? Do you know that many developers like to prototype in high-level languages like scheme or Javascript or lua? Do you know that there are excellent implementations of these languages for embedded systems? Are you AWARE of how difficult it is to provide C++ support to a foreign library from within an embedded language?
If the C++ library is written with every new, shiny language feature the developer could find, then yes it could be ugly. Otherwise, it isn’t difficult to a C wrapper around a sensible C++ library and then expose that instead. That would give you C++ for the feature checklist and C for actually getting stuff done.
But yeah, I agree with you. At this level, a highly modular C API would make more sense than C++.
> That will REQUIRE all applications to be written in C++
No, and you know it, since you’re talking about interfacing C++ code to toher languages.
> You ARE aware that there are languages out there other than C++???
I also program in C, perl, lua, Scilab/Octave and I have used other languages in the past. But yes, I do prefer writing in C++.
You ARE aware that gluing C++ code to other languages is HORRIBLE compared to C?
I had to interface C++ code to many of the languages listed above.
> Have you ever worked with swig or any other tools to bind a library to a language?
I used it a couple of time to export C++ code to python programmers. It worked, including mapping STL containers.
> Do you know that many developers like to prototype in high-level languages like scheme or Javascript or lua?
Do you know there are embedded developer that would prefer C++ libraries? After all, Arduino and mbed are pretty popular, and part of the simplicity of these API is due to an object-oriented approach, without incurring the overhead of an interpreter…
> Do you know that there are excellent implementations of these languages for embedded systems?
Let’s be honest, nothing that would fit on an ESP8266 and be capable to run anything but simple applications
> Are you AWARE of how difficult it is to provide C++ support to a foreign library from within an embedded language?
I have done it in the past, depends on the language you are interfacing with (for example, the Octave interpreter is itself in C++ which simplifes things) and on the C++ library you want to interface (mapping member functions taking STL containers for example may be more difficult).
P.S: regarding the 256KB of RAM, the ESP8266 already has 128KB, so doubling it seems reasonable, and may allow SSL sockets and other nice things.
The ESP8266 only has around 80k of data ram.
“add at least 256KB of RAM”
That all by itself will add at least $10 to its cost. Check out the STM32F4 processors with 256K of RAM onboard, all very pricey!
” sell it at a comparable price”
oops
>That all by itself will add at least $10 to its cost.
Modules exist with a Cortex M3 running at 200MHz with 512KB of ram and a bunch of SPI connected flash for less than $10 a piece in quantity. The SDK to work with them is built up of opensource stuff like lwip but it’s all under NDA.
The figures I saw for FCC certified CC3200 modules was around $10 in quantity too.
So I think you’re talking out of your ass to be honest.
The QTY 1 pricing can be a few times the QTY 5k or 10k. In the context of ESP modules, we are talking about retail. So you need to be comparing apples with apples.
>The QTY 1 pricing can be a few times the QTY 5k or 10k.
http://www.seeedstudio.com/depot/EMW3162-WiFi-Module-p-2122.html
$10 retail.. I’m sure if you want to buy a few thousand that would come down. Has 1MB of flash and 128K of ram. It’s actually a Broadcom part and should work with their SDK.
I find it interesting that this post is about FCC certification which you only really care about if you’re going into production and then you’re talking about quantities of 1.
I am well aware of this specific module. See my post previously just below this with the same URL and the correct price!
I am well aware of this specific module. See my post previously just below this with the same URL and the correct price!
BTW $10 is for the Seeed ones are just about $6-7 over the price of a $4 ESP
module.
These $10 modules have only 1/2 of the “add at least 256KB of RAM” in the discussion, so that estimate is pretty much on the spot.
(Hmmm my previous link was for $13 a few hours ago.)
>That all by itself will add at least $10 to its cost
if its made by US company, Chinese are absolutely fine with selling for MODERATE profit, and not fucking you with a garden hoe
Cortex-M3 is ~500K transistors, + 64K transistors for flash, + 80K transistors for 20KB static ram = ~700K transistors and it costs ~$0.7
256KB ram will make it 1700K transistors.
Im fine paying ~$2 + $1 for radio.
” Chinese are absolutely fine with selling for MODERATE profit, and not fucking you with a garden hoe”
I suspect you are conflating gross margin with profit. Gross margin pays for things like research and development, marketing, etc. Chinese companies may also accept smaller profit margins, but I suspect the bulk of their pricing advantage is that their labor costs are much cheaper and so they can do more with smaller gross margin.
You may think that is awesome if you just think of yourself as a consumer or an investor. If you work for a living and do it somewhere with higher labor costs than China, well, you might think about what butters your bread.
Its mainly about Volume
ESP is properly licensed, so R&D for cpu core IS being paid. What is different is the business model. Instead of trying to drive a semi into your anus with _$20 Wifi modules IN VOLUME_(CC3000) they started off by operating with the assumption they will sell millions of them in iot/novelty/toy crap.
Any company offering you $20 IoT module is disrespectful and clueless. I can glue effing android phone to my product at this point, they almost start at $20 RETAIL.
This is a *cost sensitive* embedded device with limited memory resources. You are in the wrong market segment asking for the wrong features. C++ is more an application level language than an embedded language.
There is the $13 EMW3162 WiFi Module come with a ARM M3, 1M byte of Flash, 128k bytes of SRAM.
http://www.seeedstudio.com/depot/EMW3162-WiFi-Module-p-2122.html
Then further up the resource side would be those embedded router RT5350 based modules going from 3G routers at $10 to $15 embedded modules with up to 32MB of RAM. These can run OpenWRT linux and most likely where C++ application code might fit in better.
There is already silicon on the market such as TI’s CC3200 which is aiming for exactly this target – 802.11 on a single chip plus a decent user application processor. Undoubtedly it will be easier to work with, easier to develop for, and it will be compatible with the Launchpad / Energia ecosystem to keep the Arduino users happy. Well, actually, the CC3200 Launchpad boards have been available for quite a while, and there is probably already Energia support out there for it.
It doesn’t cost $5, but then again you get what you pay for, and people will decide for themselves what the most valuable way to go for their system is – either use something like the ESP8266 and figure out how to get the onboard core to meet your needs, or add an extra external microcontroller to it and add that to the comparative budget (it’s not a $5 solution any more) or look at the overall cost/benefit of something more expensive like the CC3200.
Why increase cost by paying ARM royalties? it just doesn’t matter what the core is as long as there is a compiler.
RAM is expensive, so will always be the minimum that does the job.
“as long as there is a compiler.”
HAHAHAHA!!! WHAT A JOKE!!!
TELL US MORE about how “it just doesn’t matter” that Microchip and other manufacturers don’t ACTUALLY support the compiler?
TELL US MORE about how you are going to get your product out the door when the manufacturer decides to stop supporting the compiler?
Possibly the easiest option would be an 8051 core, which you could target with the SDCC compiler. That gives you non-ARM stack, free from top to bottom.
You’re not going to be able to use a Microchip core anyway, unless you *are* Microchip, so I don’t see why you mention them.
Firmware for embedded devices are not always build with the latest compilers/OS revs. anyways. If it works good enough, ship it and move on to the next shiny gadget.
It is not like the *license* processor IP core inside the chip get updated more often than a compiler. As long as there is a working version of the compiler (with known work around for compiler related bugs), you can still churn out code.
FYI: ARM licensing: http://www.anandtech.com/show/7112/the-arm-diaries-part-1-how-arms-business-model-works/2
>Why increase cost by paying ARM royalties?
Because decent tools exist for ARM stuff.
>it just doesn’t matter what the core is as long as there is a compiler.
Until the GCC port or whatever you use has some internal low level issue and the two people in the world that have a hope in hell of fixing it aren’t around.
My idol CNLohr would probably disagree.
https://www.youtube.com/watch?v=R1zx0xV0pWw
Correct my if I am wrong (I am not an EE by any means), but if you wanted to sell a wireless-flashing-web-enabled LED that runs off 2 AA batteries (no voltage regulation for this example) would not an FCC cert. of the module be all you need?
If you’re selling it, the entire device needs an FCC certification. If it’s built around an already certified module, however, the rest of the device can be certified as an unintentional radiator, which is much cheaper than an intentional radiator.
I mean, if there is a usable micro in the module, just solder on an LED and battery holder and sell that. I don’t have any plans down that line but would adding a couple of components really require a seperate FCC cert? I am just wondering because it would be nice to be able to one-off something using this device and sell it to a 3rd party as part of some solution (I know I am talking about two different situations here). Think sportsman wants to add Wifi to some piece of electronics he has (like an IR camera) or working person who wants to be able to turn off the pool filter pump away from home. Something like that were with a little expertise, you could throw this module in and get wifi to fix a problem or add internet connectivity, etc. Does someone really need to be an EE and spend thousands of dollars to come up with a solution someone will only pay maybe 100 dollars for?
anything with a micro in it needs FCC unintentional radiator testing. it’s actually relatively cheap and easy to get, especially compared to intentional radiator testing. you don’t need to be an EE. It might still cost a few thousand though, but not many thousands. Come up with a more modular solution that can suite multiple purposes and sell it many times over to cover the costs.
It helps to have the basic EMC background and design right on day 1. It is a bit more specialized field and knowledge about regulatory stuff, so even being an EE doesn’t not imply you know about EMC or what to look for or what rules applies.
These test can get expensive if you don’t pass the first time. You also mess up your time to market if you can’t fix otherwise small issues on the fly and have to rebook for test quickly. We do some pre-test in house at work and have people that deal with regulatory/safety stuff. So the tests are mostly a formality.
I have demonstrated specific conductive EMC spectrum plots for before/after fixes and root cause for someone else’s project with about 2 weeks of on the job learning on my own. Stuff like that wasn’t even picked up by the EMC guy on that project who only give very generalized suggestions. (My bosses like to send me do stuff out of the left field like that.)
im alittle surprised that these could pass FCC cert after tests with them so clearly these have additional filtering and thats exactly what i have been waiting for in order to stick these in to some designs
Of course the SMD versions are only useful in a project if you also include the circuitry and pins to update the firmware, or get the supplier to burn it on. None of the ESP-03’s I bought last month had up to date firmware
“Having a single module that’s able to run code, act as a UART to WiFi transceiver, peek and poke a few GPIOs, all priced at about $4 is a game changer, and all your favorite silicon companies are freaking out wondering how they’re going to beat the ESP8266.”
Pretty sure they aren’t. Lots of the major vendors have comparable products that aren’t insanely more expensive when ordered in production quantities and have proper SDKs with support for stuff like TLS out of the box… and have implementations of stuff like homekit that have a chance in hell of passing Apple’s certification process.
When you are a big OEM, you wouldn’t deal with unknown suppliers unless there are good reasons. Even then, the qualification and paper work to approve the vendor is enough of a headache to not worth the trouble.
I have worked for fortune 500 multinational corp and small companies with hundreds or less of employees, the support from these suppliers are night and day. In some cases I talked to my old contacts and they point me to the support further down the food chain for the future. :( But we don’t talk about these suppliers at HaD.
Once again it is production quantities vs smaller business/hobbyist market. So if you are small, you might get much better from these vendor that are trying to break into the markets. Not all vendors let you talk to their design engineer or their design manager for the products directly. (I got some contacts from my giga-corp days and I had some influences on big vendor in a handful of their parts – found bugs, changed packages/pinouts, added product line etc.)
The ESP forum seems to be a bit better than the Hell desk (TM) you might have to deal with anyways. There are a few that I can think of.
The ESP8266 is notable in that it is one of the few chip-level 802.11 WiFi devices on the market, along with the Texas Instruments CC3000-series chipsets, which is available in small-volume distribution and with publicly-available datasheets and documentation, meaning that this device is accessible to small-volume businesses and small, independent developers in a way that 802.11 chipsets from major vendors such as Broadcom or Realtek generally aren’t. When the Texas Instruments CC3000 hit the market a couple of years ago, it represented a significant new, relatively low-cost device with extensive, openly available documentation which presented an attractive alternative to “black box” WiFi modules which tend to not only be relatively expensive but which are also a closed box of
intellectual property with little or no documentation publicly available other than a basic API-style external interface description.
Alternative WiFi modules and devices such as the Spark Photon offer features such as USB connectivity, more memory, more I/O and a more familiar ARM architecture, but they are more expensive – the Photon is close to USD $20, for example. The Spark Photon is a very simple breakout board that just provides an antenna and a voltage regulator for USI’s WM-N-BM-09 WiFi module, which implements Broadcom’s standardized WICED ecosystem with a STM32 Cortex-M3 microcontroller core alongside Broadcom’s BCM43362 WiFi radio. So what this breakout board provides you with, basically, is just small-volume redistribution of the USI module with a basic breakout PCB, some easy to use development software, and a markup added.
This is essentially identical to the hardware platform in the similarly-priced Electric Imp, which provides a complete (but locked-in) firmware, software and Web services toolchain for low-barrier IoT development. The “open-source” marketing claims made for the Spark Photon mean little in practice for the hardware side of things, when it is just a basic breakout board for the “black box” USI module which does not have detailed documentation or distribution available for small-volume customers.
As another example of a relatively low-cost embedded WiFi solution, there are similar boards coming from China today for about $10 based on the MXchip EMW3161 chipset, which also incorporates the Broadcom BCM43362 core alongside a STM32 microcontroller. The Texas Instruments CC3200 Internet-of-Things SoC also aims to provide a complete single-chip IoT solution based around an ARM Cortex-M4 80 MHz CPU core and integrated WiFi radio along with a flexible range of digital I/O interfaces and an integrated ADC. The CC3200 offers extensive, good quality, English documentation, development tools and resources along with an ARM core that is more popular and familiar with developers than the ESP8266’s Xtensa core. The CC3200 is distributed in small volumes and has publicly available documentation and development tools as with the ESP8266, however the ESP8266 has the advantage of its relatively low cost even in small volumes.
ESP8266-12 is certified https://fccid.io/2ADUIESP-12