Paste the error, find the cause, fix it in a fixed order. Each page starts from the exact message you see, says what it means and lists the checks that find the cause fastest. Most upload errors turn out to be cable, port or power, not code.
Upload and connection errors
- avrdude stk500_recv(): programmer is not responding
- avrdude ser_open(): can’t open device
- ESP32 failed to connect: timed out waiting for packet header
Crashes and resets
- ESP32 brownout detector was triggered
- ESP32 Guru Meditation Error: LoadProhibited
- Arduino low memory available, stability problems may occur
Code and compile errors
Hardware that misbehaves
- Arduino servo jitters or twitches
- I2C device not found on Arduino or ESP32
- ESP32 analogRead wrong when Wi-Fi is on
More Arduino and ESP32 fixes
- ESP32 will not connect to Wi-Fi
- ESP32 task watchdog got triggered
- ESP32 boot loop: invalid header or flash read err
- Serial Monitor shows garbage characters
- Serial Monitor shows nothing
- Arduino sketch too big
- L298N motor driver not spinning
- HC-SR04 returns 0 or wrong distance
- MPU6050 gyro drift
Boards, sensors and wiring
- ESP32-CAM camera init failed 0x105
- ESP32 waiting for download / wrong boot mode
- ESP32 fails to boot with a part on GPIO 12
- Arduino expected ‘;’ before
- Arduino No such file or directory (library)
- DC motor runs only one direction
- Arduino resets when the motor starts
- DS18B20 reads -127 or 85
- Servo does not move on ESP32
- SD card initialization failed
Wi-Fi, displays, radios and sensors
- ESP32 Wi-Fi keeps disconnecting
- ESP8266 Soft WDT reset
- ESP32 board missing in the Arduino IDE
- exit status 1: Error compiling for board
- SSD1306 OLED stays blank
- DHT11 or DHT22 returns NaN
- HC-05 Bluetooth module no response
- Line follower does not detect the line
- Relay module works backwards (active low)
- nRF24L01 radio not working
Boards, drivers and power
- ESP32 default I2C and SPI pins
- TB6612FNG motors do not spin
- MPU6050 returns zeros
- ESP32-CAM will not upload
- PCA9685 servo driver not moving
- Motor whine with analogWrite
- L298N gets very hot
- Robot resets when the battery sags
- Stepper vibrates but does not turn
- A4988 or DRV8825 does nothing
Pins, timing and displays
- analogWrite does nothing on an Uno
- ESP32 deep sleep does not wake
- ESP32 GPIO 34 to 39 are input only
- delay() blocks the robot, use millis()
- LCD 1602 I2C shows boxes or nothing
- WS2812B flickers or wrong colours
- SPIFFS or LittleFS mount failed
- Serial.print slows the robot
- IR obstacle sensor always on or never
- NodeMCU D labels vs GPIO numbers
Buses, power and signals
- I2C pull-up resistor values
- Nano clone not detected (CH340)
- HC-06 pairing PIN and baud
- ledcSetup not declared (ESP32 core 3)
- Wrong or negative numbers: int overflow
- Encoder counts jump or drift
- Robot drifts to one side
- HC-SR04 echo 5 V into an ESP32
- Raspberry Pi GPIO is 3.3 V only
- MG996R servo buzzes or overheats
Power, grounds and protection
- Button reads random values (floating input)
- Two power supplies need a common ground
- ESP32 boot log rst: reset reasons
- Arduino library not found
- Flyback diode for relays and motors
- LM2596 buck converter setup
- L298N 5 V jumper
- ESP32 GPIO current limit for LEDs and loads
- MPU6050 GY-521 on 3.3 V
- Arduino Uno 5 V pin current limit
Tools, sensors and batteries
- Serial Plotter shows nothing
- ESP32 OTA update fails
- Thonny cannot connect to ESP32
- ESP32 cannot see my Wi-Fi (2.4 GHz only)
- VL53L0X reads 8190
- INA219 reads zero current
- TP4056 charger LEDs and wiring
- Arduino on a 9 V battery dies fast
- SG90 spins continuously or wrong angle
- Buzzer clicks or one tone
Analog, buses and sensors
- ESP32 ADC noisy or not linear
- analogRead random on an open pin
- Two identical I2C sensors
- Two SPI devices on one bus
- ESP32 Serial2 pins
- NEO-6M GPS no fix
- Servo library on ESP32
- 28BYJ-48 stepper shakes
- A3144 Hall sensor no output
- LDR light sensor divider
Boards, wiring habits and first checks
- ESP32-S3 Serial Monitor blank (USB CDC)
- Raspberry Pi Pico not detected
- Arduino barrel jack polarity
- Breadboard rails split in the middle
- Loose breadboard contacts
- Power bank switches off
- Check for a short before power-on
- ESP32 strapping pins and boot problems
- Library fails on Arduino Uno R4
- Sketch uploads but the robot does nothing
Networking and IoT
- ESP32 web server does not open
- ESP32 access point 192.168.4.1
- MQTT PubSubClient state codes
- ESP32 HTTPClient negative error codes
- ESP32 NTP time zone for India
- ESP32 HTTPS certificate errors
- ArduinoJson deserialization errors
- ESP32 BLE not visible in phone settings
- Wi-Fi setup portal does not open
- ESP32 hostname.local not resolving
ROS 2, Python and computer vision
- ros2: command not found
- ROS 2 package not found after colcon build
- ros2 topic list empty (ROS_DOMAIN_ID)
- RViz Fixed Frame does not exist
- Python serial permission denied (Linux)
- OpenCV cannot open the camera
- OpenCV imshow black or frozen
- No module named cv2
- Raspberry Pi camera not detected
- WSL cannot see the USB port
Switching, cells and mechanics
- MOSFET not switching on 3.3 V logic
- 2N2222 / BC547 base resistor, load not switching
- Optocoupler PC817 no output
- Li-ion cells in parallel at different voltages
- Cold solder joint, dull and intermittent
- 3D-printed wheel or gear slips on the shaft
- Robot wheels slip on the floor
- Line follower oscillates (PID too high)
- BMS cuts off under load
- TT motor stalls and draws too much current
Radios, modules and sensors
- nRF24L01 does not communicate
- SD card module initialization failed
- DHT11 or DHT22 reads NaN
- SSD1306 OLED stays blank
- HC-SR04 reads 0 or jumps
- DS3231 clock loses time
- LoRa SX1278 no packets
- Relay module active-low at boot
- Joystick drifts at rest
- Servo twitches or jitters
Code habits and resets
- ESP32 brownout detector triggered
- ESP32 analogRead fails with Wi-Fi on (ADC2)
- ESP32 task watchdog got triggered
- Arduino calculation returns 0 (integer division)
- Arduino map() gives odd values
- millis() timing breaks (unsigned long)
- Interrupt variable never updates (volatile)
- String class crashes (use char arrays)
- Serial.parseInt() is slow (timeout)
- EEPROM wear: write only on change
Motors, ESCs and control
- L293D weak motor and warm chip
- DC motor spins the wrong way
- Encoder gives no pulses
- MPU6050 angle drifts
- RC receiver gives no signal
- ESC beeps and the motor does not start
- Brushless motor stutters
- LiPo charger cell count or balance error
- Servo does not reach full travel
- analogWrite does nothing on ESP32
Raspberry Pi, Jetson and Linux
- Raspberry Pi SSH refused or timed out
- Raspberry Pi does not join Wi-Fi (headless)
- Raspberry Pi under-voltage warning
- Raspberry Pi will not boot after a power cut
- i2cdetect shows no devices
- RPi.GPIO channel already in use
- pip externally-managed-environment
- USB serial port name keeps changing
- Raspberry Pi shows no picture
- Jetson Nano restarts on USB power
Printing, power modules and wireless
- 3D print corners lift off the bed
- 3D print stringing
- Buck converter output drops under load
- MT3608 boost converter no output
- 18650 holder voltage drop
- ESP-NOW messages not received
- Arduino: expected “;” before
- ESP32 board package download fails
- Two ultrasonic sensors interfere
- 3.3 V and 5 V parts: level shifters
Steppers, arms and sensing
- NEMA 17 stepper skips steps
- TMC2209 does not move the motor
- Limit switch false triggers
- Servo gripper stalls and overheats
- Robot arm sags (servo torque)
- IR remote receiver gives no codes
- Battery voltage reads wrong (divider)
- ACS712 offset and noise
- Line sensor cannot tell black from white
Bench basics: wires, fuses and tools
- MicroPython main.py runs at boot and cannot be stopped
- Electrolytic capacitor hot or bulged
- Multimeter continuity beeps on everything
- Soldering tip black, will not take solder
- Wire gauge for motor current
- Which fuse for a robot battery
- XT60 connector gets hot
- Dupont jumper works intermittently
- Resistor colour code misread
Dashboards, brokers and cloud logging
- Mosquitto refuses remote clients
- Node-RED dashboard shows no MQTT data
- ESP32 WebSocket disconnects
- ESP32-CAM stream lags
- ESP32 Telegram bot does not answer
- ThingSpeak update returns 0
- ESP32 to Google Sheets fails
- Home Assistant does not show my MQTT device
- ESP32 web server crashes (heap)
Arduino code surprises
- SoftwareSerial prints garbage
- tone() or Servo breaks PWM (timers)
- attachInterrupt does nothing
- pulseIn() makes the robot slow
- digitalWrite on an input pin
- analogRead first value wrong
- 60 * 1000 overflows (UL suffix)
- Serial.print decimals and nan
Odometry, ROS 2 and vision
- Robot odometry drifts
- Robot turns the wrong angle
- ROS 2 robot does not move (cmd_vel)
- ROS 2 TF extrapolation error
- RPLIDAR gives no data
- OpenCV colour detection misses red
- ArUco marker not detected
- YOLO slow on a Raspberry Pi
- PID integral windup
Shields, audio and radios
- ESP32 static IP does not work
- ESP32 Bluetooth serial does not pair
- ESP32 touch pin triggers by itself
- INMP441 I2S microphone gives zeros
- ESP32 DAC output is noisy
- LCD keypad shield buttons read wrong
- L293D motor shield pins and power
- ESP32 Wi-Fi and Bluetooth together are unstable
Mechanics and chassis
- Caster wheel drags the robot
- Robot tips over (centre of gravity)
- GT2 belt skips teeth
- 3D-printed hole too tight for a bearing
- M3 screw strips in a 3D print
- Acrylic cracks when drilled
- Gear motor is loud on the robot
- Sensor readings shake with vibration
Sensors, solar and power budgets
- BME280 or BMP280 not found
- BME280 reads too hot
- HX711 load cell reads zero or drifts
- TCS34725 colour readings change
- Compass heading is wrong
- Small solar panel does not charge the battery
- Battery drains faster than planned
- PCA9685 outputs flicker
Other boards: ESP8266, ATtiny, STM32 and Pico
- ESP8266 does not boot (GPIO 0, 2, 15)
- NodeMCU A0 only accepts up to 1 V
- Pro Micro disappears: double reset
- Digispark not recognised on Windows
- ATtiny85 PWM and timer limits
- STM32 Blue Pill will not upload
- Pico W will not join Wi-Fi (MicroPython)
- ESP8266 GPIO16 limits
Displays, drivers and converters
- RC522 reads no cards
- TB6612 does not spin (STBY)
- DRV8833 weak or hot
- MAX7219 matrix garbage
- 74HC595 outputs wrong
- TM1637 shows dashes
- ADS1115 wrong values
- TFT screen is white
Uploads, memory and Pi setup
- Arduino low memory warning
- Sketch too big
- Pi SPI not working
- RPi.GPIO edge detection error
- Pi runs hot and throttles
- Serial Monitor shows nothing
- Exit status 1 compile error
Pico, MicroPython and batteries
- MicroPython MemoryError
- Pico ADC noisy or wrong
- Pico PWM slices clash
- LiPo battery has puffed up
- 18650 series pack drifts apart
- Flashing MicroPython on ESP32
- Python: No module named serial
- Arduino hangs on I2C
Robot behaviour and control
- Motors hum at low PWM
- Obstacle robot stuck in corner
- Sensor spikes: use a median filter
- Robot keeps driving after signal loss
- Robot jerks on start (ramp)
- Wall follower wobbles
- Board resets when motors start
- Line follower misses sharp turns
Environment sensors and switches
- Soil moisture probe corrodes
- MQ gas sensor warm-up
- PIR triggers by itself
- Flame sensor always on or off
- Mini water pump will not start
- HC-05 ignores AT commands
- HC-SR501 PIR on an ESP32
- Limit switch counts twice
Where to start when nothing is listed
Check the cable, the selected board and port, then the power supply. Then read Arduino robot not working and Arduino IDE setup. More fixes are added in waves.
Last reviewed: November 2026.