I am returning to micro programming after a 30 year hiatus and am a little bewildered by the number of ESP32-C6 development kits available.
The ESP32-C6 appears to be the right micro to go for as I want to make a sensor to measure a voltage and return the value over zigbee to my Hubitat hub.
So, are there advantages to any particular dev kit or are they all much of a muchness? I've looked at the Sparkfun and Espressif kits, but am aware there are many others.
I'm not sure how much difference this makes, but I also haven't chosen a software development environment yet. I was going to go with the Arduino environment but think I've read somewhere that it doesn't have any debugging capabilities. Is this true? Do you have any suggestions?
Any guidance would be very much appreciated to get me started.
Well, that could’ve gone better 😬
@andydowns Just a couple quick obervations and comments.
Why the C6 version of the ESP32, there are many other models and I have a lot but have NOT worked with the C6.
Most of the dev kits are similar, but of the two you mentioned, Sparkfun is a well known seller, but Espressif is the creator.
All I use is Arduino, and wile there are some primitive debugging facilities on some modules, I have never used any, most sketches are simple enough to just read the code again others need some Serial print statements.
I don't think you can nake a very bad decision, but perhaps if you told us more we could be more helpful.
First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.
Hi @andydowns,
Perhaps others can provide more insight, but as I explained recently in another thread, the ESP32-xxxx dev boards are built up in three levels: (xxxx includes -C6, as well as many others such as -S2 and -S3)
- ESP32-xxxx 'itself' ... an SoC integrated circuit, typically about 6mm square
- ESP32-xxxx module, which contains the SoC (just described in 1.) and other devices, such as memory chips on a PCB and covered with a rectangular metal lid that is slightly smaller than the PCB, which has connections along 3 sides. Espressif is one of a small number of manufacturers of these modules.
- The Dev board or 'subsystem' (e.g. a camera module in addition to the ESP32-xxx), which is a PCB containing the module (just described above in 2.), which typically provides connections on 0.1"/2.54mm pitch, and may include further chips, as well as 1 or 2 USB connectors, etc. Espressif, makes some of these products; in particular dev boards as reference designs for designers to prototype circuits. Other companies like Sparkfun design and make their own variants of boards at this level.
In addition, there are countless 'near copies' of the popular dev boards (of the type described in 3. above), that are either nameless or have less well-known manufacturer names. These often have a similar circuit to an Espressif board, and may aim to be 'compatible', but may differ in certain ways, such as using different support chips, with broadly similar functionality. In many cases, the user may not see any difference in their operation, but unfortunately, the differences are rarely documented, and sometimes cause problems to unwary purchasers.
Espressif is also the principal provider of libraries and tools, for the ESP32-xxxx, and it seems likely that their product sales will influence which parts are treated as the 'reference' and prioritised. However, there is also a significant contribution from the open source community, and some third party companies like Sparkfun may also contribute, as well as supporting their own products. (I have little or no 'evidence' to support the suggestions of this paragraph, so please treat it with caution. Others may be able to contribute more quantitative observations.)
----------
I hope that summary, although far from precise, gives some flavour of the marketplace, which is clearly quite different from certain mass consumer products that are designed and sold by a single multi-national company.
I would suggest that you look carefully at the specific products of interest from Espressif and Sparkfun, including where possible, comparing the schematic circuits and other low-level information. In some cases, you may find the boards are near identical. In other cases, companies like Sparkfun may introduce differences to deal with certain issues, which may be beneficial to your project. To their credit, they appear to test their designs, before putting them on sale, and provide specific information as to their experience, as well as providing schematics, tutorials and so on. There is considerable overlap, but Sparkfun clearly aim at the hobbyist market, while Espressif are an electronics trade profession supplier, and the type of support they provide is often guided that way.
--------------------
I apologise for waffling around your question, and not providing a direct answer. I hope some of my comments will give you an idea of what to look for. Unfortunately, some things you will only discover when you have the hardware on your bench, so be prepared for the occasional hiccough.
-------------------
Choice of IDE is another wide topic in its own right. Arduino has done an excellent job in making simple programming tasks accessible to newcomers, as well as making it sufficiently open for others to introduce their own processor line, as is evidenced by Espressif and the ESP32-xxxx family. However, in some situations, typically for more complex systems, the simplifications that Arduino have introduced are counterproductive, and other IDEs are more appropriate. I suggest you make a list of the software protocols, etc., such as ZigBee, that you are likely to involve, and do some research as to find which libraries etc. support them, before deciding on a direction. Depending on your experience and skills, you might decide to start with Arduino, and move to another IDE for a later stage of your project.
---------------
I wish you good luck on your journey of discovery. Do not be afraid to ask follow-up questions, especially ones that are more specific.
Best wishes, Dave
@zander Thanks for your reply, Ron.
From what I've read, the C6 version has support for zigbee and that is my initial interest.
I think the approach will be pick one, which will probably be either Sparkfun or Espressive's own and run with it to get the hang of development with this family. A bit more research needed to pick which one. From there I will have a better idea of where I need to go.
Well, that could’ve gone better 😬
@davee Firstly, apologies for the rather vague question, but you have given me a little more insight and that's all I needed for now. I'm sure there will be many more specific questions as I tackle some projects.
I thought the metal can/box was the actual processor rather than a board with other components, so something learnt already.
Sounds like a good idea to avoid the near copies, to begin with, at least. I'm sure I won't need any further confusion whilst learning. I can always experiment with those later, should the need arise. I think I will stick with either the Sparkfun or Espressif's own for now, and study those two systems, as you suggest.
On the IDE/IDF I might just try both to get something simple running and decide from there.
Anyway, thanks for taking the time to answer, it has helped. 👍
Well, that could’ve gone better 😬
Hi @andydowns,
Sounds likes like a fair plan.
If you haven't used any of the current IDEs yet, then maybe start with Arduino IDE, your preferred ESP32-xxx dev board, and try setting up a few of the demonstration circuits with software, just to get a familiarity with the tools, etc. Bill (@dronebot-workshop) has provided a wide choice, and always carefully explains the details.
Many will use Arduino Uno or Nano, but will probably also work with ESP32-xxx, providing they are not 5V only logic, as the ESP32 range are all 3.3V logic only. There are hardware fixes for this problem, but the easiest start, is to avoid the 5V logic ones.
By 5V logic, I mean when the peripheral, which might be anything like a circuit board, a switch, resistor, potentiometer, LED, connects to the 5V rail, rather than the 3.3V (or has a 5V or higher supply of its own, which may result in more than 3.3V appearing on the wires connecting the ESP32-xxx to the peripheral). I don't know your hardware skill level, and my apologies for raising it, if you already understand the issue, but if you have any doubts, open another question specifying exactly which project you are considering, and hopefully someone will be able to advise.
(If this is a new topic for you, you will not be alone in finding it confusing. It is one of the most common mistakes, so please ask before you get committed with purchases, etc.)
----------
Don't regard the Arduino IDE as a lifetime choice ... it may be sufficient, in which case fine ... but as you get more familiar with the general scheme, you may find one of the alternatives will better suit your needs. I think you will find "at least 95%" of the experience you have gained will readily translate across.
Best wishes and good luck, Dave
Hi @davee,
I haven't used any current IDE's at all. I've had a bit more of a look at a couple and had decided the Arduino looked the best choice to begin with. I'll move on to something with more features if/when I need to.
Thank you for pointing out the 5V/3.3V issue, I'll keep an eye out for that. My electronics is beginner level. I understand what most components are and roughly what they do. I have designed very simple circuits many years ago, but I have forgotten most of it.
I've had more of a search on zigbee for the Sparkfun and Espressif and there seems to be more support/examples of the Espressif, so that is what I will go for. Of course I will be building much simpler projects to start with. The zigbee implementation looks quite complicated for a beginner.
Thanks for the heads up on Bill's example projects. Is he the guy that appears in the youtube videos? His explanations on the videos I've watched so far are excellent. Well explained in a very calm way. It looks like a lot of effort has gone into the videos and the graphics are very clear.
Anyway, I've ordered a FREENOVE Ultimate Starter Kit for ESP32-WROVER to give me a few things to play with and two ESP32 C6 ESP32-C6-DevKitC-1-N4 Development Boards. One for me and one for my son who is going to join in the experience.
I'll suggest he joins the forum as well.
Well, that could’ve gone better 😬
@andydowns IDF is the professional environment used by the developers for the ESP family of processors. I am not aware of anyone on the forum using it or needing to use it.
Maybe if you told us about your project we might be able to give better advice. This forum is mainly arduino, esp, Pi centric. Some of us (and Bill has done videos of) use the Arduino cloud which supports Arduinos and some esp's. I never heard of Hubitat. The most mentioned hardware I hear of is Google, Alexa, and Apple and the most mentioned software is HA or Home Automation.
I am always concerned when a neophyte comes to the forum with some critical decisions already made. Picking the hardware normally comes after determining what software solutions exist for the problem(s) to be solved.
I hope you understand I simply want to prevent you from getting discouraged.
First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.
Hi @andydowns,
It sounds like you have made a good start towards your new adventure. Please keep us in touch with your progress, and ask any questions that you think someone might be able to help you with. And yes, Bill (AKA @dronebot-workshop) is the guy in the videos, who also generously hosts and maintains this forum, out of his own pocket.
If and when, you decide to look for a different IDE, then Platformio might be worth looking at. Bill has done a video on that, as well ... https://dronebotworkshop.com/platformio/ ... but for now, just file that thought for a later day, whilst you get some experience with the Arduino IDE and libraries.
Good luck to you, and to your son! Best wishes, Dave
@zander Thank you for your concern, it is much appreciated. The only way I will be discouraged is if nothing works and that isn't likely especially with all you fine folk to help. 🙂
I have moved along a little and decided to go with the Arduino IDE. It looks very capably and I'm sure will fulfil my needs for a long time to come. I always have the option to move to IDF should the need arise. I have installed Arduino IDE and loaded the ESP32-C6 into the board manager. There are lots of examples to follow and study as well as the ones shared by DroneBots.
My main interest is in home automation, hence the zigbee interest. Hubitat is a hub for home automation ( https://hubitat.com/). I started off with wifi devices but very quickly tired of the many apps that were needed and the reliance on an internet connection to function. I moved to a SmartThings hub believing that I could run local routines with zigbee/zwave devices, but found out that the local routines were limited. My third attempt was with Hubitat, which supports a fully local environment and I have been using since August 2021. It has worked pretty flawlessly ever since. My devices are mainly zigbee, about 80 in total, and 2 zwave where zigbee versions weren't available.
I don't have any real burning issues I want to solve, I am just interested in getting back into programming in my retirement and would like to continue my interest in home automation. I have picked a project to develop as a vehicle for my learning. I have a car battery in my workshop that provides power to my diesel workshop heater. I don't want to leave the battery charge permanently on and sometimes forget to check on the battery condition. The project will be to have a battery condition monitor with a zigbee link to Hubitat. Hubitat will switch the charger on until the battery is charged and then switch it off again. It's quite a daft solution to the problem, but as I say, is a vehicle to learn and will lead onto other more complex and useful projects.
I have ordered a FREENOVE Ultimate Starter Kit for ESP32-WROVER to give me a few things to play with and two ESP32 C6 ESP32-C6-DevKitC-1-N4 Development Boards. One for me and one for my son who is going to join in the experience.
The starter kit has a ESP32-WROVER in it so I will have more than one version of the ESP32 to play with.
The main aim is to learn.
Thank you for taking the time to respond.
Well, that could’ve gone better 😬