I started tinkering with Arduinos lately in my (very scarce) spare time, but not having a formal electronics background I've struggled (and still do, actually)
with some concepts that might be easy for an engineer but can be hard for beginners to understand: things related both to hardware and software that require you to put a little more thoughts into (rather than just copy/pasting codes from random tutorials) and that can really help you start with a firmer foot.
I've found myself, in fact, stumped a lot by these issues and that's why I eventually decided to put them down into writing, hoping to help my future self and anyone out there tired of getting frustrated every now and then by this otherwise very cool hobby.
I'll skip everything regarding what an Arduino is, how to program it or in which language, or how to use a soldering iron or a breadboard - there are already thousands of better resources and tutorials out there on these topics. In the next weeks I'm going to focus on:
- Logic Levels, Level Shifting and Voltage dividers
- ADC, PWM and Arduino's analog* methods
- Let's talk! UART, SPI, I2C, 1-Wire
- MOSI, MISO, SCK and SS: what are those?
- Just two wires: SDA and SCL in I2C
- Just one wire! 1-Wire protocol
- Interrupts, Waiting and delaying
- Going to sleep (and saving power)
- There is String and string
- Debugging Arduino programs
- A serie about most common components/sensor
If you have suggestions for new topics or you find any error (likely) please don't esitate to contact me.