Controller suggestions for school project

I wanted to get some suggestions as I’m not across the full range of available controllers.

I’m starting a new course at my school where an engineering class runs in parallel with a performing arts class. The performing arts class is developing a production and the engineering class collaborates to produce sets, lighting effects, etc. to support the production.

I wanted something that would give students a good range of options to support what they may elect to do for a production, but also didn’t want to over spend or over complicate things.

My initial thoughts were something ESP32-based and the ESP32-C3 Mini Dev Board seemed a good option, but just wanted to see if anyone had other suggestions or constraints I may not have considered.

1 Like

Michael, this is just my 2 cents worth. I think its hard to pick just one, then hope it works. Once you have a clearer idea of what you want to do you can start to narrow down the best choice.
e.g. Im an ESP32 fan and currently do most of my projects on the ESP32 S3 16M Flash 8M PSRAM, I got here after hitting a few walls with the stock ESP32 WROOM. For me, the key thing was the ESP32 S3 has usb on chip, so you can start to connect to the real world as USB devices, eg. a keyboard/mouse.
the PSRAM become important as I started to work with some color TFT screen, and needed more continuous RAM for a full frame color buffer… But none of this may be a concern too your projects; as such different chips might offer better features, lower power etc.

I am really a big fan of selecting the chip for the project, rather then make the project work on a chip. Most basic projects will work on almost any controller.

GPIO and Port Types and count can be important. I like the ESP32 S3 Mini, much like the C3 Mini in form factor, but some of my projects need more pins.
e.g. If you are clocking out a bit stream for WS color leds.

I really want to stress, there is nothing wrong with the C3 and it can be cheaper then the S3 so a good choice if you don’t need the S3 features; My key point here is if you “do” need those features, then you need the chip that has them.

One thing I think may be important will be how you want to code for the device.
Im very much old school and code in C for most things (C++ sometimes). I tend to use the vendors IDE/Framework directly, but this can be a bigger learning curve.

If you head down the Arduino path, there are lots of libraries already written that to a large extent will abstract the actual controller you are using. The seem to try to make the library call style the same for all, then hide the actual vendor code needed, which can be good if you do need to change controllers.

Then, of course there is python. the Pico with Python seems to be popular.

After all that… I think if you know more about the actual work you want a controller to do, the more specific the better, will help narrow down the need. If you don’t really know until you get closer to build time, then you either have to go over the top, or be prepared to change later.

1 Like

Thanks for your reply. Because students will be developing their own intentions, I wanted something that would cover as many situations that could realistically arise. The point about the USB compatibility is useful. Plus the board you mention is only marginally more expensive that the one I was starting with.

I think using Arduino library style of a programming approach will be best, because the emphasis we intend is on the collaboration and development of ideas, rather than on computing concepts.

3 Likes

Hey @Michael275289, and welcome to the forums.

My personal preference with microcontrollers is always going to be Raspberry Pico’s as they are easy and pi to set up and are super simple to teach with. There’s also got an extremely versatile list of projects online that make use of them so the kids will have plenty of inspiration for incorporating them into their projects.

1 Like

Just surging around for Pico W v ESP32 and found this. I think its worth a read as it makes some good points.

One thing to remember, it can be hard when comparing different controllers.
e.g. While the ESP32 may have fast clock speed, the Pico does not need to be as fast to do the same task. Why ? ESP32 normally is based on RTOS, so the OS is taking ticks away for your work. Linked to this is the flash and memory needed, the ESP32 will tend to need more due to the overhead of the RTOS. I used the 16Meg esp32 not because my project code needs it, but I want to do Over the air updates. e.g. 4 Meg for firmware flashed, then 2 x OTA 4 Meg areas = 12 Meg. buyt the code is < 4Meg. I also use 4 Meg for file storage.
But most of that is for my needs, and in an education environment, I suspect they will code flash and use, then fix the bugs and take the device back and re-flash; As apposed to customers just pressing the ipdate button and getting the firmware updates from my website… key point the advanced features while nice for advanced projects could be a bit complex for younger kids as they learn.

Maybe get one of each and have a go at setting them then write, compile and flash a simple “flash led” or something simple, and see if you think your students will be ok with it.

1 Like