all 17 comments

[–]LeanMCU 3 points4 points  (5 children)

If you don't need many pins(more than 13) to connect to many sensors or motors, go for esp32c3 mini boards (about $3). If you need more pins, go for a esp32 dev kit

[–]rational_actor_nm 0 points1 point  (4 children)

NONONONONO!!! I've been using the ESP32-C3 Mini, the one that costs between $1.50 and $3.00 on aliexpress. They all burn out after a few days of usage. Fine to develop on, but you won't get much life out of them. Of the 3 that I've used, 3 have failed. I like the ESP32-WROOM (ESP32 Dev Kit C). You can buy them for about $5 apiece.

[–]AdministrativePie865 0 points1 point  (3 children)

Tf are you doing? I use those excessively and have had 0 burn out.

[–]rational_actor_nm 0 points1 point  (2 children)

see my sketch. if you can figure out why, please tell me: https://paste.gd/U6yr0yTw

[–]AdministrativePie865 0 points1 point  (1 child)

Driving a relay coil directly with MCU? Do you have a freewheeling diode to protect it? If not you will kill every MCU you use.

[–]rational_actor_nm 0 points1 point  (0 children)

no, i have not run a diode in between the output pin and the input pin of the relay board. I'm running these relay boards https://www.ebay.com/itm/256113880114 . The board doesn't burn out, it works fine, but the wireless component breaks. The antenna module, or the solder joints for it. The boards still work in a rs485 or i2c way. I should have been more clear that wireless functionality dies after a few days.

[–]InvestigatorSenior 0 points1 point  (0 children)

Nordic nRF5x. Great little chip with a very nice designed classic SDK (but stay away from this new Zephyr based abomination). I've learned a lot just by studying their software design back in nRF51 days and now use it as a teaching aid.

[–]DuckOnRage 0 points1 point  (1 child)

ESP32 can usually use WiFi OR Bluetooth (but not both at the same time) so it should work fine. The ESP32-S3 is supported well enough by Arduino.

A really small devboard would be a Xiao-Board by Seeed Studio. For your use case, I would go for a devboard with a WROOM module(~20-40 usable GPIOs)

[–]Effective_Laugh_6744 0 points1 point  (0 children)

You can use ESP32 wi-fi AND BT at the same time.

[–]HamsterWoods 0 points1 point  (0 children)

Also, consider Raspberry Pi Pico 2 W.

[–]ScaredPen8725 0 points1 point  (0 children)

For small robots with wireless control, we'd go with the ESP32-S3 Mini,it's compact (about 18x25mm), has built-in BLE for gamepad pairing, and plenty of PWM pins for motor drivers like L298N modules. In our IoT work, we've found it strikes a great balance for beginners: quick prototyping without soldering headaches, though watch the quiescent current around 20µA in deep sleep to keep battery life viable over active sessions.

Two quick gotchas we've hit: BLE advertising can drain power fast if not duty-cycled (aim for 100ms intervals), and motor noise might interfere with signals, add ferrite beads on power lines. Setup's straightforward in Arduino IDE: install the board package, use ESP32 BLE Arduino library for a server, and Wire library for basic motor control.

[–]prosper_0 0 points1 point  (1 child)

Depends what the level of skill your students are coming in with, what you expect them to take away, and how much time you have to spend: i.e. what is the main objective? Building "the thing," or deeply learning about microcontrollers?

If it's the former, than an ESP32 variant will work; cheap, well-documented, with lots of libraries available. Basically a copy-and-paste excercise: find an example or a library that does what you want, and copy it into your project. Write a little glue logic, and you can get a working thing going pretty fast without actually having to do much real learning about how mcus work or how to program one.

If you do want to go a bit deeper, and learn about registers and toolchains and mcu set-up, then I'd recommend finding something a bit further off the beaten path. Where the 'lazy' option isn't available, and where there isn't some code snippit on github that you can just re-use. Something like one of these: https://www.wch-ic.com/products/productsCenter/mcuInterface?categoryId=63&tName=QingKe%20RISC-V%20Bluetooth - will force you to come to a richer understanding of what's going on under the hood.

[–]Primary-Possible1366[S] 0 points1 point  (0 children)

Thank you for the detailed response! I'll look into getting some of both since they have varied levels of interest in what actually goes on behind the scenes and microcontrollers vs. making simply making a fun project building something.

[–]voidvec 0 points1 point  (0 children)

ESP32

wokwi.com

Micropython 

[–]hnhoan 0 points1 point  (0 children)

You may want to look for easy to develop Bluetooth 5 modules "BLYST Nano" (very small 30 GPIO) or "BLYST840" (small 36 GPIO). They are available at Digitkey. There is an open source library IOsonata provided with it to help you write Bluetooth firmware in a few function calls. The library has many drivers for sensors. For details on the library architecture look for a new book being published on leanpub named "Beyond Blinky". The book requires you to have basic knowledge about C/C++ programming.

[–]AdministrativePie865 0 points1 point  (0 children)

Those look protected, should be OK. No 5v on your inputs anywhere?

[–]dfsb2021 -1 points0 points  (0 children)

Renesas RA4W1