ESP32-C3 WiFi and BLE RISC-V processor is pin-to-pin compatible with ESP8266
cnx-software.com
cnx-software.com
[1] https://news.ycombinator.com/item?id=24877335
[2] https://news.ycombinator.com/item?id=24916086
Skimming over C3 datasheet, it seems it doesn't have DAC but has one I2S. BL602 has DAC but no I2S!
If you leave off the carrier modulation you end up just specifying a list of on and off times and get absolutely rock solid waveforms in hardware.
There's a bunch of them, I forget, maybe 8? So you can drive a bunch of chains at once.
You can also use these for rock solid reading of input signals too. Say you have a weather station that sends some god awful protocol up a wire at you… you just collect a list of the high and low times and get notified when it stops wiggling the signal. Then you sort out the data from the transmission. The timing might be way off because it's cold and the sender's electronics are really cheap, but you can analyze the signal and see what they meant.
It will be interesting to see which one gains critical mass in community use.
There’s lots of “competitors” to esp32, pretty much none of them except STM have the software for developers, which makes their offerings close to useless.
The only way to gain critical mass is relentless deep commitment to developer tools/libraries and documentation.
In many cases these competitors actually try to hide their documentation and keep secret how their chips work.
I’d be interested to hear if there’s other chip vendors with software/documentation as impressive as Espressif but I haven’t heard any, except as I said STM.
Is this really the case? :(
Except for a couple of years I have resided mostly outside of California, but when doing consulting I have mostly engaged with companies in the Bay area.
In the past when I did pure embedded development I had to fight tooth and claw to get rates close to $100/hour, while at the same time iOS app developers or webdevs were starting at $120-$140/hour easily, even after the mobile app craze. Despite taking into consideration that I am both a hardware and a software engineer, and rates outside of California were much lower ($45-$70/hour at the time). Which was one of the reasons I pushed hard to find my clients in the Bay area instead.
These days since I have more experience and business contacts I have diversified into more complex projects that have embedded components and pay me better since they belong to regulated industries. Even now I work with full-stack software programmers in AWS/GCP cloud apps, React/Vue frameworks, modern databases and connected middleware that make around $200/hour. For comparison, in the last years I have been involved in the development of a medical device where I did the hardware design (MCU/FPGA, signal acquisition), HDL/firmware programming (Verilog, RTOS, Linux, BLE), technical host tools (C++, Python, Qt) and was paid $180/hour, and lately a mobile robot project where I did the hardware architecture, integration and system control loops (MCUs), and prototyped the high level software application (RT-Linux, ROS, Nvidia Jetson) for $150/hour. An acquaintance in the valley that was working for a similar project but entirely in the ML/CV stack was billing $270/hour. That may be a bit extreme example since ML is hot today, but nevertheless.
Yes, but certainly not in the Western hemisphere.
Basically, if there more customers but smaller orders, the wasteful overhead of customers reverse engineering the produce will grow. But then there's more incentive for HW companies to overtake the competition by offering better docs.
Edit: a better reference is Bouffalo’s GitHub org showing the docs and mostly open code: https://github.com/bouffalolab
gd32v is a stm32 (peripherals, memory map) clone, except using risc-v rather than arm.
ARM have by faaaaar the best tooling in the industry, which are more open, than not, and the baseline is made on GNU toolchain, only with more fancy debug tools being paid/locked down.
RISC-V did not yet benefit from its openness for as long as tooling go.
However, RISC-V would still be infinitely better than Cadence, and them wanting $100k for a basic (and terrible) debugger with coresight-like functionality.
Which seems (IMHO) why the likes of Texas Instruments has failed. They've made a few attempts at jumping on the IoT bandwagon over the last decade and should have been in a perfect position to capitalize on the huge uptake but it just didn't fit their profit margin goals I'm guessing.
It is really good for beginners and for hobbyists to make embedded devices available to a wider audience, but nobody in their right mind would build an actual product on top of Arduino.
Once you start trying to build a polished experience, not a quick hack, you quickly run into limitations that are solvable by dropping to lower levels. I ran into this when I tried to make an ESP8266 temperature sensor - the Arduino stuff didn't have working power management, so it would heat up skewing the measurements, nor anything like threading or coroutines for network handlers, so a single stuck network request would block all others. Ironically, the Arduino port included a coroutines implementation under the hood, but used it in a silly way with a single coroutine. I rebuilt the thing on top of the ESP SDK, stole the thread switching code from Arduino, and used it to build a nice low power version that could handle up to 4 requests at once.
I don't think I've ever seen a well engineered product built on Arduino that wasn't trivial. They might've hacked on it until the user experience is good, but then you peek under the hood and it's clear the engineering isn't good. And that ends up creeping into the user experience in the end, or worse. (OnlyKey comes to mind, which is built on Arduino and also its authors clearly do not have the competence to be writing security/crypto code, but they seem unwilling to accept any criticism).
The link for the Chinese pdf is https://mega.nz/file/nk41mSAL#R_d0njlKRb-aIoGuX6JXUB5eeflAdy...
Too bad they only included the I/M/C extensions - no floats, vectors, or atomics. And USB would be nice (nevermind, it has USB :D).
But it's still very exciting. Maybe there'll be less conflict between ARM/XTensa/PIC32/etc. cores in the coming years.
That's a huge thing when power efficiency, and operation from battery mattered.
>Load <register>
>Modify register in memory
>>Interrupt happens and changes <register>
>Write incorrect value back to <register>.
These sorts of bugs can be pernicious to debug, and they are easy for novice developers to create.
It's not really that bad, and plenty of microcontrollers lack atomic operations.
The block diagram show "USB Device" in the peripherals block.
Finally! An Espressif chip with WiFi, Bluetooth, and USB!
[1] https://doc.rust-lang.org/nightly/rustc/platform-support.htm...
How can they possibly sell these chips at these prices? This is impossibly cheap. You can’t even accuse them of trying to flood and control the market because they already own the market!
Both are SiFive cores, so well documented and supported.
That one has extra circuitry to shut the esp down completely and wake it on either an external trigger or RTC based alarm. It claims 1.5uA sleep current.
The creator has a YouTube channel with lots of info about low power and other interesting tidbits https://www.youtube.com/user/kdarrah1234
With a BME 680, 2 seconds of measuring every 5 minute and esp-now protocol for sending, I estimate a 200+ day battery life. Esp-now protocol sends the message in a fracture of the time than wifi. Also you can tune the cpu & flash frequency depending on our workload. I have to wait 2s for the measurements to complete, so I lower the frequency to use less energy.
From 3.7V to 2.7V I coud activate 37'000 times with a total runtime of about 8h.
Schematic is found here: https://github.com/LilyGO/LILYGO-T-Energy/blob/master/t18_v3...
You also have the battery voltage on IO35 with a 2x100kOhm Voltage divider.
The setup is not perfect, but good enough so far, and practical.
If I start over, i would look into * taking a processor with lower speed und power. * taking CR 123 or a battery optimized for very low self discharge current. * Use a wireless protocol with very low overhead. I use ESP-Now now, WLAN would cut battery life in half.
Issue is BLE, power consumption on BLE is still not BLE level power (eg. Nordic chips). It’s still at mA levels.
Seems to work on Silicon Hi-Five.