How to Debug Electronics Projects: Systematic Guide
Feb 9, 2026
8 min read
How to Debug Electronics Projects: Systematic Guide
Your circuit is built, the code is uploaded, but nothing works. Do not panic. Debugging is a skill that improves with practice. The key is to be systematic—do not change random things hoping it will fix itself.
The Debugging Checklist
Follow this order every time. Most problems are found in the first 3 steps.
Step 1: Check Power
The most common cause of "nothing works" is no power reaching the circuit.
Is the USB cable properly connected? (Some cheap cables are charge-only, no data)
Is the Arduino LED (L or power LED) on?
Use a multimeter to measure voltage at the VCC and GND pins of your components. Is it 5V (or 3.3V as expected)?
Check the battery voltage if using battery power
Step 2: Check Wiring
The second most common cause is wrong or loose wiring.
Compare your physical circuit against the schematic, pin by pin
Are jumper wires pushed in firmly? Pull each one and re-insert it
Are components in the correct orientation? (LEDs have polarity, electrolytic capacitors have polarity)
Use the multimeter continuity test to verify suspicious connections
Step 3: Check the Code Upload
Is the correct code actually running on the Arduino?
Did the upload succeed? (Check for error messages in Arduino IDE)
Is the correct board selected in Tools → Board?
Is the correct port selected in Tools → Port?
Try uploading a simple Blink sketch first. If the LED blinks, your Arduino and USB connection are working.
Step 4: Serial Monitor Debugging
This is the most powerful debugging tool for Arduino projects.
Add Serial.begin(9600) in setup()
Add Serial.println() statements at key points in your code
Open the Serial Monitor (Tools → Serial Monitor) and watch the output
Check if sensor values are reasonable (not 0 or 1023 constantly, which suggests a wiring issue)
Step 5: Isolate the Problem
If the full circuit does not work, simplify it.
Disconnect everything except one sensor
Test that sensor alone with a simple sketch
If it works, add the next component
When adding a component breaks things, you have found the problem
Common Failure Patterns
Sensor Reads 0 or 1023 Constantly
Wrong pin: Double-check analog pin number (A0, not D0)
No power to sensor: Measure VCC at the sensor
Broken wire: Continuity test on the data wire
Missing pull-up resistor: DHT11/DHT22 and I2C devices need pull-up resistors
Motor Does Not Spin
Not using a motor driver: Arduino pins cannot supply enough current
No external power: Motor driver needs separate 6–12V supply
Missing common ground: Motor power supply GND must connect to Arduino GND
Code issue: Add Serial.println() to verify your motor control code is reaching the correct function
Display Shows Nothing
Wrong I2C address: Run an I2C scanner sketch to find the actual address
Missing library: Install the correct library (Adafruit SSD1306 for OLED, LiquidCrystal_I2C for LCD)
Contrast too low: For LCD displays, adjust the contrast potentiometer on the I2C adapter
SDA/SCL swapped: Common mistake when wiring I2C
WiFi Will Not Connect (ESP32)
Wrong credentials: WiFi SSID and password are case-sensitive
Signal too weak: Move closer to the router for testing
Power brownout: ESP32 draws 240+ mA during WiFi connect. Weak USB ports or thin wires cause voltage drops. Use a quality USB cable and a 5V 2A adapter
Pro Debugging Tips
Change one thing at a time. If you change code AND wiring simultaneously, you will not know which fix worked.
Keep a working version. Before making changes, save a copy of your working code.
Read the datasheet. Component datasheets contain wiring diagrams, operating voltages, and timing requirements.
Ask for help with details. When posting on forums, include: your code, a photo of your wiring, the error message, and what you have already tried.
Browse our Project Kits with tested circuits and verified code to minimise debugging.
Ready to start building?
Explore our collection of DIY kits and components. All project components mentioned in this guide are available in our store.