TheSolderBenchnotes from my electronics bench

section 2, the red band

Arduino

Picking a board, writing sketches and understanding the pins.

Which Arduino Board Should You Buy First?

Uno, Nano, Mega, Leonardo or an ESP32? A practical comparison of pins, voltage and price, and a clear recommendation for your first board.

→ just get an Uno first

Your First Arduino Sketch: Blinking an LED

Wire an external LED, upload the Blink sketch and understand every line of code, then change the timing and add a second LED.

→ LED dim? check pinMode()

Digital vs Analog Pins on Arduino

How digital inputs read buttons, how analog inputs turn voltages into numbers from 0 to 1023, and what PWM outputs really do.

→ floating input = add INPUT_PULLUP

Debugging Arduino Code with the Serial Monitor

Print values, trace program flow, read commands from your computer and use the Serial Plotter to find bugs in Arduino sketches faster.

→ garbage text? baud rates don't match

Using millis() Instead of delay()

Why delay() freezes your sketch, how to time events with millis(), and patterns for running several timers, blinking LEDs and reading sensors at once.

→ now - last >= interval, always unsigned long

Arduino analogRead() Explained: From Voltage to Numbers

How the Arduino's ADC turns a voltage into a number from 0 to 1023, how to convert it back to volts, reduce noise, measure above 5 V and use the internal reference.

→ 1023 means "at the reference", not 5 V

Arduino Interrupts Explained (attachInterrupt with Examples)

What hardware interrupts are, which Arduino pins support them, how to use attachInterrupt() safely with volatile variables, and a pulse counter you can reuse for encoders and flow sensors.

→ Keep the ISR short. Really short.

I2C on Arduino Explained (With an I2C Scanner Sketch)

How the two-wire I2C bus works, which Arduino pins to use, device addresses and how to fix conflicts, pull-up resistors, and a scanner sketch that finds every device on the bus.

→ Two wires, many devices, one address each

Saving Data with Arduino EEPROM (Settings That Survive a Reset)

Store settings, calibration values and counters in the Arduino's built-in EEPROM so they survive power-off: read, write, update, put and get explained, a settings struct example, and how to avoid wearing it out.

→ About 100,000 writes per byte. Don't write in loop()

How to Use a 16x2 LCD with I2C on Arduino

Wire a 16x2 character LCD with an I2C backpack using only four wires, find its address, adjust the contrast, print text and numbers, and make custom characters. Code and fixes for a blank screen.

→ Blank screen? Turn the contrast screw first

Arduino Upload Errors: How to Fix 'not in sync' and Port Problems

A step-by-step checklist for the most common Arduino upload errors, from a missing COM port and CH340 drivers to avrdude "not in sync" and "programmer is not responding", with the cause behind each fix.

→ unplug everything from pins 0 and 1 first

Active vs Passive Buzzer: Playing Tones with Arduino

How to tell an active buzzer from a passive one, how to wire each to an Arduino safely, and code for beeps, alarm sirens and short melodies with tone(), plus the timer conflict that silently breaks PWM pins.

→ active = DC beep, passive = needs tone()