Friday, November 19, 2021

ESP32-C3 RISC-V SBCs!

 


 

I am getting pretty excited about the new ESPC3 processor!  

It is an open source module that is built around an open source CPU, the RISC-V instruction set.  The first thing that's interesting about this is how inexpensive these devices are.  For example, I picked a bunch of these up for less than $2 (in front).  At this price, they are meant to be soldered onto custom PCB boards, but for a bit more you can get a prototype board (in back).  

 Its amazing that we can have a wifi and bluetooth device with a healthy chunk of flash and RAM for that price!  I feel that not paying ARM royalties might have something to do with that.  An unnoticeable fee for a $25 processor is a major portion of a $2 one.


What is really interesting to me is the long term possibilities available with an open instruction set CPU.  There are already many FOSS implementations of this instruction set in both hardware and software.  This instantly makes me ask how awesome would the Arduino environment be if it contained a simulator and integrated debugger?

But longer term I can see how an ecosystem of software, FPGA, and finally ASIC instantiations of custom "hardware" (with RISC-V's extensible instruction set) would allow simultaneous hardware and software development, and a price/volume upgrade path.

I've created a few simple Arduino sketches to help you start using the C3.  The first one just blinks the RGB and white/yellow LEDs.  The second one is more complicated; it connects to the strongest open wifi signal, and announces itself of mDNS as "myc3_b".  You can then access a web page (from your local network) at http://myc3_b.local (note NOT https).  Once you have connected, you can set the LED colors, or read/write any IO pin via web access.

Code is here: https://gitlab.com/gandrewstone/esp32-c3-projects