I can say from personal experience that troubleshooting the Arduino microcontroller & associated systems can be one of the most finicky things I’ve ever dealt with. Its frustrating having sketches that mysteriously work or become inoperable, LEDs that turn on when you get too near them, & units suddenly dying for no reason are all issues I’ve encountered. To help others who may have experienced the same complications, here are some tips I have for dealing with pesky errors.
Power
I. Is everything plugged in?
II. Do you have any faulty wiring connections? Verify by connecting a multi meter to each component connection.
III. Are any components overloaded with power? Is each connection hooked to the correct power? (Ex: 5v chip connected to 5v line & not 12v)
IV. Is the ATMega chip itself blown out? Upsidedown?
V. Is the power coming in the system clean? Do you need a buck converter/power regulator to smooth it out?
VI. Are you adhering to the max milliamperage draw per Arduino pin (40 mA) & entire chip (200mA)?
VII. Did you program something to be on when it should be off/ vice-versa?
VIII. Is everything connected to ground? And power?
IX. Are your subsystems working?
Sketch
I. Are all semicolons in the correct spot?
II. Did you misspell any variables or reserved words?
III. Did you activate the correct sensors in the correct order?
IV. Are all subroutines initiated as intended?
V. Have you tried rebuilding the code in a new window, initiating & verifying each system as you reintegrate them?
VI. Are all variables given the correct name & value?
VII. If all else fails, try copy/pasting your sketch into a new window, saving as a different name, & reuploading, sometimes that works.
VIII. Is everything on the correct baud rate? Port number? Processor type?
Hardware
I. Did you have a rats’ nest of wires? If so, make them into unshielded twisted pairs.
II. Is every soldered joint good or are some unsatisfactory?
III. Are there any conductive materials touching the circuit or connecting any two points its not supposed to?
IV. Verify all pins are connected to the right places.
V. Check if they’re any broken wires or cut traces.
VI. Are your resistor values correct & connected on the right path?
VII. Jot down the systems & subsystems of your project. State how they’re supposed to work while showing yourself where it connects on the hardware level & where it works on the software level.