...
...
I personally think people should start with an ATTiny, especially something like the Tiny13 or 25/45/85.
(...)
The biggest problem, is thinking of a project in the first place to get started with. A simple calculator might be a fun task to fit into a Tiny85, or maybe even Tiny13, lots of concepts there.
Yeah, finding projects is always a pain. I have a few in mind tho, all quite simple control-type applications (a way to monitor the AC/light/temperature in my lab, for example)
...
...
Sometimes, sharing experience is
like sharing prescription eye glasses. What works nicely for me may not work for you at all. At the risk of "sharing my glasses"...
I did my "stepping away from Arduino" via the ATTINY13A and ATTINY85.
I am a relatively inexperienced hobbyist. A while back, I did build a bare (no boot loader) ATMEGA 328p (28 pin dip) to work like an Arduino UNO.
Learning how to use an UNO as the ISP flasher was useful. Stepping away from Ardunio means one would need some kind of an ISP burner.
I needed some flashlights. I got a very cheap (under $5) single-18650 flashlight and decided to do some upgrade. I found the
NANJG105c (which uses the ATTINY13A) to be rather suitable along with a Cree XML-T6 led. Well, with the ATTINY13A, the most obvious further improvements would be to upgrade the firmware.
I found tons of information out there on writing drivers for 105c. Best of all, a
bare-bone flashlight driver source code - it works and it was a
good base to learn from. Starting with something working and learn by modifying existing codes is the easiest way to learn in my view.
Getting the downloaded simple driver source code compiled and downloaded help me build and understand the tool-chain.
I ended up making a dedicated Arduino NANO as my ISP equipped with SOIC clips, and breakout of target MCU pins - and of course some blinking lights for convenience and important status info. So, at that point, I was coding C without a single line of code from the Arduino library, and with tools that can stuff the result down to the Attiny 13A using my NANO-ISP.
The flashlight with the NANJG 105C was transformed into an "AVR application development education tool" at this stage.
Having custom flashlight with my personal brightness setting is of course good, but more fun things can be done. Finding the Attiny 13A limiting, I moved on to the Attiny 85 with a lot more space and capabilities. Needs a bit of pin-bending to get the Attiny 85 on to the 105c -
again with lots of info out there about how. With the added capability, I can temperature-sense using Attiny 85 built in temperature-tied ADC to throttle down to keep the LED from over-heating.
By then, I feel very comfortable working with the MCU outside Arduino environment. I even learned to "wear balance" the EEPROM so I can switch brightness on the LCD tens of millions of times on the Attiny 85 -again, learned that from flashlight firmware information out there.
Attiny 85 is big enough to actually run some of the Ardunio library. So of course I have to try it. I got that to run my 20x04 LCD with I2C showing the time from an I2C clock. So, I crossed the Rubicon and came back. Now I feel comfortable working the the MCU with/without Arduno boot-loader or library.
In the end, I have a handful of 18650 flashlights with the NANJG 105c driver using my own custom code (no Arduino library). And back on the Arduino side, I have a keyboard handler running ATTINY85 doing input handling and communicating back to a "master MCU" via I2C.
I am still tied to the AVR at this stage, but I am freed from Arduino, and I feel should I want to switch to something else, I know what additional hardware and knowledge I may likely need.
Again, this is like sharing my prescription eye-glasses. What works for me and what counts as great results for me may not be what works for you. But,
I hope this input helps with your quest.