I spent 30 mins reading about this chip and I still don't get it. I get why the ESP8266 was awesome ... MCU + wifi for super cheap. Why is this chip so exciting? Is it because it is supposed to be wifi+ARM (an ARM good enough to emulate a sega mastersystem game as per a youtube video)+other goodies? I saw rumors of other goodies being BLE. Is that confirmed or was that hot air :)
The big annoyance for me is lack of a wake on GPIO activity capability. The ESP8266 only has "wake on timer" and "wake on reset".
I'm making a home weather station with a tipping rain gauge which pulses a switch whenever it tips, and an anemometer that pulses a switch once per revolution.
To make those pulses wake an ESP8266, I'd have to make them reset it. That can work, and many people have done it, but it is annoying. For the anemometer I can switch to just checking the speed when I wake up to check and report temperature. I'd miss short variations in wind speed that way, but that could be acceptable.
For the rain gauge, though, I need to be aware of every pulse. I considered adding a dedicated non-microcrontoller based counter for the rain gauge to accumulate counts between periodic wake-ups of the ESP8266, but that turns out to be more expensive than using a microcontroller. An ATTiny85 could monitor the rain gauge and count the pulses, and could provide in I2C interface to the ESP8266 to make it easy for the ESP8266 to get the results, and would only take one small chip and socket.
That led to me to consider the ATTiny84, which is like an 85 put has several more GPIO pins. Current plan is to use an 84, have it run all the weather sensors and do all the math, and use the ESP8266 just for reporting results. The ATTiny processors can wake from deep sleep on GPIO activity so can deal with the rain gauge and anemometer directly. The ESP8266 can spend its time in deep sleep, only waking up every N minutes to send a report.
Try a 1-wire counter, e.g. the DS2423 [0] for the rain gauge. It can be powered either from the ESP or via a coin-cell. You read the counters whenever you need to.
You can talk to 1-wire either via I2C (e.g. the DS2482 [1]), or you can easily bit-bang 1-wire via a GPIO or UART [2].
ESP8266 has ADC. It does not have DAC, however for some purposes (e.g. low quality audio over WiFi) I2S output can be used with DMA as PWM output.
Isn't IPv6 supported for ESP8266 with lwip?
How can a chip support or not support IPv6 in this case? Isn't it a layer below anything which would require direct hardware support? In other words, wouldn't it be implemented in software. I should point out that I know nothing about the ESP chips.
Or do you mean that the ESP8266 has hardware acceleration for IPv4 but not IPv6?
The ARM Cortex-based RTL8710 seems to sit halfway between the ESP8266 and the ESP32, and perhaps has more toolchain promise. Same library/documentation problems, of course.
The code generation, especially on RISCs, has improved pretty dramatically between 4.8 and 6.2. You can expect to get better code size with a newer toolchain.
That said, there's a good chance it's not too hard to forward port the patches; I'm not aware of any major rearchitecting between 4.8 and 6.2, then again maybe there's been one.
If you dont want to mess with gcc flags in all your projects, add the GCC_COLORS env variable to your shell, like just export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'` to your ~/.bashrc or other shell rc.