ESP32-C3 First Playing

Finally got a few minutes to play withe the ESP32-C3 DevKit that Espressif was kind enough to ship. So I made a blinky light using the onboard WS2812 LED.

I am not an expert in FreeRTOS or the ESP IDF but I have dabbled a bit. I was building my RBOT project around the ESP32 (here,here). I thought about shifting to an RPi ZeroW but then I got busy. I changed jobs and have focussed more on cloud-side.

A while back on twitter John Lee of Espressif tweeted that he had some samples and I was lucky enough to get one. At the time, I was not sure what it even was - but a new chip from Espressif is something I definitely wanted to play with!

The new ESP32-C3 is basically an ESP8266 killer. It’s cheaper, and it’s more powerful! It’s not really available yet but it looks like it’s only $1.80 while the ESP8266 is $1.84. The Hackaday article has a ton about it.

What’s really good about this is that the toolchain is the same as for the ESP32 - and one can assume that Espressif will probably extend their AWS FreeRTOS IoT support to this chip like they have for the full ESP32. But in the meantime I just wanted to get familiar with the chip and the toolchain.

The docs are the usual Espressif excellent. I got the “hello world” running within a few minutes. But they put a cool WS2812 RGB LED on the board so I poked at how to enable that.

The docs don’t cover this yet - after all, the boards are still sample only. But, looking at the schematic I could see that the LED was wired to GPIO8. I looked around for libraries to drive it and one blog mentioned that the example folder had some code for an LED strip. So I looked:

ls ~/esp/esp-idf/examples/peripherals/rmt/led_strip/
CMakeLists.txt  components  main  Makefile  README.md

Out of the box it’s not going to work. I copied that folder into ~esp and then did

idf.py menuconfig

Select “Example Configuration” and make these changes:

(8) RMT TX GPIO
(1) Number of LEDS in a strip

Remember, the LED is on GPIO8 and there’s only one.

idf.py build
idf.py -p /dev/ttyUSB0 flash

And suddenly I am almost blinded by the light!

Now it’s time to get serious and do some more reading and playing with FreeRTOS!

 Share!