Circuit sketchs
Sometimes I see something on the streets or on the internet which makes me say "hey, that's cool! Maybe I can do it?" and then I need to have the tools to scaffold. Most of these times, I do need something that makes something else do something, in real life. Its a very general description, but for most of my curiosity I just need a microcontroller with some sensors and some actuators.
As many, I started with an arduino. Which I still have. The arduino uno r3, an Italian version - I used to have a Chinese one, until I burned it by accident. Its a fine piece of hardware, and the ecosystem that surrounds it seals the deal. Its possible to tinker with something very fast, and is generally fun to use. If a bit overkill most of the times.
That's fine, overkill is better to no bite. But the Arduino Uno feels like doing fine writing with a broad brush. This is great most of the time, but in the end for me it comes down to a matter of taste and preferences. Personally I don't like using arduino IDE for programming, for instance, I would rather have an actual IDE experience and better separation of libraries, so I use Platform IDE for vscode as much as I can. Which comes close enough to an IDE experience for me.
I've experimented with other boards too, like the Arduino nano (my favorite arduino), Leonardo (rip, I mixed up some ac and dc cables) and the Mega (rip, faulty power generator). One of these days I want to try the Esplora. Its just fun to pass electricity here and see a led turn on somewhere else. It never gets old to cable a prototype.
Obviously, sometimes you want the board to do something more than just turn a led on and off. You want the thing to actually "see" something and "do" something else. Here comes the world of sensors and actuators. I've made recently a tracker of air quality with a lcd screen to print constantly just how much of a good idea it is to go outside right now. Previously, I tried doing a radar with an ultrasound and processing for the gui. Its done, I'm happy, it returns to the box. Or not, I haven't disbanded my air quality sensor yet. Maybe I could build an air quality tracker? With temperature and humidity? Display it all in my pc?
Which leads me into other boards. The arduino is fun to use. The ESP32 is also kinda fun, its just not the same experience. I don't know how else to put it, the development experience is radically different on both the arduino and the ESP, and the ESP leads more into a feeling of "you might as well build a dashboard for this", rather than the tinkering arduino. It's for a good reason, the ESP32 is more powerful than the arduino, and has both bluetooth and wifi integrated on it.
I've used the ESP32 (more specifically, the ESP32-DevKitC) more with things that would fall nicely into IOT-ish. It's not as fun to use, for me personally. Or maybe IOT like projects are not meant for me. I did once a "smart" lamp with this and a relay, so with my cellphone or whenever I clap the light would dim on and off. Its a fun board to use, until you activate the wifi.
Or for things that move. I've been using the STM32 - the blue pill, specifically, for a robotics project. Its, harder to use. Clearly the harder one to use of these boards. Yet so far, its also the one I enjoyed the most. Its insanely fast, its cheap, its very "ground level", there are less abstractions separating the hardware realities with the software commodities. Personally it strikes the balance of these two for me. Its just so much fun working with this with motors and things that move.
The other extreme is full hardware. Not a board, an IC - integrated circuit. The PIC. A series of microchips designed for hard work. Very very low level. Its not something for complete beginners. Think of this as the chip that's used inside a coffee machine - it must work all day, be energy efficient and low print. I used the 16F877A because its the only one I could get my hands on. If possible, use a 16F887, the updated version.
I had fun with the PIC chips. They demand that you understand their language and structure, as there are barely any abstractions separating you from writing assembly at this point. Once you do understand, you come to a greater understanding of how computers in general work that sticks with you. Its also, once you get it, strangely simple. Because behind everything, there's a reason. At first, then it comes back to being even more confusing.
Its just cool to tinker with all of these. Doesn't matter how much I did it, its still fun to put a potentiometer (a knob) with a nema stepper and make the thing move. Or a servo, servos are very fun. Or the 555, endless well of suffering and quick fixes. I remember fondly the first capacitors I exploded, or the first time I burnt myself with a soldering iron. It hurts, avoid, but I remember the feeling of excitement of "I'm a scientist doing science". I grew up, the feeling transformed more into "I'm a dude getting himself into things way too complex because he thought it would be easy". I obviously prefer when it all works out, but I think I enjoy the work too. I'm just too immersed in the moment to notice if I enjoy it or not.
Right now I'm working on doing a FM radio. Its not working. Maybe someday.
P.S. Most of the time you won't notice the abstractions depending on the framework you're using. For instance, developing for the arduino and the ESP32 is functionally the same if your development framework is both arduino - which is an option. At least not until you start using the wifi and Bluetooth, or the PWM, or the I2C. With the STM32 its possible but you'll notice faster. With the PICs its simply not possible, you'll work on low level from the start.