https://partofthething.com/thoughts/?p=1327
Thanks for asking!
We often run (open-source) Linux on a (closed-source) Intel processor and even a lot of diehard FOSS warriors are okay with that.
Arduino Unos are a bunch of (open-source) wiring and components plugged into a (closed-source) Atmel microcontroller and people seemed to be okay with that.
How does an ESP8266 differ from an ATMega in this regard? If we consider it a basic component just like the ATMega, it's not particularly any different.
It doesn't mean "open source all the way to the materials mined."
It means "open source to what I used to produce this.*
Such that another person could replicate your work.
The times where making custom silicon is desirable is way more rare. But hopefully open-source will be standard there too, one day.
I just tried it out this week to make battery powered wireless temperature and humidity sensors. Sleep current for the whole system is not that great (~80uA of which 40-50 are used by ESP32 module). However, the simplicity and ease of use outweigh having to charge the battery every 3 months (3Ah li-ion cell).
I haven't looked really deep at what power modes are available for each power/clock domain- at the moment I just have the ESP waking up from RTC timer every 15 minutes and it can also be woken up manually with GPIO. It's entirely possible that I have left some peripherals at non-optimal state.
A lot of easy-to-use modules come with a USB-serial converter and a 5v-to-3.3v converter. These will draw a few microamps even when there's no USB connected - and depending on the precise hardware, some will draw far more than that.
You should plan on buying a few different modules and de-soldering a few components if you want to achieve the absolute minimum current consumption :)
It is like having a PC1512 that fits on the pocket, there are already lots of programming languages that would fit on it.
Also, some of the SSL support is in the closed-source firmware, and it's incompatible with Mozilla's 'Modern Compatibility' ciphersuite list.
I used the ESP8266 anyway - it's not ideal, but for my application it was the best thing available. There's room for improvement, though.
You know what I'd love to see? An Espressif with a gaggle of RISC-V cores in it. I don't know how much they pay Tensilica. I think they could do a lot with that.
Xtensa is a bit of a mess on the toolchain side, seems to require compiler flag customization for any given model, or it might not even run. For example, endianness is configurable at the architectural level.
https://developer.mbed.org/platforms/
Some are very cheap, e.g. the Nucleo ones:
http://uk.farnell.com/stmicroelectronics/nucleo-l432kc/dev-b...
To me it feels like Arduino (both sides) has been trying to recapture lightning in a bottle.
The Tre was in the same situation for a while. It's no longer even listed on their products page...