Close
0%
0%

esp32 Hardware Journey

Documenting my path learning embedded systems from scratch including ESP32, Arduino, sensors, and everything in between.

Similar projects worth following
A running log of everything I'm building and learning with Arduino, ESP32, sensors, and circuits, starting from zero. Following Paul McWhorter's ESP32/Arduino series, also following "Math and Science" Engineering Circuit Analysis Series (YouTube). Building toward computer hardware engineering. First build: a basic LED circuit on a breadboard — figuring out resistors, jumper wires, and how the board's rows connect. Code and progress: https://github.com/Nemo848/esp32-arduino-log-from0

# Overview
This project is my hands-on path into embedded systems and computer
hardware engineering, starting from zero. I'm following Paul McWhorter's
ESP32/Arduino series, building small circuits and writing code to learn
the fundamentals before moving into original projects.

---------------------------------------------------------------------------------------------------

# Build 1: Basic LED Blink
A simple circuit where the ESP32 toggles a GPIO pin on and off to blink
an LED. The LED's cathode connects through a jumper wire to the GPIO
signal pin, and the resistor connects the other side of the circuit to
GND, limiting current to protect the LED.

This build taught me the basics of breadboard wiring, how rows connect
electrically, resistor placement for current limiting, and how a loose
or misaligned jumper wire can cause a dim/weak connection instead of a
clean connection. (One of my mistakes)

---------------------------------------------------------------------------------------------------

# What's next
Moving on to button input that signals LED to turn on and off.

# Links
- Code: https://github.com/Nemo848/esp32-arduino-log-from0

blink-led.gif

Graphics Interchange Format - 1.56 MB - 08/26/2026 at 22:21

Preview

  • 1 × Resitor 220Ω
  • 1 × Blue LED (diode) Tools and Production Supplies / Misc. Tools and Production Supplies
  • 1 × Breadboard Electronic Components / Misc. Electronic Components
  • 1 × esp32 Node MCU Microcontroller
  • 1 × Blue wire: resistor's other end → ESP32 GND pin

View all 6 components

  • Potentiometer Voltage Reader

    Niam Savaliya • 6 days ago • 0 comments

    Potentiometer Voltage Reader (ESP32)

     Learned how a Potentiometer works, and built a project that reads a Potentiometer with analogRead() and prints live voltage values to the Serial Monitor every 500ms. Moving the Potentiometer from left to right increases its value on a 1-5 volt scale.

    Bugs hit along the way:

    Wrong math: the formula assumed Arduino's classic 10-bit ADC and 5V reference. The ESP32 actually uses a 12-bit ADC (0–4095) with a 3.3V max input, so the conversion needed to change to (3.3 / 4095.0) * readVal.

    Wiring mistake: When working with different jumper wires, the potentiometer's wire was landing several rows off from GPIO36 on the breadboard, causing weird readings. Fixed by carefully counting pins from the top of the header, and confirmed the fix by updating the code to that pin.

    Code: https://github.com/Nemo848/esp32-arduino-log-from0/blob/main/06-voltage-reader/voltage_read.ino

  • LED Brightness Comparison - AnalogWrite Command

    Niam Savaliya • 09/22/2026 at 02:08 • 0 comments

    Built a two-LED brightness comparison on the ESP32 using analogWrite — GPIO32 set to brightness 5 (dim) and GPIO33 to brightness 243 (bright) — to visually see PWM output in action. Learned from Paul McWhorter, then branched out and created my own mini project(2 LED comparison) writing my own code, and wired correctly.

    Problem: Neither LED lit up at first, and a digitalWrite HIGH test confirmed it was a wiring issue rather than a code issue. The actual cause was a broken ground path: each LED's cathode sat in an isolated breadboard column with no connection back to the ESP32's GND pin. Once the cathodes were moved into the same column as the GND wire, both LEDs lit as expected, clearly showing the brightness difference.

    Code: https://github.com/Nemo848/esp32-arduino-log-from0/tree/main/04-light-brightness-test

    Left LED brightness = 5

    Right LED brightness = 243

  • Multi-LED Pattern - Multiple Compontents Connection

    Niam Savaliya • 09/11/2026 at 23:06 • 0 comments

    Next step after single-LED blink: wiring up multiple LEDs and getting them to run patterns together on the ESP32. I learned how to code various different LED's, also learned how to properly connect GND jumper cables.

    Key takeaway: Since delaying would be a problem due to its unique pattern, I had to use different variables for each LEd to make the pattern. Learning how to work with more components and more connections strengthens my understanding of creating more complex projects later. 

    Code: https://github.com/Nemo848/esp32-arduino-log-from0/tree/main/03-multiple-patterns

    Credit to Paul McWhorter's Ardunio Tutorials. (Branched off and created my own design/idea)


  • SOS Morse Code Blink — Basic variables lesson

    Niam Savaliya • 08/29/2026 at 21:59 • 0 comments

    Next step after basic blink: an SOS pattern in Morse code (short-short-short, long-long-long, short-short-short) on the ESP32.

    Since Paul McWhorter's course uses the Arduino Uno, pin numbers don't carry over directly, so I had to look up my board's actual pins and pick a valid ESP32 GPIO instead of copying his pin number.

    Bug of the day: moved my jumper to test a different pin but forgot to update pinMode() to match. Code compiled and uploaded fine, but the LED stayed dark. The fix: I put the pin number in one variable (blueLEDpin) at the top of the code, instead of typing the number over and over. Now if I move the wire to a new pin, I only have to update it in one spot. I did the same thing for the blink timing (fastBlink, slowBlink) so the code is easier to read and adjust.

    Code: https://github.com/Nemo848/esp32-arduino-log-from0/tree/main/02-sos-blink
    Credit to Paul McWhorter's Ardunio Tutorials.

View all 4 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates