ESP32 C6 Review - RISC-V SoC with Thread & Zigbee Support!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
the esp32 C6 is a Wi-Fi Bluetooth thread and zigbee enabled risk 5 based microcontroller that was announced by espressive all the way back in early 2021 but sample units are now making their way into General availability this board here in front of me is the esp32 C6 dev kit C1 a bit of a mouthful there and just from a quick glance at the specs you can tell that this microcontroller is pretty feature packed and has clearly been aimed at the iot and smart home markets with all this connectivity in this video review we are going to cover the specifications that the esp32 C6 has on offer how to program the chip using vs code and the ESP IDF and we're going to go into a bit more detail about things like power consumption and we'll give a demo using zigbee so welcome to a learn embedded systems review if you want to stay up to date with new microcontrollers as they come out then make sure to subscribe as we post regular reviews of microcontrollers and lots of educational tutorials that you might want to use in your projects so let's start with the cost of the board I got this on AliExpress from the espressive official store it can be had for around the seven pound 50 Mark which is about nine nine and a half US dollars shipping to the UK cost me about five pounds but arrived surprisingly within about a week or so of ordering which was quite shocking and I'll leave a few links to the board down in the description below but all in all I think that's a pretty reasonable price for this Dev board and I can see that price falling as the production of the esp32 C6 increases we all know that the key to success is by learning new things and this video sponsor brilliant.org helps you learn something new every day whether you are new to a topic or have been working in the industry for years brilliant has thousands of interactive lessons from foundational to Advanced levels on a wide range of topics from AI to astrophysics personally I felt like it was time for me to learn some more skills and help me get ahead in the career market and so I decided to take Brilliance data science courses and their bite-sized lessons really help break down the fundamentals of Statistics into digestible and engaging parts go try everything that brilliant has to offer free for 30 days by visiting brilliant.org learn embedded systems or click the link down in the video description the first 200 of you that sign up with that link will get 20 off Brilliance annual premium subscription now let's get back to the esp32 C6 in terms of Dimensions the whole Dev board comes in at 58 by 25 millimeters the actual ESP C esp32 C6 room module comes in two varieties one with an onboard PCB antenna and one with a micro UFL connector the version with a PCB antenna measures in at 25.5 by 18 millimeters and the one without is 19.2 by 18 millimeters there is an alternate module called a mini variant which is mini I guess at 16.6 by 13.2 millimeters with an onboard PCB antenna however this variant does restrict the sort of Max available storage and the number of gpios you can use I suppose that's your trade-off now if we focus on the specs of the esp32 C6 we have a single core 32-bit risk-5 microcontroller that is clocked at up to 160 megahertz supporting this there is 512 kilobytes of SRAM as well as 16 kilobytes of low power SRAM which I presume is mostly used in deep sleep mode there is 320 kilobytes of ROM or read-only memory which contains things like a bootloader and quite a few of the low level functions in the radio part things like the Wi-Fi and Bluetooth functionality in terms of flash storage for your programs this Dev board uses the N8 version of the room module meaning that it has eight megabytes of flash however if we take a look at the esp32c6 data sheet apparently the C6 chip itself only supports up to four megabytes of flash which is a little bit contradictory I queried the chip with the ESP tool and we see that there is indeed eight megabytes of flash storage detected and reported so I think this is simply a typo on a datasheet as the esp32 C6 mini modules the smaller ones I mentioned earlier they those are limited to four megabytes of flash storage we have all the peripherals here that you would expect from an esp32 a summary of the main ones being two uart interfaces and one low power uart or lpu art we have two SPI ports or interfaces one normal I squared C interface and one low power I Square C interface we have one I squared s interface and there are two two wire Automotive interfaces or twai which is essentially a can interface there is a 12-bit analog to digital converter with up to seven channels as well as an inbuilt temperature sensor it's the radio capabilities of the esp32 C6 which is where things get interesting there is a 2.4 gigahertz Wi-Fi 6 802.11ax radio um it does have backwards compatibility with BG and N support fortunately but there is no five gigahertz support or band here there's Bluetooth 5 low energy as well as the module being Bluetooth 5.3 certified and we also have support for the 802.15.4 specification which includes thread and zigbee support specifically thread 1.3 and zigbee 3.0 but more on this in a minute this chip is like an esp32 C3 with extra radio functionality and we have previously reviewed the esp32c3 in the form of the stamp C3 and I'll link that video in the cards above if you're interested there isn't a whole lot going on with the rest of the dev board it's mostly power and pin outs for the esp32 module but we do have dual USBC connectors which I'm sure some of you noticed straight away and one of them is for the USB interface that's actually on the esp32 C6 itself and another is for the CP 2102n USB to uart converter IC there are two user buttons a reset button and a boot Button and in programs that boot Button can be used as a user input and there is a ws-2812b programmable RGB LED and a red Power LED which unfortunately isn't user programmable as a bit of a disclaimer the board that I purchased here was a sample chip which means there are a few functions that are not available yet for example in the case of this Dev board the analog to digital converter is not calibrated so if you're looking to buy a production version then I think you need version 1.2 of the dev board I have here version 1.1 in terms of pin out it is pretty standard for an esp32 death board and nothing really is out of the ordinary feel free to pause the video here if you need a closer look as we mentioned previously zigbee and thread support are the headline features of this esp32 C6 chip but I'm going to quickly cover what they are and why they might be of so much interest let's start with zigbee which is a low power low bandwidth wireless communication specification for devices operating typically in the 2.4 gigahertz frequency band the range of a single zigbee device is about 10 meters up to about 100 meters in really good cases with good clear line of sight however range can be extended by meshing zigbee devices together as you can probably guess this makes it a good choice for iot products and projects in the home in a zigbee network there are typically three kinds of devices and these are an end device which could be a sensor node they can't root traffic they just send their data to their parent device another device is a router which unsurprisingly routes traffic between nodes and allows new end devices to connect to the network and thirdly we have a coordinator which is essentially a router on steroids it's a router which has created the network and out of these three devices I think that the esp32 C6 device will be most suitable for being an end device such as a sensor node a switch something like that and this is due to them being so good for low power battery operated use cases that only require um being powered on for a small amount of time you can imagine if you have a router you can't exactly turn that off half the time because you might miss the missed packets and Miss transmissions and things like that on the other side of things thread also uses the 2.4 gigahertz Spectrum but it is slightly different as it is an IP based mesh Network a thread network has a similar set of devices to the zigbee network we have battery-powered end devices mesh extenders and at least one border router this border router is essentially an edge router which acts as an interface between the thread Network and the larger local area network for example your home Wi-Fi thread and zigbee both sound similar but they are different and have different benefits they are both application agnostic meaning that you can run pretty much any application on top of the network layer as I think that the esp32c6 will be mostly used as an end device and I think that the main reason that you'll actually choose between one or the other will depend on what other devices you have on that Network we are going to do a dedicated video on both zigbee and thread networking where we will do a deep dive on how to utilize them in your projects so make sure that you subscribe to get notified for that in the meantime I want to do a little demo of a simple zigbee Network consisting of two esp32 devices one acting as a coordinator and one as an end device I have two zigbee enabled ESP devices here I have the esp32 C6 that we've been looking at and I'll be using this as the end device in this demonstration but I also have the esp32 H2 that I'll be using as the coordinator and we're currently reviewing this H2 chip at this time so expect a review to be released within the next couple of weeks on the C6 I've uploaded a simple demonstration program which will join a zigbee network and wait for a command to toggle its LED on or off on the H2 there is another demo program which creates a zigbee network and sends the toggle LED command to the C6 after a user input in this case the push of a button and on the screen now we are currently looking at the serial output of the H2 as you can see when we boot up the c6n device it connects to the zigbee network and when we press the boot Button on the H2 the LED on the C6 immediately toggles there's almost no notable latency on this which is really good if you are thinking about using the esp32 C6 as a Gateway device espressive themselves recommend that you use two socs or two modules and this is due to the fact that when using Wi-Fi and Say thread at the same time there is only one RF path which is shared on a time-sliced basis across both types of networking this degrades performance and can cause quite High packet loss so this use case isn't recommended in terms of software support as this chip is quite new there isn't yet and are there isn't yet Arduino IDE support yet however it is supported in espressif's IDF tool chain which is quite easy to get set up and use in vs code and I'll quickly walk through that now if you open up vs code and go to extensions you will need to install a couple if you don't already have them you'll need the Microsoft C and C plus and the C and C plus extension pack add-ons once those are installed search for ESP IDF and install it after a little while of downloading you should get a setup prompt press the express install and when prompted for the ESP IDF version we need to select at least version 5.1 if that is available for you at this time then that's great even though it says it is here for me it failed to download but there is an easy way around this if you encounter this problem and all we have to do is clone it from GitHub ourselves find a suitable directory in your terminal and use the command git clone Dash B release slash V 5.1 and the ESP IDF repo URL which I will leave link down in the video description the dash B parameter basically clones the repo and immediately checks out the V 5.1 branch which is what we want now back in vs code in the setup menu select find ESP IDF in your system and type the path of the repo we've just cloned when you hit install it should find it and install a load of other necessary prerequisites and this might take a while so best go get a coffee or something but after that's installed you should be ready to start programming this board the easiest way to create a project that I have found is to start from one of the provided ESP IDF examples and edit those to access these open the vs code command palette with Ctrl shift p and then type ESP IDF and hit show examples there are a lot of examples but there is one called sample project that you can use as a complete base there's a hello world but I'm going to start with the blink example select the blink example and then hit the blue button at the top to create a project with this example ready to go you need to find a location where to put the project folder and once loaded into vs code the main folder or subfolder will contain your blink example.c file we can just build this and test it right away so to build and upload your program to the esp32c6 you first need to ensure that you have selected the correct board Target click the esp32 button on the bottom taskbar which is called select device Target click that then select your project and then esp32c6 and then let's use the inbuilt USB to you up for programming then you can build the program using the build button which looks like a cylinder this will configure and build your program and this first build might take a lot of time because the ESP IDF has actually got to pull even more stuff from GitHub now to upload the program to your board make sure the esp32c6 is connected to your computer I used a USB cable to the uart USBC port and once connected we need to select the correct com port in the bottom left select com port and then your project then you can Flash the board with your program using the lightning bolt icon selecting uart and then the project your program should then be uploaded and should start running in our case we now have the onboard LED blinking now let's take a look at the power consumption of the esp32 C6 in different modes when the board was idling in a loop it drew 38 milliamps when put into a deep sleep mode it consumed only 5 milliamps and this deep sleep mode turns off a load of the features and essentially just had a timer that every 20 seconds and would wake the board up into a higher power mode do a couple of tasks and then go back into sleep so during that deep sleep phase it was only 5 milliamps when we were receiving and listening with Wi-Fi it drew 93 milliamps and when transmitting it pulled over 300 milliamps when using Bluetooth low energy and just listening again it drew 78 milliamps and when transmitting pulled approximately 210 milliamps in a zigbee receive test it drew 88 milliamps and when transmitting just like Wi-Fi it consumed over 300 milliamps espressive has some power consumption data in their C6 data sheet which I will leave linked below for reference and they can probably measure this stuff much more accurately than I can but I wanted to test this independently and the numbers that I got do seem to line up however the current draw that I was reading during deep sleep was a lot higher than the advertised seven microamps that is reported in the data sheet and perhaps it's something simple like my I can't measure a current draw that low I think that the esp32 C6 has a great array of features if you're interested in the iot or smart home markets and it comes in at a very attractive price there is software support in the form of the ESP IDF and I would expect Arduino IDE support to follow in the not too distant future at the price I think that this is a great board to grab and Tinker with especially if you already have some thread or zigbee devices that you can use with it I know quite a few people out there have sort of Home assistant setups with zigbee dongles and things like that so I'd be very interested to see what both the projects that you guys come up with and the actual products that we'll use this SOC that we will see out in the wild let us know down in the comments what you think of the esp32 C6 and what sort of projects you would use this with make sure to subscribe and leave a like if you have enjoyed this review stay tuned for more thank you very much for watching and as always have a nice day
Info
Channel: Learn Embedded Systems
Views: 94,413
Rating: undefined out of 5
Keywords:
Id: zqwZGWxJs-0
Channel Id: undefined
Length: 19min 11sec (1151 seconds)
Published: Tue May 23 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.