3 years ago the obvious answer was Atmel AVR chips but they are still in short supply today. I think ESP32 is the answer today. They are shockingly powerful for the price. And they have built in wifi, bluetooth, and USB.
Electronics
Projects, pictures, industry discussions and news about electronic engineering & component-level electronic circuits.
Rules
1: Be nice.
2: Be on-topic (eg: Electronic, not electrical).
3: No commercial stuff, buying, selling or valuations.
4: No circuit design or repair, tools or component questions.
5: No excessively promoting your own sites, social media, videos etc.
Ask questions in https://discuss.tchncs.de/c/askelectronics
Right now, I would suggest the ESP32 family… very well supported, lots of community, it’s quite a powerful MCU and you can find it for 3-5$ on Ali
I think ali doesnt work in my country. But is it something like this?
Whats the interface like? Would I need custom programmer boards? Serial com port etc?
What about compilers? I saw riscv mentioned in some places, so would gcc work?
You can find a lot of different dev boards with ESP32, like the one you mentioned. There is other with camera, e-paper screen drivers, smaller footprint (Xiao ESP32). The simplest way to program is using Arduino IDE, but I prefer using PlatformIO on VScode. GCC would work. The interface is with the USB port, which is used for COM port or for programming
The easiest way to program it would be using something like Esphome. I think Node Red is another tool that greatly simplifys things, but I haven't had the time to mess with it yet.
In addition to what others have mentioned if you're using Home Assistant or an MQTT environment than using the ESPHome tools can make life much easier.
You can also install MicroPython, and with it's new and improved "mip" (pip for micropython) you can easily find drivers for most things. Micropython doesn't support "threads" on the esp8266 as such, but can use uasyncio, which achieves the same goal.
Yes, that would be it!
You can do everything using the existing USB port. What you cannot do in that board is use a debugger.
Thanks for confirming. Ill start with the basic kit.
Nowadays there's a plethora of options available for beginners. Heck, even PICs have dev boards available with built-in programmers, so you connect it to your computer using regular old USB cable and you can build away using Microchip toolchains. Depending on your comfort level of low-level C, I'd probably still stay away from PICs as a beginner.
There's Arduinos and all the numerous clones (cheaper, different features). The main benefit of Arduino ecosystem would be that it's really easy to find libraries and/or content on the internet that gets you real close to solving your problems without having to write too much code yourself.
And of course very cost effective ESP32 based offerings that excel at wireless usecases (WiFi, bluetooth).
Recently there's even more beginner friendly boards appearing using MicroPython where you don't even need a toolchain. You connect the board to your computer, it appears as a mass storage device, you drop your Python code on it... and that's it, the board runs the code when you disconnect from the computer.
Have a browse through Adafruit and Sparkfun stores to get an idea of all the possible (beginner friendly) boards out there.
Thanks for the detailed answer, I was familiar with ASM and C. And soldered some of the boards myself. But probably cant do the soldering parts too much now.
i quite like esp 8266/esp32 honestly.
STM32, RP2040, ESP32 & AVR are all quite popular and all have good development boards.