# FlashReady

> FlashReady publishes tested microcontroller code for ESP32, Arduino and Raspberry Pi Pico boards: maker projects with parts lists in ₹, accurate wiring diagrams and compile-checked code, plus a browser simulator (Playground) and a browser flasher. English pages, with Hindi pages under https://flashready.in/hi.

- Website: https://flashready.in/ (English; Hindi pages under https://flashready.in/hi)
- Made by: DVM Techno, a website and software company in Gurugram, India (https://dvmtechno.com/).
- Contact: dvmtechno@gmail.com or https://flashready.in/contact
- Code: every sketch is compiled against the exact board core version shown on its page before it is published.
- Firmware: pre-built for supported boards and flashed from the browser over Web Serial. Personal settings (Wi-Fi name and password, tokens) go to the board over USB only, never to FlashReady.
- Wiring: diagrams use the real pin order, show every power and ground connection, and add level shifting where a part needs it.
- Mains (230 V) projects: the low-voltage side only. Mains wiring must be done by a licensed electrician; a relay module drives a contactor coil, never a motor directly.
- Review: pages marked "Community draft" have not yet had a final human review; each has a "report a mistake" link.
- Never published: Wi-Fi jammers or deauthers, RF jammers, credential-capturing portals, or anything that harms other people's devices.
- Not affiliated with Espressif, Arduino, Raspberry Pi or any other maker named on the site; brand names are used only to describe compatibility.
- Method: https://flashready.in/how-we-verify · Sitemap: https://flashready.in/sitemap-index.xml

## Projects

- [Projects — ESP32, Arduino and Pico builds with verified code](https://flashready.in/projects): Complete maker projects with parts lists in ₹, accurate wiring diagrams and compile-checked code — water tank alarms, clocks, power-cut alerts and more.
- [ECG trace on an OLED for learning (Arduino Uno + AD8232) — not medical](https://flashready.in/projects/ad8232-ecg-display): An AD8232 module and three chest or wrist pads draw the heart’s electrical signal on an OLED with a beat count. A battery-powered biology demo, not a medical device.
- [Carbon monoxide alarm for angithi and sigri heaters (Arduino Nano + MQ-7)](https://flashready.in/projects/angithi-co-alarm): An early-warning CO alarm for rooms heated with a charcoal angithi or sigri in winter: an MQ-7 sensor, an OLED and a loud buzzer. A hobby alarm, not a certified one.
- [Aquarium heater and light controller with alarms (ESP32 + DS18B20)](https://flashready.in/projects/aquarium-controller): Holds your fish tank at 26 °C with a heater relay, runs the LED light on a timed schedule from internet time, and beeps if the water gets too hot or too cold.
- [Automatic street / gate light with LDR (ESP32)](https://flashready.in/projects/auto-street-light): Switch a gate or street lamp on at dusk and off at dawn with an LDR, hysteresis and a one-minute delay so headlights and clouds don’t make it flicker.
- [18650 battery capacity tester with discharge graph and SD log (ESP32-S3)](https://flashready.in/projects/battery-capacity-tester): Find the real mAh of a recycled or new 18650: the cell discharges through a load, an INA219 counts mAh, a 2.8" TFT draws the curve and a CSV goes to microSD.
- [Bluetooth scrolling notice board for classrooms (ESP32 + 4-in-1 MAX7219 matrix)](https://flashready.in/projects/bluetooth-notice-board): Type a notice on your phone and it scrolls across a 32×8 LED matrix: ESP32 Bluetooth, a login code, speed and brightness commands, and it survives power cuts.
- [Bluetooth RC car controlled from your phone (Arduino Uno + HC-05)](https://flashready.in/projects/bluetooth-rc-car): Drive a 2WD robot car from an Android Bluetooth app — Arduino Uno, HC-05 and L298N, with a stop-if-signal-lost fail-safe.
- [Broadband speed logger — prove the evening slowdowns (ESP32-S3)](https://flashready.in/projects/broadband-speed-logger): Every 30 minutes an ESP32-S3 downloads a 5 MB test file, shows the Mbit/s on a TM1637 display and logs a timestamped CSV line, so slow evenings become evidence.
- [Read-only CAN bus sniffer for your car’s OBD-II port (Nano + MCP2515)](https://flashready.in/projects/can-bus-sniffer): Log your own car’s CAN traffic safely: an MCP2515 in listen-only mode never transmits. A Nano finds the bit rate, prints candump lines for SavvyCAN and shows a summary.
- [School canteen prepaid NFC card system — tap, pick an item, pay (Nano ESP32 + PN532)](https://flashready.in/projects/canteen-prepaid-card): Students tap an NFC card, see their balance on an OLED and press Rs 10, 20 or 30 to pay. Balances live in the Nano ESP32’s flash; the manager’s card tops up.
- [CCTV camera watchdog — beep when a camera or DVR drops off (ESP32-C3)](https://flashready.in/projects/cctv-camera-watchdog): An ESP32-C3 SuperMini checks every minute that your own IP cameras and DVR still answer on their ports, beeps when one goes offline and can send a phone alert.
- [Classroom noise meter with a traffic-light LED bar (Arduino Uno + KY-038)](https://flashready.in/projects/classroom-noise-meter): A sound-level bar for classrooms and libraries: green when quiet, yellow, then red — and a short “shh” beep if the room stays loud for 3 seconds.
- [Classroom voting machine for class elections — an EVM model (Arduino Uno + 16x2 LCD)](https://flashready.in/projects/classroom-voting-machine): A working model of an EVM for class-monitor elections: the officer enables one vote at a time, a long beep confirms it, and counts survive power cuts in EEPROM.
- [E-paper door sign for a clinic or office — IN / WAIT / OUT at a button press (ESP32-C6)](https://flashready.in/projects/clinic-door-status-sign): Three buttons set the message on a 2.13" e-paper door sign: DOCTOR IS IN, PLEASE WAIT, BACK IN 30 MIN. The ESP32-C6 sleeps between presses; the sign survives power cuts.
- [CO2 monitor for classrooms and AC bedrooms (ESP32-S3 + SCD40)](https://flashready.in/projects/co2-ventilation-monitor): A true-NDIR SCD40 measures CO2 in ppm; an ESP32-S3 shows it with a one-hour graph and nags with a buzzer above 1500 ppm, when a closed room needs fresh air.
- [Coil winding machine with an exact turn counter (Nano ESP32 + A4988 + NEMA 17)](https://flashready.in/projects/coil-winding-machine): Set 10–9990 turns, press START: a NEMA 17 stepper winds exactly that many turns with a smooth ramp and beeps when done. For transformers, inductors and pickup coils.
- [Cold storage / fridge temperature alert to your phone (ESP32 + DS18B20)](https://flashready.in/projects/cold-storage-temperature-alert): Get a phone notification when a fridge, milk chiller or vaccine cooler stays above 8 °C for 10 minutes. ESP32, waterproof DS18B20 and free ntfy.sh alerts.
- [Colour sorting machine with two servos (Arduino Uno + TCS34725)](https://flashready.in/projects/colour-sorting-machine): A TCS34725 colour sensor and two SG90 servos sort beads or sweets into six bins by colour — the classic exhibition machine, with hue maths you can explain.
- [Contactless infrared thermometer (Arduino Uno + MLX90614 + OLED)](https://flashready.in/projects/contactless-thermometer): Point an MLX90614 at an object and read its surface temperature on an OLED — infrared thermometry explained, no library needed for the sensor.
- [Bicycle speedometer and trip meter with a Nokia 5110 LCD (ESP32-C3 SuperMini)](https://flashready.in/projects/cycle-speedometer-nokia): A reed switch and a spoke magnet give speed, trip distance, ride time and an odometer on a sunlight-readable Nokia 5110 screen, powered by one 18650 cell.
- [Debate and elocution competition timer with warning lights (Arduino Uno)](https://flashready.in/projects/debate-competition-timer): A stage timer for debates, elocution and paper presentations: mm:ss countdown, green-yellow-red light stick, bells at 1 minute and time up, and overtime count.
- [Digital compass with a needle on an OLED (Arduino Uno + GY-271)](https://flashready.in/projects/digital-compass-oled): A GY-271 magnetometer and a 0.96" OLED make a digital compass: heading in degrees, 8-point direction and a needle, with button calibration saved in EEPROM.
- [Digital dice on an 8×8 LED matrix (Arduino Uno + MAX7219)](https://flashready.in/projects/digital-dice): Press a button and an 8×8 LED matrix tumbles and lands on 1–6 — a classic exhibition project with the MAX7219 driven directly.
- [Dual-axis solar tracker with four LDRs and two servos (Arduino Uno)](https://flashready.in/projects/dual-axis-solar-tracker): Four LDRs behind a cross-shaped shade tell an Uno where the sun is; two SG90 servos turn a small panel to face it and park towards the east at night.
- [Help button for elderly parents that alerts the whole family (Pico W)](https://flashready.in/projects/elderly-panic-button): One big button by the bed: press it and every family member’s phone gets an urgent alert within seconds. 5-second cancel, “I’m OK” check-in and a daily self-test.
- [E-paper shop rate board you update from your phone (XIAO ESP32S3)](https://flashready.in/projects/epaper-shop-rate-board): A 2.13" e-paper rate card for a sabzi, fruit or kirana shop. Edit prices from your phone over the board’s own Wi-Fi; the rates stay visible through power cuts.
- [ESP32-CAM doorbell that sends a photo to your phone](https://flashready.in/projects/esp32-cam-doorbell): Press the bell and an ESP32-CAM snaps a photo and pushes it to your phone with ntfy — no app server, no monthly fee.
- [Exam countdown clock on a 2.8" TFT — days, hours and a progress bar (Pico 2 W)](https://flashready.in/projects/exam-countdown-tft): A desk clock that counts down to your board exam, JEE or NEET in giant digits, synced to IST over Wi-Fi. MicroPython on a Pico 2 W drives a full-screen ILI9341 TFT.
- [Fibre ONT status monitor — fibre cut or ISP fault? (ESP32 + LDRs)](https://flashready.in/projects/fibre-ont-status-monitor): Two LDRs read your FTTH ONT’s PON and LOS lights while an ESP32 pings the router and 1.1.1.1, so the OLED says “fibre cut”, “ONT not registered” or “ISP fault”.
- [Fire-fighting robot model that finds and puts out a candle (Arduino Uno + flame sensors)](https://flashready.in/projects/fire-fighting-robot): A classic exhibition robot: three IR flame sensors steer it to a candle, then a relay-driven pump sprays water from a servo-swept nozzle until the flame is out.
- [Fire and smoke alarm with heat-rise detection (Arduino Uno + MQ-2 + DS18B20)](https://flashready.in/projects/fire-smoke-alarm): A shop or godown fire alarm that combines an MQ-2 smoke sensor with a DS18B20 for fixed-heat and rate-of-rise detection, and sounds a buzzer.
- [Winter fog risk indicator from the dew point (NodeMCU + SHT31)](https://flashready.in/projects/fog-risk-indicator): A NodeMCU and SHT31 track temperature and dew point through North Indian winter nights; a TM1637 display flashes FOG when the gap closes to 1 °C and fog is likely.
- [LPG gas leak alarm with SMS alert (Arduino Uno + MQ-6)](https://flashready.in/projects/gas-leak-alarm): Kitchen LPG leak alarm: an MQ-6 sensor sounds a siren and texts your phone through a SIM800L. Includes warm-up and calibration steps.
- [Touch-free recipe page turner with an APDS9960 gesture sensor (XIAO ESP32S3)](https://flashready.in/projects/gesture-recipe-page-turner): Masala on your hands? Wave over the sensor to scroll a recipe or pause the video. A thumb-sized XIAO ESP32S3 acts as a USB keyboard — no app, no pairing.
- [Geyser auto-off timer with countdown display (ESP32 + contactor)](https://flashready.in/projects/geyser-auto-off-timer): Press once for 15 minutes of hot water; the geyser switches itself off when time is up. A countdown display, a beep when the water is ready, and a contactor.
- [GPS tracker that texts its location (Arduino Uno + NEO-6M + SIM800L)](https://flashready.in/projects/gps-tracker-sms): Press a button or wait 30 minutes and the tracker sends a Google Maps link by SMS — NEO-6M GPS, SIM800L GSM and an Arduino Uno.
- [Grain storage humidity logger with phone alerts (XIAO ESP32C3 + SHT40, battery)](https://flashready.in/projects/grain-storage-humidity-logger): Damp grain grows mould and weevils. A XIAO ESP32C3 and SHT40 sleep inside the rice drum, check every 10 minutes and ping your phone when humidity passes 65 %.
- [GSM farm motor control by SMS (Arduino Uno + SIM800L)](https://flashready.in/projects/gsm-farm-motor-control): Switch a borewell or farm motor on and off by SMS from your phone, with a 2-hour auto-off. The Uno drives a contactor coil; only your number is obeyed.
- [Digital tachometer with a Hall sensor and magnet (Arduino Uno + A3144 + TM1637)](https://flashready.in/projects/hall-sensor-tachometer): Measure the RPM of a fan, wheel or motor without touching it: a magnet passes an A3144 Hall sensor and a TM1637 display shows the speed, updated twice a second.
- [HC-12 433 MHz link range tester for farm and building links (Nano)](https://flashready.in/projects/hc12-range-tester): Two Nanos with HC-12 radios: one echoes, one pings every second and shows the success rate and round-trip time, so you know where a field link will work.
- [HC-12 USB radio modem — a wireless Serial Monitor for your projects (LOLIN S2 Mini)](https://flashready.in/projects/hc12-usb-radio-modem): Plug an S2 Mini + HC-12 into your laptop and read a robot’s or field sensor’s Serial output from 100 m+ away over 433 MHz. A button switches the HC-12 to AT mode.
- [Heart-rate and SpO2 display with MAX30102 (ESP32 + OLED)](https://flashready.in/projects/heart-rate-oximeter): Read pulse and an SpO2 estimate from a fingertip with a MAX30102 and show it on an OLED — an ESP32 learning project, not a medical device.
- [Heat stress meter for kitchens and workshops (Arduino Nano + DHT22)](https://flashready.in/projects/heat-stress-meter): A Nano and DHT22 show the heat index — how hot it really feels with humidity — on an LCD with caution bands, and beep a rest-and-water warning in the Danger band.
- [Contact-free height measuring station for a school health camp (ESP32-C3 + VL53L1X)](https://flashready.in/projects/height-measuring-station): Stand under the sensor and your height appears on a big 4-digit display. A VL53L1X laser rangefinder looks down from a door-frame bracket; one button calibrates.
- [Hydroponic A/B nutrient doser with two peristaltic pumps (LOLIN S2 Mini + TB6612FNG)](https://flashready.in/projects/hydroponic-nutrient-doser): Two 12 V peristaltic pumps add nutrient A, then B, at the same time daily. An S2 Mini keeps time over Wi-Fi, never doses twice after a power cut, and has prime buttons.
- [Inverse-square law of light experiment (Arduino Uno + BH1750 + VL53L0X)](https://flashready.in/projects/inverse-square-law-light-experiment): A physics lab set-up: a lux sensor and a laser distance sensor on one carriage measure how light falls off with distance and fit the exponent — the law says −2.
- [Inverter battery monitor with backup-time estimate (ESP32 + INA219)](https://flashready.in/projects/inverter-battery-monitor): See your inverter battery’s voltage, charge %, power-cut duration and minutes of backup left on an OLED. An ESP32 + INA219 reads the 12 V battery safely.
- [Control a lamp with any TV remote (Arduino Uno)](https://flashready.in/projects/ir-remote-relay): Re-use a spare TV remote: a VS1838B IR receiver and an Arduino Uno toggle a lamp through a relay module, with mains safety rules.
- [Irrigation pump timer with RTC (ESP32 + DS3231)](https://flashready.in/projects/irrigation-timer): Run a farm or garden pump at fixed times every day with an ESP32 and a DS3231 clock that keeps time through power cuts. Relay drives a contactor, never the motor.
- [ISP link monitor — router and internet latency on an OLED (ESP32)](https://flashready.in/projects/isp-link-monitor): Tell at a glance whether it’s your Wi-Fi, your router or the ISP: an ESP32 times connections to the router, 1.1.1.1 and 8.8.8.8 and shows latency and uptime.
- [ISP outage logger with a phone-readable report (Pico W)](https://flashready.in/projects/isp-outage-logger): A Pico W checks the internet every 15 s, logs each outage’s start, end and minutes in IST to its flash, and serves the table on your LAN as complaint evidence.
- [Joystick-controlled robot arm with three servos (Arduino Uno)](https://flashready.in/projects/joystick-robot-arm): A three-servo robot arm — base, arm and gripper — steered by a thumb joystick on an Arduino Uno, with the servos on their own 5 V supply.
- [Keypad door lock with a servo latch (Arduino Uno)](https://flashready.in/projects/keypad-door-lock): Type a PIN on a 4×4 keypad to unlock a servo latch for five seconds — with lockout after three wrong tries. A model/cupboard project.
- [Kitchen air quality light bar for tadka smoke and agarbatti (SGP30)](https://flashready.in/projects/kitchen-air-quality-monitor): An ESP32-C3 SuperMini reads total VOCs from an SGP30 and shows them on an 8-LED bar, green to red: cooking fumes, incense, mosquito coils, cleaners and paint.
- [Snake game on an 8×8 LED matrix with a joystick (Arduino Uno + MAX7219)](https://flashready.in/projects/led-matrix-snake-game): The classic Nokia snake game on a MAX7219 8×8 LED matrix: steer with a joystick, eat, grow and speed up, then see your score in digits. No library needed.
- [Class library book tracker with 125 kHz RFID tags and a web list (Pico 2 W + RDM6300)](https://flashready.in/projects/library-book-tracker): Tap the student’s ID card, then the book’s tag: the loan is saved on the Pico 2 W and the school Wi-Fi shows which books are out and overdue. RDM6300, OLED, MicroPython.
- [Line follower robot with two IR sensors (Arduino Uno)](https://flashready.in/projects/line-follower-robot): The classic two-sensor line follower: TCRT5000 IR sensors either side of a black line, an L298N and an Arduino Uno.
- [Long-range LoRa weather node for farms (ESP32 + SX1278 + BME280)](https://flashready.in/projects/lora-weather-node): Send temperature, humidity and pressure from a field kilometres away with no Wi-Fi or SIM: an ESP32, SX1278 LoRa radio and BME280 sensor.
- [LPG cylinder gas-left monitor with refill alert (NodeMCU + HX711)](https://flashready.in/projects/lpg-cylinder-weight-monitor): Weighs your kitchen LPG cylinder to show kg of gas left, estimates the days remaining, and alerts your phone at 3 kg so you book the refill in time.
- [Mains voltage monitor with low/high alerts (ESP32 + ZMPT101B)](https://flashready.in/projects/mains-voltage-monitor): See your home’s supply voltage on an OLED and catch low or high voltage before it harms appliances. ESP32 + ZMPT101B, with a full mains safety checklist.
- [Mango ripeness checker with a TCS34725 colour sensor (ESP32-C3 SuperMini)](https://flashready.in/projects/mango-ripeness-checker): Press the sensor on the mango skin and get a hue reading and a 0–100 % ripeness score on an OLED. White-balance on paper, tune it for Alphonso, Kesar or Banganapalli.
- [Medicine reminder with a “taken” button (Arduino Uno + DS3231 + LCD)](https://flashready.in/projects/medicine-reminder): Beeps at each dose time until the tablets are taken and the button pressed, shows “MISSED” after 30 minutes, and keeps time through power cuts. For elderly parents.
- [Milk collection weighing scale with price display (Arduino Uno + HX711)](https://flashready.in/projects/milk-weighing-scale): A dairy collection scale: an HX711 load cell weighs the milk and a 16x2 LCD shows kilograms and the amount to pay the farmer. Includes the calibration steps.
- [Mini sumo robot for college robo-fests (Arduino Uno + HC-SR04)](https://flashready.in/projects/mini-sumo-robot): A mini sumo bot that waits the rule-book 5 seconds, sweeps for its opponent with an HC-SR04, charges, and backs off when its IR sensors see the white ring edge.
- [Mini indoor weather display with comfort label (ESP32 + ST7735 + AHT20)](https://flashready.in/projects/mini-weather-display): A 1.8" colour TFT shows room temperature, humidity, a "comfortable / hot & sticky" label and a temperature trend. ESP32, ST7735 and AHT20 sensor.
- [Read a DIN-rail energy meter over Modbus RS-485 and show it on Wi-Fi (ESP32-C6)](https://flashready.in/projects/modbus-energy-meter-wifi): An ESP32-C6 and a MAX485 read volts, amps, watts, PF and kWh from an SDM120-type Modbus meter every 10 s and serve them as a phone web page and JSON for Home Assistant.
- [Morse code trainer that decodes your keying (Arduino Uno + OLED)](https://flashready.in/projects/morse-code-trainer): Key Morse on one button and the OLED decodes it live. Trainer mode shows a random letter and checks your answer; dot length adapts to your speed in words per minute.
- [Motion-activated light with a PIR sensor (ESP32)](https://flashready.in/projects/motion-activated-light): Turn a lamp on when someone walks in and off a minute later — ESP32, HC-SR501 PIR and a relay module, with mains safety included.
- [Classroom seismograph with a scrolling OLED trace (Arduino Uno + MPU6050)](https://flashready.in/projects/mpu6050-seismograph): An MPU6050 accelerometer and a 0.96" OLED draw shaking as a live seismogram; a buzzer sounds above 0.15 g. A science-fair model, not an earthquake warning.
- [MQTT temperature and humidity node (ESP32 + DHT22)](https://flashready.in/projects/mqtt-sensor-node): An ESP32 that publishes DHT22 readings as JSON to your MQTT broker every 30 seconds — ready for Home Assistant or Node-RED.
- [MQTT weather station for Home Assistant (ESP32 + BME280)](https://flashready.in/projects/mqtt-weather-station): Publish temperature, humidity and pressure as JSON over MQTT every minute, ready for Home Assistant or Node-RED, with a last-will "offline" status.
- [Newton’s law of cooling experiment with a live graph (Pico W + 2 DS18B20 probes)](https://flashready.in/projects/newtons-law-of-cooling-logger): Log a cup of hot water cooling next to a room-air probe, watch the curve live on your phone, and get the cooling constant k from a fitted exponential.
- [NFC tag shortcuts for your PC — tap a tag to open an app or page (LOLIN S2 Mini)](https://flashready.in/projects/nfc-tag-pc-shortcuts): Stick NFC tags on your things and tap them on a PN532 reader: the S2 Mini, plugged in as a USB keyboard, opens an app, folder or web page. No software on the PC.
- [Wi-Fi NTP clock on a 16×2 I2C LCD (ESP32)](https://flashready.in/projects/ntp-lcd-clock): An always-accurate IST clock: ESP32 syncs time over Wi-Fi with NTP and shows it on a 16x2 I2C LCD, with auto-reconnect and a night backlight schedule.
- [Read-only OBD-II car dashboard — RPM, speed, coolant and battery (Nano ESP32 + MCP2515)](https://flashready.in/projects/obd2-car-dashboard): See RPM, speed, coolant temperature, battery voltage and engine load from your own car’s OBD-II port on an OLED. Read-only Mode 01 requests; never writes or clears codes.
- [Obstacle-avoiding robot with a scanning ultrasonic sensor (Arduino Uno)](https://flashready.in/projects/obstacle-avoiding-robot): Drives forward, stops for obstacles, looks left and right with a servo-mounted HC-SR04 and turns to the clearer side.
- [Parcel box delivery alert on a battery (ESP32-C3 SuperMini + reed switch)](https://flashready.in/projects/parcel-box-alert): Get a phone alert when the courier drops a parcel in your gate box. An ESP32-C3 sleeps on a Li-ion cell and wakes only when the lid opens. Months per charge.
- [Garage parking assistant with a ToF sensor and LED bar (Arduino Uno)](https://flashready.in/projects/parking-assistant): A VL53L0X laser distance sensor and an 8-LED bar guide you into the garage: green, yellow, red, then flashing at the stop point.
- [Measure g with a simple pendulum and an IR photogate (Arduino Uno)](https://flashready.in/projects/pendulum-g-experiment): A physics practical made precise: an IR sensor times every swing of a pendulum to the microsecond, averages the period and shows g = 4π²L/T² on an LCD.
- [360° product photo turntable with exact PIO stepping (Pico 2 W + A4988)](https://flashready.in/projects/photo-turntable-pio): For online sellers: a NEMA 17 turntable stops every 15°, beeps to shoot, and makes a perfect 24-photo spin of your product. The Pico 2 W’s PIO times every step pulse.
- [Two-gate photogate timer for speed and acceleration (Arduino Uno + IR sensors)](https://flashready.in/projects/photogate-speed-timer): Time a trolley on a ramp or a falling ball between two IR gates to the microsecond: the LCD shows the time, average speed and acceleration for physics practicals.
- [Internet latency display on a 4-digit LED (NodeMCU ESP8266 + TM1637)](https://flashready.in/projects/ping-latency-display): A desk display that shows your internet latency in milliseconds, updated every 5 seconds, with "----" when the connection is down. NodeMCU and TM1637.
- [Plant-growth time-lapse camera that saves to microSD (XIAO ESP32S3 Sense)](https://flashready.in/projects/plant-growth-timelapse): Film a seed sprouting over a week: the XIAO ESP32S3 Sense wakes every 5 minutes, saves a 1600×1200 JPEG to its own microSD slot and sleeps again.
- [Automatic plant watering system (ESP32)](https://flashready.in/projects/plant-watering-system): A capacitive soil sensor tells an ESP32 when to run a small 5 V pump — short bursts, soak time and a safety limit so a fault can’t flood the pot.
- [Poultry brooder temperature controller for chicks (ESP32 + DS18B20)](https://flashready.in/projects/poultry-brooder-controller): Keeps a chick brooder at the right temperature for each week — 33 °C in week 1, down to 21 °C — by switching the brooder lamps, with a too-hot/too-cold alarm.
- [Power-cut alert to your phone — no mains wiring (Pico W)](https://flashready.in/projects/power-cut-alert): Know the moment the electricity goes: a battery-backed Raspberry Pi Pico W watches its USB charger, beeps, and pushes a phone alert — without touching 230 V.
- [Pressure cooker whistle counter with alarm (Arduino Nano + sound sensor)](https://flashready.in/projects/pressure-cooker-whistle-counter): Set “3 whistles”, walk away, and it beeps when the cooker has whistled three times. A sound sensor, a 4-digit display and a buzzer on an Arduino Nano.
- [Heart-rate display with a live pulse wave (Arduino Uno + Pulse Sensor + OLED)](https://flashready.in/projects/pulse-sensor-heart-rate-display): A fingertip Pulse Sensor, an Uno and a 0.96" OLED show the pulse wave and beats per minute, with a beep on every beat. For learning how PPG works — not medical use.
- [Pump dry-run cut-off with a water flow sensor (NodeMCU ESP8266)](https://flashready.in/projects/pump-dry-run-cutoff): Stops your borewell or sump pump when no water flows, before the motor burns. A flow sensor on the pipe, a contactor-coil relay and an optional phone alert.
- [Home energy meter with electricity-bill estimate (ESP32 + PZEM-004T)](https://flashready.in/projects/pzem-energy-meter): Live volts, amps, watts and units on an OLED, plus a slab-wise ₹ bill estimate for the month. An ESP32 reads a PZEM-004T v3.0 over Modbus — no library.
- [Quiz buzzer system for 4 teams with lockout (Arduino Uno + TM1637 + WS2812B)](https://flashready.in/projects/quiz-buzzer-system): A school quiz buzzer: the first of four teams to press wins, its LEDs light in team colour, early pressers are locked out and the order of every press is logged.
- [Radar alarm for a cattle shed or godown with a 433 MHz HC-12 link (XIAO ESP32C3)](https://flashready.in/projects/radar-shed-alarm-hc12): An RCWL-0516 radar sees movement in the shed and a battery XIAO ESP32C3 sends it over HC-12 radio to a buzzer in the house, a few hundred metres away. No Wi-Fi needed.
- [Automatic railway level-crossing gate model (Arduino Uno + IR sensors + servo)](https://flashready.in/projects/railway-crossing-gate-model): A model railway crossing: IR sensors on both sides of the road close a servo boom, flash red lamps and ring a buzzer, then reopen only after the train has fully passed.
- [Rain alarm for drying clothes and grain (Arduino Uno + rain sensor)](https://flashready.in/projects/rain-alarm): Beeps the moment rain starts so you can bring in clothes, papad or drying grain. The sensor is powered only while reading, so the plate lasts much longer.
- [Three-day rain forecast display for farm and terrace (ESP32 + ST7735)](https://flashready.in/projects/rain-forecast-display): An ESP32 fetches the next three days of rain chance, rain in mm and max/min temperature for your exact location from Open-Meteo and shows them in colour.
- [Reaction timer game with a 4-digit display (Arduino Uno + TM1637)](https://flashready.in/projects/reaction-timer-game): Wait for GO, hit the button, see your reaction time in milliseconds — with false-start detection and a best score.
- [Office or college ID-card attendance to Google Sheets (ESP32 + RDM6300)](https://flashready.in/projects/rfid-125khz-attendance-sheets): Use the 125 kHz ID cards your staff or students already carry: tap in, tap out, and each entry lands in a Google Sheet with the time. ESP32 + RDM6300 + OLED.
- [RFID attendance system with OLED (ESP32 + RC522)](https://flashready.in/projects/rfid-attendance): Tap a card to check in or out: an ESP32 reads an RC522 RFID reader, shows the name on an OLED, beeps, and logs CSV over USB. Ready for Google Sheets.
- [RGB mood lamp with WS2812B LEDs and a rotary knob (Arduino Uno)](https://flashready.in/projects/rgb-mood-lamp): Eight addressable WS2812B LEDs and a rotary encoder: turn to pick a colour, press for breathe and rainbow modes.
- [Room climate monitor with BME280 and OLED (ESP32-C3 SuperMini)](https://flashready.in/projects/room-climate-monitor): Temperature, humidity, pressure and dew point on a 0.96" OLED — a thumb-sized ESP32-C3 SuperMini build with a BME280.
- [Temperature-controlled cooling fan for a router or ONT cabinet (XIAO ESP32C3)](https://flashready.in/projects/router-cabinet-cooling-fan): Routers and fibre ONTs in closed cabinets hit 45 °C in summer and drop out. An SHT40 and TB6612FNG run a 5 V fan only as hard as needed, with a phone alert at 50 °C.
- [Automatic router reboot when the internet hangs (ESP32 + relay)](https://flashready.in/projects/router-reboot-controller): An ESP32 checks the internet every minute and power-cycles a hung router through a relay on its 12 V DC lead — with limits so it never reboot-loops.
- [RS485 Modbus sensor reader for long cable runs (Arduino Uno + MAX485)](https://flashready.in/projects/rs485-modbus-sensor-reader): Read an industrial RS485 Modbus temperature/humidity sensor hundreds of metres away with an Uno and a ₹60 MAX485 module, with clear error messages on a 16×2 LCD.
- [Digital clock that keeps time through power cuts (Arduino Uno + DS3231)](https://flashready.in/projects/rtc-digital-clock): A DS3231 real-time clock and a TM1637 display make a clock that keeps exact time on its coin cell — the colon blinks every second.
- [Sargam piano with 8 keys and a buzzer (Arduino Uno + TM1637)](https://flashready.in/projects/sargam-buzzer-piano): Eight push buttons play Sa Re Ga Ma Pa Dha Ni Sa on a passive buzzer, the TM1637 shows the swar, and two keys together play the aaroh and avroh. Frequencies explained.
- [Automatic school bell timer with RTC and LCD (Arduino Uno + DS3231)](https://flashready.in/projects/school-bell-timer): Rings the school or factory bell on your period timetable — assembly, periods, breaks, home time — and keeps time through power cuts. Uno, DS3231, LCD and a relay.
- [Seed germination experiment logger with SD card (ESP32 + DS3231 + DHT22 + soil sensor)](https://flashready.in/projects/seed-germination-logger): A science-fair data logger: soil moisture, light, air temperature and humidity every 10 minutes to a CSV file on microSD, with real dates from a DS3231 and an OLED.
- [Two-wheel self-balancing robot with live PID tuning (ESP32 + MPU6050)](https://flashready.in/projects/self-balancing-robot): A two-wheeled robot that stands up by itself: an ESP32 fuses MPU6050 gyro and accelerometer data 200 times a second and a PID loop drives a TB6612FNG.
- [Shop customer counter with door chime (Arduino Nano + HC-SR04)](https://flashready.in/projects/shop-customer-counter): Counts people walking through your shop door with an ultrasonic sensor, chimes for each one, and shows today’s customers on a 4-digit display. Survives power cuts.
- [Shop shutter burglar alarm with SMS and call (Arduino Uno + SIM800L)](https://flashready.in/projects/shop-shutter-burglar-alarm): A night alarm for a shop: a shutter reed switch and a PIR sensor trigger a 12 V siren, an SMS and a phone call. Exit and entry delays, hidden arm button.
- [Queue token number display for a clinic or shop (Arduino Uno + TM1637)](https://flashready.in/projects/shop-token-display): A “now serving” token display for a clinic, ration shop or service counter: press NEXT, the number blinks and beeps. Keeps its count through power cuts.
- [Simon memory game with colours and tones (Arduino Uno + WS2812B + passive buzzer)](https://flashready.in/projects/simon-memory-game): Repeat a growing sequence of colours and tones. Four buttons, an LED stick and a passive buzzer; it speeds up as you go and keeps your best score in EEPROM.
- [Smart blind stick with ultrasonic obstacle alert (Arduino Nano)](https://flashready.in/projects/smart-blind-stick): An HC-SR04 on a walking stick and an Arduino Nano beep faster as obstacles get closer — a low-cost assistive project.
- [Touch-free smart dustbin (Arduino Uno + HC-SR04 + servo)](https://flashready.in/projects/smart-dustbin): A dustbin lid that opens when your hand comes near and closes after 3 seconds. HC-SR04 distance sensing and an SG90 servo on an Arduino Uno.
- [Smart pump controller with tank-full cut-off (ESP32)](https://flashready.in/projects/smart-pump-controller): Start your water pump from a phone browser and let a float switch stop it when the tank is full. The ESP32 drives a contactor coil, never the motor.
- [Soil moisture monitor with phone alert (Pico W, MicroPython)](https://flashready.in/projects/soil-moisture): A Raspberry Pi Pico W reads a capacitive soil moisture sensor, sleeps between checks, and sends a phone notification through ntfy.sh when the plant needs water.
- [Soil NPK, pH and moisture logger with an RS-485 7-in-1 sensor (Pico 2 W)](https://flashready.in/projects/soil-npk-logger): Read nitrogen, phosphorus, potassium, pH, EC, moisture and temperature from a 7-in-1 soil probe over Modbus, log a CSV in flash every 30 min and view it on your phone.
- [Solar panel voltage, current and energy monitor (ESP32 + INA219)](https://flashready.in/projects/solar-panel-monitor): Measure a small solar panel’s voltage, current, power and daily watt-hours with an INA219 and show them on an OLED. For 12 V panels up to 26 V and 3.2 A.
- [Solar water heater display — how many buckets of hot water? (Arduino Uno + DS18B20)](https://flashready.in/projects/solar-water-heater-display): Shows your solar water heater’s tank temperature and how many 20-litre buckets of 40 °C bath water it can give right now. Two DS18B20 probes and a 16x2 LCD.
- [Measure the speed of sound with an ultrasonic sensor (Arduino Uno + HC-SR04)](https://flashready.in/projects/speed-of-sound-experiment): A physics lab experiment: time ultrasonic echoes off a wall at known distances, get v = 2d/t, fit a straight line and compare with 331.3 + 0.606·T.
- [Spray window anemometer for pesticide spraying (Pico W + cup anemometer)](https://flashready.in/projects/spray-window-anemometer): A Pico W counts a cup anemometer’s pulses and lights an 8-LED bar: blue too calm, green spray, amber windy, red stop — so pesticide doesn’t drift onto people or crops.
- [Motion-sensing staircase step lights that sweep up and down (Arduino Nano + WS2812B)](https://flashready.in/projects/staircase-step-lights): Walk onto the stairs at night and the steps light up one by one in your direction, then fade out behind you. Two PIR sensors, an LDR and a WS2812B strip on a Nano.
- [Light-sensing curtain opener with a stepper motor (ESP32)](https://flashready.in/projects/stepper-curtain-opener): Opens the curtain at sunrise and closes it at dusk — ESP32, 28BYJ-48 stepper with ULN2003 driver and an LDR light sensor.
- [Cyclone and storm pressure alert from a barometer (Arduino Uno + BMP180)](https://flashready.in/projects/storm-pressure-alert): An Uno logs air pressure every hour and beeps when it falls fast — 3 hPa in 3 hours or 5 hPa in a day — the signature of an approaching cyclone or strong storm.
- [Sunrise wake-up light with internet time (ESP32-C3 SuperMini + WS2812B)](https://flashready.in/projects/sunrise-wake-up-light): Wake up to light instead of a shrill alarm: a WS2812B ring glows from deep red to warm white over 30 minutes before your wake time, set from your phone at flashing.
- [Sunshine hours logger before you install solar (ESP32-C3 + BH1750)](https://flashready.in/projects/sunshine-hours-logger): How many hours of bright sun does that roof corner or kitchen garden really get? A BH1750 and ESP32-C3 SuperMini log sun hours, peak lux and a rough kWh/m² a day.
- [Tally shortcut keypad — a 6-key USB keyboard for billing (ESP32-S3)](https://flashready.in/projects/tally-shortcut-keypad): Six big buttons that send TallyPrime voucher keys (F8 Sales, F9 Purchase, Ctrl+A save) to any PC as a USB keyboard. No driver, no app — the ESP32-S3 does USB.
- [Overhead tank overflow alarm (Arduino Uno + float switch)](https://flashready.in/projects/tank-overflow-alarm): Stop the overhead tank overflowing: a float switch near the top triggers a loud buzzer, with a 2-second check so splashes don’t cause false alarms.
- [Teach-and-repeat robot arm that remembers 40 poses (Arduino Uno)](https://flashready.in/projects/teach-and-repeat-robot-arm): Pose a 4-servo arm with four knobs, press RECORD at each step, then PLAY repeats the sequence smoothly in a loop. Poses are saved in EEPROM, so they survive power-off.
- [Three-phase failure and single-phasing protector for farm motors (Arduino Nano)](https://flashready.in/projects/three-phase-failure-protector): Watches R, Y and B phases with three ZMPT101B sensors and drops the motor starter’s contactor on a missing, low, high or unbalanced phase. Electrician-installed.
- [Tilt-controlled servo with an MPU-6050 (Arduino Uno)](https://flashready.in/projects/tilt-controlled-servo): Tilt the MPU-6050 and a servo follows the angle — a hands-on intro to accelerometers, I2C registers and smoothing.
- [Touch switch panel for two lamps with a phone page (ESP32 + TTP223)](https://flashready.in/projects/touch-switch-two-lamps): Replace two clicky switches with touch pads behind glass or acrylic, and switch the same two lamps from your phone on home Wi-Fi. Relays within rating, electrician-wired.
- [Backup battery power-cut alarm with SMS (Arduino Uno + INA219 + SIM800L)](https://flashready.in/projects/tower-power-alarm): For an ISP POP or rooftop node on 12 V backup: get an SMS when mains is lost and the battery starts discharging, when it runs low, and when charging resumes.
- [Four-way traffic junction model with countdown and pedestrian button (Arduino Uno)](https://flashready.in/projects/traffic-light-junction-model): A school traffic-signal model: four signal heads from one WS2812B strip, a TM1637 countdown, all-red safety gaps and a pedestrian WALK button.
- [Ultrasonic radar scanner with an OLED radar screen (Arduino Uno)](https://flashready.in/projects/ultrasonic-radar-scanner): A servo sweeps an HC-SR04 from 15° to 165°; the Uno draws every echo as a blip on a radar-style OLED screen and streams angle,distance pairs over Serial.
- [Uptime status board — 8 services on WS2812B LEDs (ESP32)](https://flashready.in/projects/uptime-status-board): One LED per service: green when it’s reachable, amber when slow, red when down. An ESP32 checks DNS, websites and your NAS every 30 seconds.
- [Walk-away PC lock with a VL53L1X distance sensor (ESP32-S3 USB keyboard)](https://flashready.in/projects/walk-away-pc-lock): Leave your desk and the PC locks itself: a VL53L1X watches your chair and the ESP32-S3, plugged in as a USB keyboard, presses Win+L after 12 seconds.
- [Wall-following maze robot with three ultrasonic sensors (Arduino Nano)](https://flashready.in/projects/wall-following-maze-robot): A Nano robot solves walled mazes by the left-hand rule: three HC-SR04s watch left, front and right, and a proportional controller holds it 8 cm from the left wall.
- [“Washing done” phone alert from vibration (ESP32-C3 SuperMini + MPU-6050)](https://flashready.in/projects/washing-machine-done-alert): Stick a tiny box on your washing machine: it feels the drum shaking, waits for the cycle to really finish, and sends one “washing done” alert to your phone.
- [Water leak detector with phone alert (Pico W, MicroPython)](https://flashready.in/projects/water-leak-detector): A sensor strip on the floor under the RO purifier, washing machine or AC drain: a loud buzzer and a high-priority phone alert the moment it gets wet.
- [Water tank level alarm with pump cut-off (ESP32)](https://flashready.in/projects/water-tank-alarm): Ultrasonic tank level on an LCD, overflow buzzer and safe automatic pump cut-off through a contactor. ESP32 code compile-checked in CI.
- [Household water usage meter in litres (NodeMCU + flow sensor)](https://flashready.in/projects/water-usage-meter): Count every litre that leaves your overhead tank: live flow, a resettable trip counter, a total that survives power cuts, and a warning when a tap is left running.
- [Automatic wet and dry waste segregator model (Arduino Uno + moisture plate + servo)](https://flashready.in/projects/wet-dry-waste-segregator): A Swachh Bharat exhibition model: drop waste on a flap, a moisture plate decides wet or dry, a servo tips it into the right bin and an LCD keeps count.
- [2.4 GHz Wi-Fi channel analyzer for crowded flats (ESP32 + ST7735)](https://flashready.in/projects/wifi-channel-analyzer): An ESP32 listens to the Wi-Fi networks around you, draws how crowded channels 1–13 are on a colour TFT and tells you which of 1, 6 or 11 your router should use.
- [Wi-Fi coverage mapper — find the dead zones room by room (ESP32-S3)](https://flashready.in/projects/wifi-coverage-mapper): Carry an ESP32-S3 on a power bank, press a button in each room: it averages 20 signal readings, notes the access point and router delay, and ranks your weak spots.
- [Wi-Fi rain gauge with IMD rain-day totals (ESP32 + tipping bucket)](https://flashready.in/projects/wifi-rain-gauge): Count tipping-bucket rain on an ESP32: today’s millimetres from 08:30 IST like IMD, the last hour’s rate, the IMD category and an optional heavy-rain alert.
- [Wi-Fi relay switch for a lamp (NodeMCU ESP8266)](https://flashready.in/projects/wifi-relay-switch): Switch a lamp from your phone over Wi-Fi with a NodeMCU ESP8266 and a relay module — with the mains safety rules spelled out.
- [Wi-Fi robot car driven from any phone browser (NodeMCU + L298N)](https://flashready.in/projects/wifi-robot-car): The car makes its own Wi-Fi network; open 192.168.4.1 on any phone and drive with on-screen arrows. No app, no router, no internet — and it stops if the link drops.
- [Wi-Fi signal strength logger with live graph (ESP32-C3 SuperMini + OLED)](https://flashready.in/projects/wifi-signal-logger): Walk around your house or office and watch Wi-Fi signal strength as a live graph on an OLED. Find dead spots and the best place for a router or extender.
- [Zigbee balcony temperature and humidity sensor that extends your mesh (ESP32-C6)](https://flashready.in/projects/zigbee-balcony-climate-sensor): The ESP32-C6 speaks Zigbee natively: an SHT40 on the balcony reports to Home Assistant or Zigbee2MQTT, and the C6 also relays your other Zigbee devices. No Wi-Fi needed.

## Boards

- [Boards — ESP32, Arduino and Raspberry Pi Pico](https://flashready.in/boards): Board hubs with interactive pinouts, safe-pin warnings, setup for Arduino IDE, PlatformIO and MicroPython, and compile-checked first programs.
- [Arduino Leonardo pinout, setup and projects](https://flashready.in/boards/arduino-leonardo): Interactive Arduino Leonardo pinout showing I2C on D2/D3, SPI on the ICSP header, 12 analog inputs and native USB serial, with upload fixes and a compile-checked blink.
- [Arduino Mega 2560 pinout, setup and projects](https://flashready.in/boards/arduino-mega-2560): Interactive Arduino Mega 2560 pinout with all 54 digital pins, 16 analog inputs, four serial ports, I2C on 20/21 and SPI on 50–53, plus a compile-checked blink.
- [Arduino Nano pinout, setup and projects](https://flashready.in/boards/arduino-nano): Interactive Arduino Nano pinout with PWM, I2C, SPI and the analog-only A6/A7 marked, old-bootloader upload fix, and a compile-checked blink.
- [Arduino Nano ESP32 pinout, setup and projects](https://flashready.in/boards/arduino-nano-esp32): Interactive Arduino Nano ESP32 pinout mapping D0–D13 and A0–A7 to ESP32-S3 GPIOs, B0/B1 boot pins, 3.3 V logic warnings, recovery steps and a compile-checked blink.
- [Arduino Pro Mini pinout, setup and projects](https://flashready.in/boards/arduino-pro-mini): Interactive Arduino Pro Mini pinout with RAW vs VCC, the hidden A4–A7 pads and FTDI upload wiring explained, 5 V vs 3.3 V versions, and a compile-checked blink.
- [Arduino Uno R3 pinout, setup and projects](https://flashready.in/boards/arduino-uno-r3): Interactive Arduino Uno R3 pinout with PWM, I2C, SPI and analog pins, current limits, Arduino IDE and PlatformIO setup, and compile-checked code.
- [ESP32-C3 SuperMini pinout, setup and projects](https://flashready.in/boards/esp32-c3-supermini): Interactive ESP32-C3 SuperMini pinout with the LED, BOOT and strapping pins marked, USB CDC setup for Arduino IDE and PlatformIO, and a compile-checked blink.
- [ESP32-C6-DevKitC-1 pinout, setup and projects](https://flashready.in/boards/esp32-c6-devkitc-1): Interactive ESP32-C6-DevKitC-1 pinout with strapping, USB and RGB LED pins marked, Arduino IDE (core 3.x) and MicroPython setup, and a compile-checked RGB blink.
- [ESP32-CAM (AI-Thinker) pinout, setup and projects](https://flashready.in/boards/esp32-cam): Interactive ESP32-CAM pinout showing which pins the camera, microSD and PSRAM use, how to upload without USB, and a compile-checked first sketch.
- [ESP32 DevKit V1 pinout, setup and projects](https://flashready.in/boards/esp32-devkit-v1): Interactive ESP32 DevKit V1 (30-pin) pinout with safe pins and boot-strapping warnings, Arduino IDE, PlatformIO and MicroPython setup, and compile-checked code.
- [ESP32 DevKitC 38-pin pinout, setup and projects](https://flashready.in/boards/esp32-devkitc-38pin): Interactive 38-pin ESP32 DevKitC pinout with the six flash pins, strapping pins and ADC2 marked, clone label differences, Arduino IDE setup and a compile-checked blink.
- [ESP32-S3-DevKitC-1 pinout, setup and projects](https://flashready.in/boards/esp32-s3-devkitc-1): Interactive ESP32-S3-DevKitC-1 pinout with strapping, PSRAM and USB pins marked, Arduino IDE, PlatformIO and MicroPython setup, and a compile-checked RGB blink.
- [LOLIN S2 Mini pinout, setup and projects](https://flashready.in/boards/lolin-s2-mini): Interactive LOLIN S2 Mini (ESP32-S2) pinout with all four pin rows, the 12/13 silkscreen swap and USB download-mode steps, plus Arduino and MicroPython setup.
- [NodeMCU ESP8266 pinout, setup and projects](https://flashready.in/boards/nodemcu-esp8266): Interactive NodeMCU ESP8266 pinout: D-pin to GPIO mapping, boot pins D3/D4/D8, the 0–3.2 V A0 input, Arduino IDE setup and a compile-checked blink.
- [Raspberry Pi Pico 2 W pinout, setup and projects](https://flashready.in/boards/pico-2-w): Interactive Raspberry Pi Pico 2 W (RP2350) pinout, the pull-down erratum and 5 V tolerance explained, MicroPython and Arduino setup, and compile-checked blink code.
- [Raspberry Pi Pico W pinout, setup and projects](https://flashready.in/boards/pico-w): Interactive Raspberry Pi Pico W pinout with I2C, SPI, UART and ADC pins, MicroPython and Arduino setup, power tips and compile-checked code.
- [Raspberry Pi Pico pinout, setup and projects](https://flashready.in/boards/raspberry-pi-pico): Interactive Raspberry Pi Pico (RP2040) pinout with I2C, SPI, UART and ADC options, MicroPython and Arduino setup, and a compile-checked MicroPython blink.
- [Wemos D1 mini (ESP8266) pinout, setup and projects](https://flashready.in/boards/wemos-d1-mini): Interactive Wemos D1 mini pinout with D-pin to GPIO mapping, boot pins and the A0 divider, Arduino IDE and PlatformIO setup, and a compile-checked blink.
- [Seeed XIAO ESP32C3 pinout, setup and projects](https://flashready.in/boards/xiao-esp32c3): Interactive Seeed XIAO ESP32C3 pinout with strapping and BOOT pins marked, battery charging notes, Arduino IDE and PlatformIO setup, and a compile-checked first sketch.
- [Seeed XIAO ESP32S3 pinout, setup and projects](https://flashready.in/boards/xiao-esp32s3): Interactive Seeed XIAO ESP32S3 pinout with strapping pin and active-low LED marked, PSRAM and battery notes, Arduino and MicroPython setup, and a compile-checked blink.

## Component guides (board + part + language)

- [HC-05 Bluetooth with Arduino Leonardo — Serial1 on D0/D1](https://flashready.in/boards/arduino-leonardo/hc-05-bluetooth/arduino): Connect an HC-05 to an Arduino Leonardo’s hardware Serial1 on D0/D1 with a divider on RXD, bridge it to the USB Serial Monitor and switch the LED from a phone.
- [Joystick with Arduino Leonardo — a USB mouse with an enable switch](https://flashready.in/boards/arduino-leonardo/joystick-module/arduino): Turn a KY-023 joystick and an Arduino Leonardo into a USB mouse: axes on A0/A1, click on D7, and a D4 enable switch so the sketch never takes over your PC.
- [4×4 keypad with Arduino Leonardo — a USB macro pad and numpad](https://flashready.in/boards/arduino-leonardo/keypad-4x4/arduino): Wire a 4×4 membrane keypad to an Arduino Leonardo on D4–D11 and turn it into a USB numpad with copy, paste, undo, save and Alt+Tab shortcuts.
- [RC522 RFID with Arduino Leonardo — ICSP SPI and a card-to-keyboard reader](https://flashready.in/boards/arduino-leonardo/rc522-rfid/arduino): Wire an RC522 to an Arduino Leonardo through the ICSP header’s SPI pins with a level shifter, and type each card’s UID into a spreadsheet as a USB keyboard.
- [Rotary encoder with Arduino Leonardo — a USB scroll wheel](https://flashready.in/boards/arduino-leonardo/rotary-encoder/arduino): Wire a KY-040 rotary encoder to an Arduino Leonardo (CLK D7, DT D8, SW D9) and use it as a USB mouse scroll wheel with a middle-click button.
- [SSD1306 OLED with Arduino Leonardo — I2C is on D2/D3](https://flashready.in/boards/arduino-leonardo/ssd1306-oled/arduino): Wire a 0.96" SSD1306 OLED to an Arduino Leonardo on SDA = D2 and SCL = D3 (not A4/A5), and show the USB serial port status and uptime.
- [DHT22 with Arduino Mega 2560 — temperature, humidity and daily min/max](https://flashready.in/boards/arduino-mega-2560/dht22/arduino): Wire a DHT22 to an Arduino Mega 2560 on pin 22 at 5 V and print temperature and humidity with running minimum and maximum values you can reset.
- [DS3231 RTC with Arduino Mega 2560 — daily alarm on the SQW interrupt](https://flashready.in/boards/arduino-mega-2560/ds3231-rtc/arduino): Wire a DS3231 to an Arduino Mega 2560 on SDA/SCL (20/21) with SQW on pin 2, and fire a daily 06:30 alarm by interrupt — for a bell or pump timer.
- [HC-05 Bluetooth with Arduino Mega 2560 — Serial1 data and AT mode](https://flashready.in/boards/arduino-mega-2560/hc-05-bluetooth/arduino): Connect an HC-05 to an Arduino Mega 2560 on Serial1 (pins 18/19) with a divider on RXD, control the LED from a phone, and change name or PIN in AT mode.
- [HC-12 433 MHz radio with Arduino Mega 2560 — Serial3 and AT settings](https://flashready.in/boards/arduino-mega-2560/hc-12/arduino): Wire an HC-12 wireless serial module to an Arduino Mega 2560 on Serial3 (pins 14/15) with SET on D22, read its settings in AT mode and bridge text to another HC-12.
- [4×4 keypad with Arduino Mega 2560 — a calculator on pins 22–36](https://flashready.in/boards/arduino-mega-2560/keypad-4x4/arduino): Wire a 4×4 membrane keypad to the Arduino Mega 2560’s double-row header (pins 22–36) and build a four-function calculator that prints to the Serial Monitor.
- [20×4 I2C LCD with Arduino Mega 2560 — wiring and code](https://flashready.in/boards/arduino-mega-2560/lcd-20x4-i2c/arduino): Connect a 20×4 character LCD with a PCF8574 I2C backpack to an Arduino Mega 2560 on SDA/SCL (pins 20/21) and print four lines of text.
- [MAX485 RS-485 with Arduino Mega 2560 — Modbus RTU master on Serial1](https://flashready.in/boards/arduino-mega-2560/max485-rs485/arduino): Wire a MAX485 module to an Arduino Mega 2560 on Serial1 with DE/RE on D2 and read holding registers from a Modbus RTU device — meters, VFDs, temperature controllers.
- [MicroSD card module with Arduino Mega 2560 — CSV data logger](https://flashready.in/boards/arduino-mega-2560/microsd-module/arduino): Wire a microSD card module to an Arduino Mega 2560 on SPI pins 50–53 and log analog readings to a CSV file every second that opens straight in Excel.
- [NEO-6M GPS with Arduino Mega 2560 — hardware Serial1, no lost data](https://flashready.in/boards/arduino-mega-2560/neo-6m-gps/arduino): Connect a NEO-6M GPS to an Arduino Mega 2560 on Serial1 (pins 18/19) and print position, speed, altitude and HDOP with TinyGPSPlus — no SoftwareSerial.
- [nRF24L01 with Arduino Mega 2560 — a base station for five nodes](https://flashready.in/boards/arduino-mega-2560/nrf24l01/arduino): Wire an nRF24L01+ to an Arduino Mega 2560 on SPI pins 50–53 and listen to up to five sensor nodes at once on separate pipes with the RF24 library.
- [RC522 RFID with Arduino Mega 2560 — SPI on pins 50–53](https://flashready.in/boards/arduino-mega-2560/rc522-rfid/arduino): Wire an RC522 RFID reader to an Arduino Mega 2560 on SPI pins 50–53 with 3.3 V power and a level shifter, then enrol and recognise up to 20 cards.
- [SIM800L GSM with Arduino Mega 2560 — Serial2, 4 V supply and AT tests](https://flashready.in/boards/arduino-mega-2560/sim800l-gsm/arduino): Power a SIM800L from a 4 V buck converter, connect it to an Arduino Mega 2560 on Serial2 (pins 16/17) with a divider, check SIM and network, then send AT commands.
- [SSD1306 OLED with Arduino Mega 2560 — I2C on 20/21 and a live graph](https://flashready.in/boards/arduino-mega-2560/ssd1306-oled/arduino): Wire a 0.96" SSD1306 OLED to an Arduino Mega 2560 on SDA/SCL (pins 20/21) and draw a scrolling graph of the voltage on A0 at 400 kHz I2C.
- [1.8" ST7735 TFT with Arduino Mega 2560 — SPI 50–53 and a flicker-free canvas](https://flashready.in/boards/arduino-mega-2560/st7735-tft/arduino): Wire a 1.8" ST7735 colour TFT to an Arduino Mega 2560 on hardware SPI with dividers for 3.3 V logic, draw text and colours, and update numbers without flicker.
- [WS2812B strip with Arduino Mega 2560 — 300 LEDs and how to power them](https://flashready.in/boards/arduino-mega-2560/ws2812b-led/arduino): Drive a 5 m, 300-LED WS2812B strip from an Arduino Mega 2560 on pin 6, with a 5 V 10 A supply, power injection and a comet animation that fits in RAM.
- [BME280 with Arduino Nano ESP32 — I2C on A4/A5](https://flashready.in/boards/arduino-nano-esp32/bme280/arduino): Read temperature, humidity and pressure from a BME280 on an Arduino Nano ESP32 over I2C on A4/A5, powered from 3V3.
- [DHT22 with Arduino Nano ESP32 — wiring and code](https://flashready.in/boards/arduino-nano-esp32/dht22/arduino): Wire a DHT22 to an Arduino Nano ESP32 on D2 at 3.3 V, and why writing D2 (not 2) keeps the sketch right under either Pin Numbering setting.
- [HC-SR04 with Arduino Nano ESP32 — divider needed](https://flashready.in/boards/arduino-nano-esp32/hc-sr04/arduino): Wire an HC-SR04 to an Arduino Nano ESP32: VCC on VBUS, Trig on D3, Echo on D2 through a 1 kΩ / 2 kΩ divider — unlike on a classic 5 V Nano.
- [16x2 I2C LCD with Arduino Nano ESP32 — 5 V LCD, 3.3 V board](https://flashready.in/boards/arduino-nano-esp32/lcd-16x2-i2c/arduino): Run a 5 V 16x2 I2C LCD from an Arduino Nano ESP32: LCD on VBUS, A4/A5 through a BSS138 level shifter, address 0x27 or 0x3F.
- [Relay module with Arduino Nano ESP32 — wiring and code](https://flashready.in/boards/arduino-nano-esp32/relay-module/arduino): Switch a 3.3 V-trigger relay module from D7 of an Arduino Nano ESP32, coil on VBUS, relay off during boot, with the yellow LED as status.
- [SG90 servo with Arduino Nano ESP32 — ESP32Servo on D9](https://flashready.in/boards/arduino-nano-esp32/sg90-servo/arduino): Drive an SG90 servo from D9 of an Arduino Nano ESP32 with ESP32Servo (the AVR Servo library won’t work), powered from its own 5 V supply.
- [SSD1306 OLED with Arduino Nano ESP32 — I2C on A4/A5](https://flashready.in/boards/arduino-nano-esp32/ssd1306-oled/arduino): Show text on an SSD1306 OLED from an Arduino Nano ESP32 using the Nano’s usual I2C pins, A4 (SDA) and A5 (SCL), powered from 3V3.
- [WS2812B LED strip with Arduino Nano ESP32](https://flashready.in/boards/arduino-nano-esp32/ws2812b-led/arduino): Drive a WS2812B strip from D6 of an Arduino Nano ESP32: 330 Ω, own 5 V supply, and the Pin Numbering setting Adafruit NeoPixel needs on this board.
- [74HC595 shift register with Arduino Nano — 8 LEDs from 3 pins via SPI](https://flashready.in/boards/arduino-nano/74hc595/arduino): Wire a 74HC595 to an Arduino Nano on the hardware SPI pins (D11, D13) with a latch on D10, and drive eight LEDs as a scanner — faster than shiftOut().
- [A4988 stepper driver with Arduino Nano — NEMA 17 on STEP/DIR](https://flashready.in/boards/arduino-nano/a4988-stepper/arduino): Wire an A4988 driver to an Arduino Nano (STEP D3, DIR D2, EN D4) with a 12 V motor supply, set the current limit and turn a NEMA 17 with AccelStepper.
- [Active buzzer with Arduino Nano — chirp, double beep and alarm patterns](https://flashready.in/boards/arduino-nano/active-buzzer-module/arduino): Wire an active buzzer module to an Arduino Nano on D8 and play three reusable alert patterns, and learn why tone() is the wrong call for it.
- [BME280 with Arduino Nano — 3.3 V sensor on a 5 V board](https://flashready.in/boards/arduino-nano/bme280/arduino): Wire a 3.3 V-only BME280 to an Arduino Nano through a level shifter on A4/A5, then read temperature, humidity, pressure and altitude.
- [Capacitive soil moisture sensor with Arduino Nano — calibrated % on A6](https://flashready.in/boards/arduino-nano/capacitive-soil-moisture/arduino): Wire a capacitive soil moisture sensor v1.2 to an Arduino Nano on the analog-only A6, calibrate dry and wet from the Serial Monitor and print moisture in %.
- [DHT11 with Arduino Nano — humidity warning LED for the monsoon](https://flashready.in/boards/arduino-nano/dht11/arduino): Connect a 3-pin DHT11 module to an Arduino Nano on D4, print temperature and humidity, and light the on-board LED when the room passes 75 % RH.
- [DHT22 with Arduino Nano — temperature and humidity on D2](https://flashready.in/boards/arduino-nano/dht22/arduino): Wire a DHT22 (AM2302) to an Arduino Nano on D2 at 5 V with the right pull-up, read temperature, humidity and heat index, and avoid the A6/A7 trap.
- [DS18B20 with Arduino Nano — one or many probes on D2](https://flashready.in/boards/arduino-nano/ds18b20/arduino): Wire one or more waterproof DS18B20 probes to an Arduino Nano on D2 with a 4.7 kΩ pull-up and print every probe’s temperature every second.
- [DS3231 RTC with Arduino Nano — accurate time and the battery-charging trap](https://flashready.in/boards/arduino-nano/ds3231-rtc/arduino): Wire a DS3231 real-time clock to an Arduino Nano on A4/A5, set it from the compile time, print date, time and temperature, and fix the ZS-042 charging issue.
- [HC-05 Bluetooth with Arduino Nano — phone control via SoftwareSerial](https://flashready.in/boards/arduino-nano/hc-05-bluetooth/arduino): Connect an HC-05 to an Arduino Nano on D10/D11 with a divider on RXD, pair a phone, and switch the on-board LED by sending 1 or 0.
- [HC-SR04 with Arduino Nano — ultrasonic distance on a breadboard](https://flashready.in/boards/arduino-nano/hc-sr04/arduino): Wire an HC-SR04 to an Arduino Nano on D2/D3 at 5 V and print distance in centimetres, lighting the on-board LED when something is close.
- [HX711 load cell with Arduino Nano — kitchen scale with tare and calibration](https://flashready.in/boards/arduino-nano/hx711-load-cell/arduino): Wire an HX711 and a load cell to an Arduino Nano (DT D3, SCK D2), tare it, calibrate with a known weight from the Serial Monitor and read grams.
- [INA219 with Arduino Nano — measure a 12 V load’s current and power](https://flashready.in/boards/arduino-nano/ina219/arduino): Wire an INA219 to an Arduino Nano on A4/A5, put it in series with a 12 V load, and log volts, milliamps, watts and mAh used once a second.
- [VS1838B IR receiver with Arduino Nano — decode any TV remote](https://flashready.in/boards/arduino-nano/ir-receiver-vs1838b/arduino): Wire a VS1838B IR receiver to an Arduino Nano on D2, decode NEC and other remotes with IRremote 4.x, and know which pins and timers it takes.
- [Joystick module with Arduino Nano — use A6/A7 for the axes](https://flashready.in/boards/arduino-nano/joystick-module/arduino): Wire a KY-023 dual-axis joystick to an Arduino Nano using the analog-only A6/A7 pins, calibrate the centre and print direction and button state.
- [4×4 keypad with Arduino Nano — PIN-code entry on D2–D9](https://flashready.in/boards/arduino-nano/keypad-4x4/arduino): Wire a 4×4 membrane keypad to an Arduino Nano on D2–D9, read keys with the Keypad library, and check a 4-digit PIN that lights the on-board LED.
- [L298N with Arduino Nano — two DC motors for a robot car](https://flashready.in/boards/arduino-nano/l298n-driver/arduino): Wire an L298N motor driver to an Arduino Nano with PWM speed on D5/D6, power both from a 2-cell battery, and run forward, turn and reverse.
- [16×2 I2C LCD with Arduino Nano — wiring, address and a 5 V rail meter](https://flashready.in/boards/arduino-nano/lcd-16x2-i2c/arduino): Connect a 16×2 LCD with a PCF8574 backpack to an Arduino Nano on A4/A5, print text, and show the Nano’s own 5 V supply voltage on line two.
- [LDR light sensor with Arduino Nano — automatic night lamp](https://flashready.in/boards/arduino-nano/ldr-module/arduino): Connect an LDR light-sensor module to an Arduino Nano with AO on A6 and DO on D3, and switch a lamp at dusk with hysteresis so it never flickers.
- [LM35 with Arduino Nano — 0.1 °C readings using the 1.1 V reference](https://flashready.in/boards/arduino-nano/lm35/arduino): Wire an LM35 to an Arduino Nano on A0 and switch the ADC to the internal 1.1 V reference for five times finer temperature steps than the default 5 V.
- [MAX7219 LED matrix with Arduino Nano — scrolling text on an FC-16](https://flashready.in/boards/arduino-nano/max7219-matrix/arduino): Drive a 4-in-1 MAX7219 (FC-16) LED matrix from an Arduino Nano on hardware SPI (D10, D11, D13) and scroll a message with the MD_MAX72XX library.
- [MPU6050 with Arduino Nano — pitch and roll over I2C](https://flashready.in/boards/arduino-nano/mpu6050/arduino): Wire an MPU6050 (GY-521) to an Arduino Nano on A4/A5, read acceleration and rotation, and print pitch and roll angles in degrees.
- [MQ-2 gas sensor with Arduino Nano — LPG and smoke alarm on A7](https://flashready.in/boards/arduino-nano/mq-2/arduino): Wire an MQ-2 gas module to an Arduino Nano with AO on the analog-only A7 and DO on D2, warm it up, and raise an LED alarm above a threshold.
- [NEO-6M GPS with Arduino Nano — position and IST time over SoftwareSerial](https://flashready.in/boards/arduino-nano/neo-6m-gps/arduino): Connect a NEO-6M GPS module to an Arduino Nano with SoftwareSerial on D4/D3, parse it with TinyGPSPlus and print latitude, longitude, satellites and IST.
- [nRF24L01 with Arduino Nano — a 2-Nano radio link that actually works](https://flashready.in/boards/arduino-nano/nrf24l01/arduino): Wire an nRF24L01+ to an Arduino Nano on hardware SPI with a proper 3.3 V supply, then send a counter from one Nano to another with RF24.
- [HC-SR501 PIR with Arduino Nano — motion on interrupt pin D2](https://flashready.in/boards/arduino-nano/pir-hc-sr501/arduino): Connect an HC-SR501 PIR sensor to an Arduino Nano on D2 (INT0), wait out the warm-up, and log when motion starts and how long it lasts.
- [Potentiometer with Arduino Nano — read A6 and set a blink speed](https://flashready.in/boards/arduino-nano/potentiometer/arduino): Wire a 10 kΩ potentiometer to an Arduino Nano with the wiper on the analog-only A6, print raw value, volts and percent, and use it to set the LED blink rate.
- [Push button with Arduino Nano — debounce, toggle and long press](https://flashready.in/boards/arduino-nano/push-button/arduino): Wire a push button to an Arduino Nano between D2 and GND with the internal pull-up, debounce it in software, toggle the LED and detect a long press.
- [RC522 RFID with Arduino Nano — 3.3 V wiring done properly](https://flashready.in/boards/arduino-nano/rc522-rfid/arduino): Connect an RC522 RFID reader to an Arduino Nano on SPI with a 3.3 V regulator and a level shifter, read card UIDs and flag one allowed card.
- [Relay module with Arduino Nano — no click at boot, Serial on/off](https://flashready.in/boards/arduino-nano/relay-module/arduino): Switch a 5 V relay module from an Arduino Nano on D7, keep it off during power-up, and control it from the Serial Monitor. Mains wiring: electrician only.
- [KY-040 rotary encoder with Arduino Nano — interrupts on D2/D3](https://flashready.in/boards/arduino-nano/rotary-encoder/arduino): Read a KY-040 rotary encoder on the Arduino Nano’s two interrupt pins with a bounce-proof state table — no library — plus the push switch on D4.
- [SG90 servo with Arduino Nano — wiring, power and Serial control](https://flashready.in/boards/arduino-nano/sg90-servo/arduino): Drive an SG90 micro servo from an Arduino Nano on D9, type an angle in the Serial Monitor, and learn when the Nano’s 5V pin is not enough.
- [KY-038 sound sensor with Arduino Nano — clap switch and loudness](https://flashready.in/boards/arduino-nano/sound-sensor-ky038/arduino): Wire a KY-038 sound sensor to an Arduino Nano (A0 to A0, D0 to D2), toggle the LED with a clap, and measure loudness as a peak-to-peak value.
- [SSD1306 OLED with Arduino Nano — I2C on A4/A5 and the RAM catch](https://flashready.in/boards/arduino-nano/ssd1306-oled/arduino): Wire a 0.96" SSD1306 I2C OLED to an Arduino Nano on A4/A5 at 5 V and show text, uptime and free RAM — the frame buffer uses half the Nano’s memory.
- [SX1278 LoRa (Ra-02) with Arduino Nano — 433 MHz link with level shifting](https://flashready.in/boards/arduino-nano/sx1278-lora/arduino): Wire a 3.3 V SX1278 Ra-02 LoRa module to a 5 V Arduino Nano through a level shifter and regulator, then send and receive packets with RSSI.
- [TM1637 display with Arduino Nano — a 5-minute countdown timer](https://flashready.in/boards/arduino-nano/tm1637-display/arduino): Wire a TM1637 4-digit 7-segment display to an Arduino Nano on D2/D3 and build a countdown timer with a blinking colon and a flashing finish.
- [28BYJ-48 stepper and ULN2003 with Arduino Nano — smooth half-steps](https://flashready.in/boards/arduino-nano/uln2003-stepper/arduino): Drive a 28BYJ-48 stepper through a ULN2003 board from an Arduino Nano on D8–D11, with AccelStepper half-stepping and acceleration, one turn each way.
- [VL53L0X ToF sensor with Arduino Nano — millimetre distance over I2C](https://flashready.in/boards/arduino-nano/vl53l0x/arduino): Wire a VL53L0X time-of-flight distance sensor to an Arduino Nano on A4/A5 at 5 V and read distance in millimetres with the Pololu library.
- [WS2812B LED strip with Arduino Nano — wiring, power and RAM limits](https://flashready.in/boards/arduino-nano/ws2812b-led/arduino): Drive a WS2812B (NeoPixel) strip from an Arduino Nano on D6 with a 330 Ω resistor, run a rainbow, and size the power supply and LED count correctly.
- [DHT22 with Arduino Pro Mini — battery logger with sleep and sensor power-off](https://flashready.in/boards/arduino-pro-mini/dht22/arduino): Run a DHT22 from an Arduino Pro Mini that powers the sensor from D4 only while reading and sleeps between readings — the basis of a long-life battery node.
- [DS18B20 with Arduino Pro Mini — a soldered-in water temperature monitor](https://flashready.in/boards/arduino-pro-mini/ds18b20/arduino): Wire a DS18B20 probe to an Arduino Pro Mini on D2 with a 4.7 kΩ pull-up to VCC, read it without blocking, and light the LED when water passes 60 °C.
- [HC-SR04 with Arduino Pro Mini — compact water-tank level sensor](https://flashready.in/boards/arduino-pro-mini/hc-sr04/arduino): Wire an HC-SR04 to a 5 V Arduino Pro Mini on D2/D3, take a median of five pings and convert the distance into a tank-full percentage.
- [nRF24L01 with Arduino Pro Mini — low-power wireless sensor node](https://flashready.in/boards/arduino-pro-mini/nrf24l01/arduino): Wire an nRF24L01+ to an Arduino Pro Mini on SPI (D9–D13) with a 3.3 V supply and send the battery voltage to a base station, powering the radio down between sends.
- [HC-SR501 PIR with Arduino Pro Mini — sleep until motion wakes it](https://flashready.in/boards/arduino-pro-mini/pir-hc-sr501/arduino): Wire an HC-SR501 PIR to an Arduino Pro Mini on D2, put the ATmega328P into power-down sleep and wake it with a pin-change interrupt when motion starts or ends.
- [SSD1306 OLED with Arduino Pro Mini — I2C on the hidden A4/A5 pads](https://flashready.in/boards/arduino-pro-mini/ssd1306-oled/arduino): Connect a 0.96" SSD1306 OLED to an Arduino Pro Mini using the inner A4 (SDA) and A5 (SCL) pads, and show the supply voltage and uptime.
- [74HC595 shift register with Arduino Uno — 8 LEDs from 3 pins](https://flashready.in/boards/arduino-uno-r3/74hc595/arduino): Wire a 74HC595 to an Arduino Uno R3 (DS D11, latch D8, clock D12), drive 8 LEDs with shiftOut(), and stay inside the chip’s 70 mA total limit.
- [A4988 stepper driver with Arduino Uno — NEMA 17 wiring and AccelStepper](https://flashready.in/boards/arduino-uno-r3/a4988-stepper/arduino): Wire an A4988 and NEMA 17 to an Arduino Uno R3 (STEP D3, DIR D4, EN D8, 12 V on VMOT), set the current limit and move with acceleration.
- [ACS712 current sensor with Arduino Uno — DC amps, zero and resolution](https://flashready.in/boards/arduino-uno-r3/acs712/arduino): Wire an ACS712 (5/20/30 A) to an Arduino Uno R3 on A0, zero it at start-up and measure DC load current — with what the 10-bit ADC can really resolve.
- [Active buzzer module with Arduino Uno — wiring and beep patterns](https://flashready.in/boards/arduino-uno-r3/active-buzzer-module/arduino): Wire an active buzzer module to an Arduino Uno R3 on D8, handle high- and low-level trigger boards, and make beep, warning and alarm patterns.
- [ADXL345 with Arduino Uno — level-shifted I2C and a tilt alarm](https://flashready.in/boards/arduino-uno-r3/adxl345/arduino): Connect a GY-291 ADXL345 to an Arduino Uno R3 through an I2C level shifter (CS to 3.3V, SDO to GND = 0x53) and light the LED when it tilts past 20°.
- [AHT20 with Arduino Uno — I2C temperature and humidity](https://flashready.in/boards/arduino-uno-r3/aht20/arduino): Wire an AHT20 sensor to an Arduino Uno R3 over I2C at 5 V and read temperature and humidity with the Adafruit AHTX0 library — a better DHT11/DHT22 swap.
- [APDS-9960 gesture sensor with Arduino Uno — 3.3 V power and level shifting](https://flashready.in/boards/arduino-uno-r3/apds9960/arduino): Wire a GY-9960 APDS-9960 to an Arduino Uno R3 the safe way — 3.3V power, an I2C level shifter — and read up, down, left and right swipe gestures.
- [BH1750 light sensor with Arduino Uno — real lux readings over I2C](https://flashready.in/boards/arduino-uno-r3/bh1750/arduino): Wire a GY-302 BH1750 to an Arduino Uno R3 over I2C, set its address with ADDR, and read calibrated light levels in lux from a dark room to direct sun.
- [BME280 with Arduino Uno — safe 3.3 V wiring and weather readings](https://flashready.in/boards/arduino-uno-r3/bme280/arduino): Connect a 3.3 V BME280 to a 5 V Arduino Uno R3 with a level shifter, check the chip ID (BME vs BMP) and log temperature, humidity and pressure.
- [BMP280 with Arduino Uno — 3.3 V wiring, level shifting and code](https://flashready.in/boards/arduino-uno-r3/bmp280/arduino): Wire a 3.3 V BMP280 board to a 5 V Arduino Uno R3 safely (3.3V supply, I2C level shifter), then read temperature, pressure and altitude.
- [Capacitive soil moisture sensor with Arduino Uno — calibrate and read %](https://flashready.in/boards/arduino-uno-r3/capacitive-soil-moisture/arduino): Wire a capacitive soil moisture sensor v1.2 to an Arduino Uno R3 on A0, calibrate dry and wet values and print soil moisture as a percentage.
- [DHT11 with Arduino Uno — wiring, code and its limits](https://flashready.in/boards/arduino-uno-r3/dht11/arduino): Wire a 3-pin DHT11 module to an Arduino Uno R3 on D2 at 5 V and print whole-degree temperature, humidity and heat index once every 2 seconds.
- [DHT22 with Arduino Uno — wiring and code](https://flashready.in/boards/arduino-uno-r3/dht22/arduino): Wire a DHT22 / AM2302 to an Arduino Uno R3 on pin D2 at 5 V with a pull-up, and print temperature and humidity to the Serial Monitor.
- [DS18B20 with Arduino Uno — temperature probe wiring and code](https://flashready.in/boards/arduino-uno-r3/ds18b20/arduino): Wire a DS18B20 or waterproof probe to an Arduino Uno on D2 with a 4.7 kΩ pull-up and read temperatures with the DallasTemperature library.
- [DS1307 RTC (Tiny RTC) with Arduino Uno — wiring, setting and drift](https://flashready.in/boards/arduino-uno-r3/ds1307-rtc/arduino): Wire a DS1307 Tiny RTC module to an Arduino Uno R3 at 5 V over I2C, start the halted clock once, and print the date and time with RTClib.
- [DS3231 RTC with Arduino Uno — set the time once, keep it through power cuts](https://flashready.in/boards/arduino-uno-r3/ds3231-rtc/arduino): Wire a DS3231 real-time clock to an Arduino Uno R3 over I2C, set it from your PC’s clock only when it lost power, and print date, time and temperature.
- [2.13″ e-paper with Arduino Uno — dividers and paged drawing in 2 KB](https://flashready.in/boards/arduino-uno-r3/epaper-2in13/arduino): Run a 2.13″ SSD1680 e-paper from an Arduino Uno R3: 3.3 V power, 1 kΩ / 2 kΩ dividers on five SPI lines, and GxEPD2 paging with a 512-byte buffer.
- [Flame sensor with Arduino Uno — wiring, threshold and false alarms](https://flashready.in/boards/arduino-uno-r3/flame-sensor/arduino): Wire a 4-pin IR flame sensor to an Arduino Uno R3 (DO on D2, AO on A0), set the threshold pot and learn why sunlight and lamps trigger it.
- [HC-05 Bluetooth with Arduino Uno — SoftwareSerial wiring and phone control](https://flashready.in/boards/arduino-uno-r3/hc-05-bluetooth/arduino): Connect an HC-05 to an Arduino Uno R3 on D10/D11 with a divider on RXD, pair it with an Android phone and switch the on-board LED from a terminal app.
- [HC-12 433 MHz radio with Arduino Uno — SoftwareSerial beacon and bridge](https://flashready.in/boards/arduino-uno-r3/hc-12/arduino): Wire an HC-12 to an Arduino Uno R3 on SoftwareSerial (D10/D11) with SET on D12, read its settings, and send a numbered beacon every 5 seconds.
- [HC-SR04 with Arduino Uno — ultrasonic distance wiring and code](https://flashready.in/boards/arduino-uno-r3/hc-sr04/arduino): Wire an HC-SR04 ultrasonic sensor to an Arduino Uno on D7/D8 — no divider needed at 5 V — and print distance in centimetres.
- [GY-271 compass (QMC5883L / HMC5883L) with Arduino Uno — heading and calibration](https://flashready.in/boards/arduino-uno-r3/hmc5883l/arduino): Wire a GY-271 compass to an Arduino Uno R3, detect whether it carries a QMC5883L (0x0D) or a real HMC5883L (0x1E), then read a calibrated heading.
- [HX711 load cell with Arduino Uno — wiring, tare and calibration](https://flashready.in/boards/arduino-uno-r3/hx711-load-cell/arduino): Wire an HX711 and a bar load cell to an Arduino Uno R3 (DT D2, SCK D3), tare the platform and calibrate with a known weight from the Serial Monitor.
- [INA219 current sensor with Arduino Uno — measure volts, amps and watts](https://flashready.in/boards/arduino-uno-r3/ina219/arduino): Wire an INA219 to an Arduino Uno R3 over I2C, put it on the high side of a 12 V load with a common ground, and log voltage, current and power.
- [IR obstacle sensor (FC-51) with Arduino Uno — wiring and object counter](https://flashready.in/boards/arduino-uno-r3/ir-obstacle-sensor/arduino): Wire an FC-51 IR obstacle sensor to an Arduino Uno R3 on D2, set its range with the pot, and count objects passing in front of it.
- [IR receiver (VS1838B) with Arduino Uno — decode any remote](https://flashready.in/boards/arduino-uno-r3/ir-receiver-vs1838b/arduino): Wire a VS1838B IR receiver to an Arduino Uno R3 on D2 and decode TV, AC and set-top-box remote buttons with IRremote 4.x, including repeats.
- [Joystick module with Arduino Uno — read X, Y and the button](https://flashready.in/boards/arduino-uno-r3/joystick-module/arduino): Wire a KY-023 style joystick to an Arduino Uno R3 (VRx A0, VRy A1, SW D2), calibrate the centre, add a deadzone and read direction and button.
- [4×4 keypad with Arduino Uno — wiring and Keypad library code](https://flashready.in/boards/arduino-uno-r3/keypad-4x4/arduino): Connect a 4×4 membrane keypad to an Arduino Uno on D2–D9 and read keys, collect a code and clear it with the Keypad library.
- [L298N motor driver with Arduino Uno — two DC motors, speed and direction](https://flashready.in/boards/arduino-uno-r3/l298n-driver/arduino): Wire an L298N to an Arduino Uno R3 with PWM speed on D5/D6, direction on D7–D10 and a separate battery with common GND, then run a motor test.
- [16x2 I2C LCD with Arduino Uno — wiring and code](https://flashready.in/boards/arduino-uno-r3/lcd-16x2-i2c/arduino): Wire a 16x2 LCD with a PCF8574 I2C backpack to an Arduino Uno R3 (SDA, SCL, 5 V) and print text with the LiquidCrystal I2C library.
- [16x2 LCD without I2C on Arduino Uno — 4-bit wiring and contrast](https://flashready.in/boards/arduino-uno-r3/lcd-16x2-parallel/arduino): Wire a plain 16x2 HD44780 LCD to an Arduino Uno R3 in 4-bit mode (RS D12, E D11, D4–D7 on D5–D2), set the contrast and print text.
- [20x4 I2C LCD with Arduino Uno — wiring, address and four-line code](https://flashready.in/boards/arduino-uno-r3/lcd-20x4-i2c/arduino): Wire a 20x4 LCD with a PCF8574 I2C backpack to an Arduino Uno R3, find it at 0x27 or 0x3F automatically and update four lines without flicker.
- [LDR light sensor module with Arduino Uno — wiring and code](https://flashready.in/boards/arduino-uno-r3/ldr-module/arduino): Read an LDR light-sensor module on an Arduino Uno: light level on A0, dark/bright threshold on D2, and the on-board LED as a night light.
- [LM35 with Arduino Uno — 0.1 °C resolution with the 1.1 V reference](https://flashready.in/boards/arduino-uno-r3/lm35/arduino): Wire an LM35 to an Arduino Uno R3 on A0 and use the internal 1.1 V analog reference for 0.1 °C steps instead of 0.5 °C, with averaging.
- [MAX485 RS485 with Arduino Uno — Modbus RTU master on SoftwareSerial](https://flashready.in/boards/arduino-uno-r3/max485-rs485/arduino): Read Modbus RTU registers over RS485 from an Arduino Uno R3: MAX485 on D2/D3 with SoftwareSerial, DE+RE on D4, and a 5 V module that needs no divider.
- [MAX6675 thermocouple with Arduino Uno — 0 to 1024 °C readings](https://flashready.in/boards/arduino-uno-r3/max6675-thermocouple/arduino): Wire a MAX6675 K-type thermocouple module to an Arduino Uno R3 on three digital pins and read up to 1024 °C, with open-probe detection and polarity tips.
- [MAX7219 LED matrix with Arduino Uno — SPI wiring and scrolling text](https://flashready.in/boards/arduino-uno-r3/max7219-matrix/arduino): Wire a 4-in-1 MAX7219 8x8 LED matrix to an Arduino Uno R3 on hardware SPI (D11, D13, CS D10) and scroll text with MD_MAX72XX at a safe brightness.
- [MAX30102 pulse sensor with Arduino Uno — wiring and heart-rate code](https://flashready.in/boards/arduino-uno-r3/max30102/arduino): Connect a MAX30102 module to an Arduino Uno R3 over I2C, fix the 1.8 V pull-up problem on cheap boards, and measure heart rate with the SparkFun library.
- [MCP2515 CAN module with Arduino Uno — read-only CAN bus sniffer](https://flashready.in/boards/arduino-uno-r3/mcp2515-can/arduino): Wire an MCP2515 + TJA1050 CAN module to an Arduino Uno R3 on hardware SPI and log CAN frames in listen-only mode — your own vehicle or test bench only.
- [MG996R servo with Arduino Uno — external power, no jitter, smooth moves](https://flashready.in/boards/arduino-uno-r3/mg996r-servo/arduino): Drive an MG996R metal-gear servo from an Arduino Uno R3 on D9 with its own 5–6 V supply and common GND, and move it slowly to avoid resets and jitter.
- [MicroSD card module with Arduino Uno — SPI wiring and data logging](https://flashready.in/boards/arduino-uno-r3/microsd-module/arduino): Wire a microSD card module to an Arduino Uno R3 on SPI (CS D10), format the card right and append CSV readings to LOG.TXT every 2 seconds.
- [MLX90614 IR thermometer with Arduino Uno — wiring and accurate readings](https://flashready.in/boards/arduino-uno-r3/mlx90614/arduino): Wire a GY-906 MLX90614 to an Arduino Uno R3 over I2C, read object and ambient temperature without contact, and learn what the sensor really sees.
- [MPU6050 with Arduino Uno — I2C wiring, tilt angles and code](https://flashready.in/boards/arduino-uno-r3/mpu6050/arduino): Wire a GY-521 MPU6050 to an Arduino Uno R3 over I2C at 5 V, read acceleration and rotation, and work out roll and pitch from gravity.
- [MQ-2 gas and smoke sensor with Arduino Uno — wiring and code](https://flashready.in/boards/arduino-uno-r3/mq-2/arduino): Read an MQ-2 smoke/LPG sensor module on an Arduino Uno: analog level on A0, threshold alarm on D2, with warm-up handled in code.
- [MQ-135 air quality sensor with Arduino Uno — Rs/R0 and honest ppm](https://flashready.in/boards/arduino-uno-r3/mq-135/arduino): Wire an MQ-135 to an Arduino Uno R3 (AO on A0, DO on D2), warm it up, calibrate R0 in clean air and track air quality as Rs/R0 with a rough ppm estimate.
- [NEO-6M GPS with Arduino Uno — SoftwareSerial wiring and TinyGPSPlus](https://flashready.in/boards/arduino-uno-r3/neo-6m-gps/arduino): Wire a NEO-6M GPS to an Arduino Uno R3 on D4/D3 with a divider on its RX, get a first fix outdoors and print position, satellites and IST time.
- [Nokia 5110 LCD with Arduino Uno — 3.3 V safe wiring and contrast tuning](https://flashready.in/boards/arduino-uno-r3/nokia-5110/arduino): Wire a Nokia 5110 (PCD8544) to an Arduino Uno R3 safely: 3.3 V power, 1 kΩ / 2 kΩ dividers on five lines, hardware SPI, and contrast set from Serial.
- [nRF24L01 with Arduino Uno — 3.3 V power, SPI wiring and a working link](https://flashready.in/boards/arduino-uno-r3/nrf24l01/arduino): Wire an nRF24L01 to an Arduino Uno R3 (3.3V plus a 10 µF capacitor, CE D9, CSN D10, SPI) and send packets between two Unos with the RF24 library.
- [NTC thermistor with Arduino Uno — divider wiring and the Beta equation](https://flashready.in/boards/arduino-uno-r3/ntc-thermistor/arduino): Read a 10 kΩ NTC thermistor on an Arduino Uno R3 with a 10 kΩ divider on A0, convert it to °C with the Beta equation, and keep self-heating low.
- [Passive buzzer with Arduino Uno — tone(), notes and a siren](https://flashready.in/boards/arduino-uno-r3/passive-buzzer/arduino): Play notes on a passive buzzer from an Arduino Uno R3 on D8 with tone(): the sargam scale and a siren, and see which PWM pins tone() takes over.
- [HC-SR501 PIR sensor with Arduino Uno — wiring, jumpers and code](https://flashready.in/boards/arduino-uno-r3/pir-hc-sr501/arduino): Connect an HC-SR501 PIR motion sensor to an Arduino Uno R3 on D2, set its delay and sensitivity pots and trigger jumper, and log motion events.
- [PN532 NFC module with Arduino Uno — I2C mode, IRQ and card UIDs](https://flashready.in/boards/arduino-uno-r3/pn532-nfc/arduino): Connect a PN532 V3 NFC module to an Arduino Uno R3 in I2C mode at 5 V, with IRQ on D2 and reset on D3, and read MIFARE and NTAG card UIDs.
- [Potentiometer with Arduino Uno — analogRead, volts and PWM dimming](https://flashready.in/boards/arduino-uno-r3/potentiometer/arduino): Wire a 10 kΩ potentiometer to an Arduino Uno R3 on A0, read 0–1023, convert to volts and percent, and use it to set PWM on D9.
- [Push button with Arduino Uno — INPUT_PULLUP wiring and debouncing](https://flashready.in/boards/arduino-uno-r3/push-button/arduino): Wire a tactile push button to an Arduino Uno R3 on D2 with the internal pull-up (no resistor), debounce it with millis() and toggle the on-board LED.
- [PZEM-004T v3 with Arduino Uno — mains power, energy and safe wiring](https://flashready.in/boards/arduino-uno-r3/pzem-004t/arduino): Read voltage, current, power, kWh, frequency and power factor from a PZEM-004T v3 on an Arduino Uno R3 over SoftwareSerial — mains side by an electrician.
- [Rain sensor with Arduino Uno — rain levels without a corroded plate](https://flashready.in/boards/arduino-uno-r3/rain-sensor/arduino): Wire a rain sensor plate and LM393 board to an Arduino Uno R3, power it from D7 only while reading to stop corrosion, and grade dry, drizzle and heavy rain.
- [RC522 RFID reader with Arduino Uno — safe 3.3 V wiring and code](https://flashready.in/boards/arduino-uno-r3/rc522-rfid/arduino): Wire a 3.3 V RC522 RFID module to a 5 V Arduino Uno correctly — 3.3 V supply and a level shifter on the SPI lines — and read card UIDs.
- [RDM6300 125 kHz RFID with Arduino Uno — read EM4100 cards and fobs](https://flashready.in/boards/arduino-uno-r3/rdm6300-rfid/arduino): Wire an RDM6300 125 kHz RFID reader to an Arduino Uno R3 on SoftwareSerial D2, check each frame’s checksum and print the card number printed on the tag.
- [Relay module with Arduino Uno — active-LOW wiring and safe switching](https://flashready.in/boards/arduino-uno-r3/relay-module/arduino): Drive a 5 V relay module from an Arduino Uno R3 on D7 without the click at reset, switch it from the Serial Monitor, and keep 230 V loads safe.
- [Rotary encoder (KY-040) with Arduino Uno — interrupt pins, no missed steps](https://flashready.in/boards/arduino-uno-r3/rotary-encoder/arduino): Wire a KY-040 rotary encoder to an Arduino Uno R3 on interrupt pins D2/D3, count clicks in both directions with the Encoder library and read the button.
- [SG90 servo with Arduino Uno — wiring and sweep code](https://flashready.in/boards/arduino-uno-r3/sg90-servo/arduino): Connect an SG90 micro servo to an Arduino Uno on D9 with the built-in Servo library, and learn which PWM pins the library takes over.
- [SGP30 air-quality sensor with Arduino Uno — TVOC, eCO2 and a saved baseline](https://flashready.in/boards/arduino-uno-r3/sgp30/arduino): Read TVOC and eCO2 from an SGP30 on an Arduino Uno R3 over I2C, and store the sensor’s learned baseline in EEPROM so power cuts don’t reset it.
- [1.3" SH1106 OLED with Arduino Uno — U8g2 page mode that fits in RAM](https://flashready.in/boards/arduino-uno-r3/sh1106-oled/arduino): Wire a 1.3" SH1106 I2C OLED to an Arduino Uno R3 (check the VDD/GND order) and drive it with U8g2’s page-buffer mode, which needs only 128 bytes of RAM.
- [SHT31 with Arduino Uno — accurate humidity over I2C](https://flashready.in/boards/arduino-uno-r3/sht31/arduino): Wire an SHT31 to an Arduino Uno R3 over I2C (ADR to GND for 0x44) and read ±2 % humidity and ±0.3 °C temperature, plus the built-in heater for damp air.
- [SIM800L GSM with Arduino Uno — power it right, then check the network](https://flashready.in/boards/arduino-uno-r3/sim800l-gsm/arduino): Wire a SIM800L to an Arduino Uno R3 with an 18650 cell for its 2 A peaks, a divider on RXD and SoftwareSerial, then check SIM, network and signal with TinyGSM.
- [KY-038 sound sensor with Arduino Uno — clap switch that works](https://flashready.in/boards/arduino-uno-r3/sound-sensor-ky038/arduino): Wire a KY-038 microphone module to an Arduino Uno R3 (A0 and D2), measure sound as peak-to-peak level instead of raw readings, and build a double-clap switch.
- [SSD1306 OLED with Arduino Uno — I2C wiring and the 2 KB RAM catch](https://flashready.in/boards/arduino-uno-r3/ssd1306-oled/arduino): Wire a 0.96" SSD1306 I2C OLED to an Arduino Uno R3 (SDA/SCL, 5 V), auto-detect 0x3C/0x3D and draw text without running out of RAM.
- [1.8″ ST7735 TFT with Arduino Uno — divided SPI and flicker-free text](https://flashready.in/boards/arduino-uno-r3/st7735-tft/arduino): Wire a 1.8″ ST7735 colour TFT to an Arduino Uno R3 on hardware SPI with 1 kΩ / 2 kΩ dividers, and update numbers without flicker inside 2 KB of RAM.
- [SX1278 LoRa (Ra-02) with Arduino Uno — 3.3 V supply and level shifting](https://flashready.in/boards/arduino-uno-r3/sx1278-lora/arduino): Wire a 3.3 V SX1278 Ra-02 LoRa module to a 5 V Arduino Uno R3 with its own 3.3 V regulator and a level shifter, then send and receive packets.
- [TB6612FNG motor driver with Arduino Uno — two motors, no L298N voltage loss](https://flashready.in/boards/arduino-uno-r3/tb6612fng/arduino): Wire a TB6612FNG to an Arduino Uno R3 (PWM on D5/D6, direction on D7–D10, STBY on D4) with a separate motor battery, then ramp, brake and reverse.
- [TCRT5000 line sensor with Arduino Uno — black/white and analog reflectance](https://flashready.in/boards/arduino-uno-r3/tcrt5000/arduino): Wire a TCRT5000 IR line sensor to an Arduino Uno R3 (DO on D2, AO on A0), set the threshold and read black line versus white surface for a line follower.
- [TCS34725 colour sensor with Arduino Uno — hex colour, CCT and lux](https://flashready.in/boards/arduino-uno-r3/tcs34725/arduino): Wire a TCS34725 RGB sensor to an Arduino Uno R3 at 5 V, switch its white LED safely from D4, and print colour as hex plus colour temperature and lux.
- [TM1637 4-digit display with Arduino Uno — wiring and clock code](https://flashready.in/boards/arduino-uno-r3/tm1637-display/arduino): Wire a TM1637 4-digit 7-segment display to an Arduino Uno on D2/D3 and show a running minutes:seconds counter with the TM1637 library.
- [TTP223 touch sensor with Arduino Uno — tap, long press and solder pads](https://flashready.in/boards/arduino-uno-r3/ttp223-touch/arduino): Wire a TTP223 capacitive touch module to an Arduino Uno R3 on D2, tell a tap from a long press, and set the A/B pads for active-LOW or toggle mode.
- [28BYJ-48 stepper and ULN2003 with Arduino Uno — wiring and code](https://flashready.in/boards/arduino-uno-r3/uln2003-stepper/arduino): Drive a 28BYJ-48 stepper through a ULN2003 board from an Arduino Uno R3 on D8–D11 with the Stepper library — the right coil order and a 5 V supply.
- [VL53L0X laser distance sensor with Arduino Uno — wiring and code](https://flashready.in/boards/arduino-uno-r3/vl53l0x/arduino): Wire a VL53L0X time-of-flight sensor to an Arduino Uno R3 over I2C and read distance in millimetres with the Pololu library, with timeouts handled.
- [Water level sensor with Arduino Uno — readings, calibration and limits](https://flashready.in/boards/arduino-uno-r3/water-level-sensor/arduino): Wire the red water level sensor strip to an Arduino Uno R3, power it from D7 only while reading to slow corrosion, and grade empty, low, half and full.
- [WS2812B LED strip with Arduino Uno — power, wiring and rainbow code](https://flashready.in/boards/arduino-uno-r3/ws2812b-led/arduino): Run a WS2812B (NeoPixel) strip from an Arduino Uno R3 on D6 with a 330 Ω resistor and its own 5 V supply, plus a colour-wipe test and a rainbow.
- [YF-S201 water flow sensor with Arduino Uno — litres per minute and total](https://flashready.in/boards/arduino-uno-r3/yf-s201-flow/arduino): Count YF-S201 flow pulses on Arduino Uno R3 interrupt pin D2, convert them to litres per minute and a running total, and calibrate it with a bucket.
- [ZMPT101B mains voltage sensor with Arduino Uno — true RMS, safely](https://flashready.in/boards/arduino-uno-r3/zmpt101b/arduino): Measure 230 V mains with a ZMPT101B and an Arduino Uno R3 on A0: true-RMS sampling, one-number calibration and the electrician-only safety rules.
- [AHT20 with ESP32-C3 SuperMini — humidity on I2C](https://flashready.in/boards/esp32-c3-supermini/aht20/arduino): Wire an AHT20 (or the AHT20+BMP280 combo board) to an ESP32-C3 SuperMini on GPIO5/6 and read temperature and humidity with Adafruit AHTX0.
- [BH1750 light sensor with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/bh1750/arduino): Measure light in lux with a BH1750 on an ESP32-C3 SuperMini: I2C on GPIO5/6, address 0x23, and why it beats an LDR on the C3’s limited ADC.
- [BME280 with ESP32-C3 SuperMini — I2C on GPIO5/6](https://flashready.in/boards/esp32-c3-supermini/bme280/arduino): Wire a BME280 to an ESP32-C3 SuperMini on GPIO5 (SDA) and GPIO6 (SCL) — not the strapping pins 8/9 — and read temperature, humidity and pressure.
- [BMP280 with ESP32-C3 SuperMini — pressure and altitude](https://flashready.in/boards/esp32-c3-supermini/bmp280/arduino): Read temperature, pressure and altitude from a BMP280 on an ESP32-C3 SuperMini, with I2C moved to GPIO5/6 away from the C3’s strapping pins.
- [Capacitive soil moisture sensor with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/capacitive-soil-moisture/arduino): Read a capacitive soil moisture sensor on GPIO3 (ADC1) of an ESP32-C3 SuperMini at 3.3 V, calibrate dry and wet, and stay within the C3’s 2.5 V ADC range.
- [DHT11 with ESP32-C3 SuperMini — wiring and code](https://flashready.in/boards/esp32-c3-supermini/dht11/arduino): Read a DHT11 temperature and humidity module on GPIO3 of an ESP32-C3 SuperMini at 3.3 V, with the native USB serial set up correctly.
- [DHT22 with ESP32-C3 SuperMini — wiring and code](https://flashready.in/boards/esp32-c3-supermini/dht22/arduino): Wire a DHT22 to an ESP32-C3 SuperMini on GPIO3 at 3.3 V with its pull-up, and read temperature and humidity over the C3’s native USB serial.
- [DS18B20 with ESP32-C3 SuperMini — wiring and code](https://flashready.in/boards/esp32-c3-supermini/ds18b20/arduino): Read a DS18B20 waterproof probe on GPIO4 of an ESP32-C3 SuperMini with a 4.7 kΩ pull-up, avoiding the C3’s strapping pins and the LED pin.
- [DS3231 RTC with ESP32-C3 SuperMini — keep time offline](https://flashready.in/boards/esp32-c3-supermini/ds3231-rtc/arduino): Keep accurate time on an ESP32-C3 SuperMini with a DS3231 RTC on I2C GPIO5/6 — set it once, and it survives power cuts on its coin cell.
- [2.13″ e-paper with ESP32-C3 SuperMini — SPI pins and deep-sleep updates](https://flashready.in/boards/esp32-c3-supermini/epaper-2in13/arduino): Wire a 2.13″ SSD1680 e-paper to an ESP32-C3 SuperMini on its default SPI pins, avoid strapping pins 2/8/9, and redraw once a minute between deep sleeps.
- [HC-SR04 with ESP32-C3 SuperMini — divider on ECHO](https://flashready.in/boards/esp32-c3-supermini/hc-sr04/arduino): Measure distance with an HC-SR04 on an ESP32-C3 SuperMini: 5 V supply, Trig on GPIO7, Echo on GPIO10 through a 1 kΩ / 2 kΩ divider to protect the C3.
- [INA219 current sensor with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/ina219/arduino): Measure voltage, current and power of a 12 V load with an INA219 on an ESP32-C3 SuperMini: high-side wiring, common ground, I2C on GPIO5/6.
- [IR receiver (VS1838B) with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/ir-receiver-vs1838b/arduino): Decode TV and AC remote buttons with a VS1838B IR receiver on GPIO4 of an ESP32-C3 SuperMini using IRremote 4.x, powered from 3V3.
- [16x2 I2C LCD with ESP32-C3 SuperMini — level-shifted](https://flashready.in/boards/esp32-c3-supermini/lcd-16x2-i2c/arduino): Run a 5 V 16x2 I2C LCD from an ESP32-C3 SuperMini: 5V supply, SDA/SCL on GPIO5/6 through a level shifter, and the Wire.begin order that keeps those pins.
- [LDR light sensor module with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/ldr-module/arduino): Read an LDR module’s analog and digital outputs on an ESP32-C3 SuperMini — AO on GPIO3 (ADC1), DO on GPIO4 — and what the C3’s 2.5 V ADC limit means.
- [MAX7219 LED matrix with ESP32-C3 SuperMini — level-shifted SPI scroller](https://flashready.in/boards/esp32-c3-supermini/max7219-matrix/arduino): Drive a 5 V MAX7219 4-in-1 LED matrix from an ESP32-C3 SuperMini: 5V pin for power, a level shifter on GPIO4/6/7, and scrolling text with MD_MAX72XX.
- [MPU6050 with ESP32-C3 SuperMini — accelerometer and gyro](https://flashready.in/boards/esp32-c3-supermini/mpu6050/arduino): Read acceleration, rotation and temperature from an MPU6050 (GY-521) on an ESP32-C3 SuperMini, with I2C moved to GPIO5/6 off the strapping pins.
- [MQ-2 gas sensor with ESP32-C3 SuperMini — divider wiring](https://flashready.in/boards/esp32-c3-supermini/mq-2/arduino): Read an MQ-2 smoke/LPG sensor on an ESP32-C3 SuperMini: 5 V heater, AO on GPIO3 through a 10 kΩ / 10 kΩ divider to fit the C3’s 2.5 V ADC range.
- [HC-SR501 PIR sensor with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/pir-hc-sr501/arduino): Detect motion with an HC-SR501 PIR on an ESP32-C3 SuperMini: 5 V supply, 3.3 V output straight to GPIO3, and the on-board LED as an indicator.
- [Push button with ESP32-C3 SuperMini — pull-up and debounce](https://flashready.in/boards/esp32-c3-supermini/push-button/arduino): Read a push button on GPIO4 of an ESP32-C3 SuperMini with the internal pull-up and a debounce, and use the on-board BOOT button (GPIO9) safely.
- [Relay module with ESP32-C3 SuperMini — safe wiring and code](https://flashready.in/boards/esp32-c3-supermini/relay-module/arduino): Switch a 3.3 V-trigger relay module from GPIO7 of an ESP32-C3 SuperMini, held off at boot, coil on 5V — with clear limits on what the contacts may switch.
- [SG90 servo with ESP32-C3 SuperMini — ESP32Servo sweep](https://flashready.in/boards/esp32-c3-supermini/sg90-servo/arduino): Drive an SG90 servo from GPIO10 of an ESP32-C3 SuperMini with ESP32Servo, powered from its own 5 V supply so the tiny board doesn’t brown out.
- [SH1106 1.3″ OLED with ESP32-C3 SuperMini — U8g2 on GPIO5/6](https://flashready.in/boards/esp32-c3-supermini/sh1106-oled/arduino): Connect a 1.3″ SH1106 OLED to an ESP32-C3 SuperMini on GPIO5/GPIO6 instead of strapping pins 8/9, and drive it with U8g2’s SH1106 full-buffer mode.
- [SHT31 with ESP32-C3 SuperMini — accurate humidity](https://flashready.in/boards/esp32-c3-supermini/sht31/arduino): Read an SHT31 temperature and humidity sensor over I2C on GPIO5/6 of an ESP32-C3 SuperMini, with the built-in heater for monsoon condensation.
- [SSD1306 OLED with ESP32-C3 SuperMini — safe I2C pins and code](https://flashready.in/boards/esp32-c3-supermini/ssd1306-oled/arduino): Connect an SSD1306 OLED to an ESP32-C3 SuperMini on GPIO5/GPIO6, avoiding the strapping pins 8 and 9 that the core defaults to.
- [TM1637 4-digit display with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/tm1637-display/arduino): Drive a TM1637 4-digit 7-segment display from an ESP32-C3 SuperMini on GPIO6/7 at 3.3 V and show a running MM:SS clock with a blinking colon.
- [VL53L0X laser distance sensor with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/vl53l0x/arduino): Measure distance up to about 2 m with a VL53L0X time-of-flight sensor on an ESP32-C3 SuperMini, I2C on GPIO5/6 at address 0x29.
- [WS2812B LED strip with ESP32-C3 SuperMini](https://flashready.in/boards/esp32-c3-supermini/ws2812b-led/arduino): Drive a WS2812B strip from GPIO10 on an ESP32-C3 SuperMini with its own 5 V supply and a common ground — and why RGB_BUILTIN doesn’t apply to this board.
- [AHT20 with ESP32-C6-DevKitC-1 — temperature and humidity](https://flashready.in/boards/esp32-c6-devkitc-1/aht20/arduino): Read an AHT20 temperature and humidity sensor on an ESP32-C6-DevKitC-1 over I2C (GPIO23 SDA, GPIO22 SCL) with Adafruit AHTX0.
- [BME280 with ESP32-C6-DevKitC-1 — I2C on GPIO23/22](https://flashready.in/boards/esp32-c6-devkitc-1/bme280/arduino): Read temperature, humidity and pressure from a BME280 on an ESP32-C6-DevKitC-1 using the default I2C pins GPIO23 (SDA) and GPIO22 (SCL).
- [DHT22 with ESP32-C6-DevKitC-1 — wiring and code](https://flashready.in/boards/esp32-c6-devkitc-1/dht22/arduino): Wire a DHT22 to an ESP32-C6-DevKitC-1 on GPIO10 at 3.3 V, away from the C6’s five strapping pins, and read it with the standard DHT library.
- [DS18B20 with ESP32-C6-DevKitC-1 — without the OneWire library](https://flashready.in/boards/esp32-c6-devkitc-1/ds18b20/arduino): Read a DS18B20 on GPIO11 of an ESP32-C6-DevKitC-1 with a library-free 1-Wire driver, because OneWire 2.3.8 doesn’t support the C6’s GPIO registers.
- [Relay module with ESP32-C6-DevKitC-1 — wiring and code](https://flashready.in/boards/esp32-c6-devkitc-1/relay-module/arduino): Switch a 3.3 V-trigger relay from GPIO11 of an ESP32-C6-DevKitC-1, off during boot, with the RGB LED as a status light and clear load limits.
- [SG90 servo with ESP32-C6-DevKitC-1 — ESP32Servo](https://flashready.in/boards/esp32-c6-devkitc-1/sg90-servo/arduino): Sweep an SG90 servo from GPIO3 of an ESP32-C6-DevKitC-1 with ESP32Servo 3.x (which supports the C6), powered from its own 5 V supply.
- [SSD1306 OLED with ESP32-C6-DevKitC-1 — I2C on GPIO23/22](https://flashready.in/boards/esp32-c6-devkitc-1/ssd1306-oled/arduino): Drive a 128x64 SSD1306 OLED from an ESP32-C6-DevKitC-1 on its default I2C pins, GPIO23 (SDA) and GPIO22 (SCL), and blink the on-board RGB LED.
- [WS2812B strip and the RGB LED on ESP32-C6-DevKitC-1](https://flashready.in/boards/esp32-c6-devkitc-1/ws2812b-led/arduino): Drive a WS2812B strip from GPIO10 of an ESP32-C6-DevKitC-1 on its own 5 V supply, and mirror its colour on the board’s RGB LED on GPIO8.
- [74HC595 shift register with ESP32 DevKit V1 — 3.3 V, hardware SPI, PWM dimming](https://flashready.in/boards/esp32-devkit-v1/74hc595/arduino): Run a 74HC595 at 3.3 V from an ESP32 DevKit V1: data and clock on VSPI, latch on D4, PWM brightness on OE with a pull-up that keeps LEDs dark during boot.
- [A4988 stepper driver with ESP32 DevKit V1 — NEMA 17 wiring and code](https://flashready.in/boards/esp32-devkit-v1/a4988-stepper/arduino): Drive a NEMA 17 stepper from an ESP32 DevKit V1 with an A4988: VDD at 3.3 V, 12 V on VMOT with a 100 µF cap, current limit set, AccelStepper on GPIO26/27.
- [ACS712 current sensor with ESP32 DevKit V1 — divided output, DC load](https://flashready.in/boards/esp32-devkit-v1/acs712/arduino): Measure a 12 V DC load with an ACS712 on an ESP32 DevKit V1: 5 V on VIN, OUT through a 10 kΩ / 20 kΩ divider into ADC1 pin D35, and zero-point calibration at boot.
- [Active buzzer with ESP32 DevKit V1 — beep patterns on GPIO25](https://flashready.in/boards/esp32-devkit-v1/active-buzzer-module/arduino): Drive an active buzzer module from an ESP32 DevKit V1 on GPIO25: 3.3 V trigger, VIN for volume, silent at boot, and OK / warning / alarm beep patterns.
- [ADXL345 with ESP32 DevKit V1 — I2C wiring and tilt angles](https://flashready.in/boards/esp32-devkit-v1/adxl345/arduino): Wire a GY-291 ADXL345 to an ESP32 DevKit V1 in I2C mode (CS high, SDO low = 0x53) and read acceleration plus pitch and roll with the Adafruit library.
- [AHT20 with ESP32 DevKit V1 — I2C humidity sensor at 3.3 V](https://flashready.in/boards/esp32-devkit-v1/aht20/arduino): Wire an AHT20 (or the AHT20 + BMP280 combo board) to an ESP32 DevKit V1 at 3.3 V on GPIO21/22 and read temperature and humidity with Adafruit AHTX0.
- [BH1750 light sensor with ESP32 — lux readings over I2C](https://flashready.in/boards/esp32-devkit-v1/bh1750/arduino): Wire a BH1750 ambient light sensor to an ESP32 DevKit V1 on GPIO21/22 and read calibrated light levels in lux in Arduino C++.
- [BME280 with ESP32 — temperature, humidity and pressure over I2C](https://flashready.in/boards/esp32-devkit-v1/bme280/arduino): Wire a BME280 breakout to an ESP32 DevKit V1 at 3.3 V on GPIO21/22, auto-detect 0x76/0x77, and log weather readings in forced mode without self-heating.
- [BMP180 with ESP32 DevKit V1 — sea-level pressure and a storm trend](https://flashready.in/boards/esp32-devkit-v1/bmp180/arduino): Connect a BMP180 (GY-68) to an ESP32 DevKit V1 on D21/D22, correct pressure for your altitude, and watch a 3-hour trend that warns of rain or storms.
- [BMP280 with ESP32 DevKit V1 — pressure, altitude and the BME280 mix-up](https://flashready.in/boards/esp32-devkit-v1/bmp280/arduino): Wire a purple 3.3 V BMP280 board to an ESP32 DevKit V1 on GPIO21/22, auto-detect 0x76/0x77, and read temperature, pressure and altitude with the Adafruit library.
- [Capacitive soil moisture sensor with ESP32 DevKit V1 — calibrated %](https://flashready.in/boards/esp32-devkit-v1/capacitive-soil-moisture/arduino): Read a capacitive soil moisture sensor v1.2 on an ESP32 DevKit V1: 3V3 power, AOUT on ADC1 pin D32 so it works with Wi-Fi, and a two-point dry/wet calibration.
- [DHT11 with ESP32 DevKit V1 — 3.3 V wiring and Arduino code](https://flashready.in/boards/esp32-devkit-v1/dht11/arduino): Wire a 3-pin DHT11 module to an ESP32 DevKit V1 on GPIO4 at 3.3 V and read whole-degree temperature and humidity once a second with the Adafruit DHT library.
- [DHT22 with ESP32 — wiring and Arduino code](https://flashready.in/boards/esp32-devkit-v1/dht22/arduino): Wire a DHT22 / AM2302 to an ESP32 DevKit V1 on GPIO4 at 3.3 V, with the pull-up it needs, and read temperature and humidity in Arduino C++.
- [DS18B20 with ESP32 — waterproof temperature probe wiring and code](https://flashready.in/boards/esp32-devkit-v1/ds18b20/arduino): Wire a DS18B20 (bare or waterproof probe) to an ESP32 DevKit V1 on GPIO4 with its 4.7 kΩ pull-up and read 12-bit temperatures in Arduino C++.
- [DS3231 RTC with ESP32 DevKit V1 — keep time through power cuts](https://flashready.in/boards/esp32-devkit-v1/ds3231-rtc/arduino): Wire a DS3231 module to an ESP32 DevKit V1 at 3.3 V on GPIO21/22, set it once from compile time, and read date, time and temperature with RTClib.
- [2.13″ e-paper with ESP32 DevKit V1 — VSPI wiring and partial refresh](https://flashready.in/boards/esp32-devkit-v1/epaper-2in13/arduino): Wire a 2.13″ SSD1680 e-paper to an ESP32 DevKit V1 on VSPI (D18/D23), keep CS/DC/RST/BUSY off the strapping pins, and update a clock with partial refresh.
- [IR flame sensor with ESP32 DevKit V1 — DO alarm and AO intensity](https://flashready.in/boards/esp32-devkit-v1/flame-sensor/arduino): Connect a 4-pin IR flame sensor to an ESP32 DevKit V1 at 3.3 V: DO on D26 (LOW on flame), AO on ADC1 pin D32 for IR intensity, and why sunlight sets it off.
- [A3144 Hall sensor with ESP32 DevKit V1 — 5 V supply, 3.3 V output](https://flashready.in/boards/esp32-devkit-v1/hall-a3144/arduino): Power an A3144 Hall switch from VIN on an ESP32 DevKit V1, pull its open-collector output to 3V3 on GPIO33, and count magnet passes as RPM with an interrupt.
- [HC-12 433 MHz radio with ESP32 DevKit V1 — Serial2 and AT from the monitor](https://flashready.in/boards/esp32-devkit-v1/hc-12/arduino): Wire an HC-12 to an ESP32 DevKit V1 on Serial2 (GPIO16/17) with SET on D4, then send text over the air and change channel or power by typing AT commands.
- [HC-SR04 with ESP32 — safe wiring with a voltage divider](https://flashready.in/boards/esp32-devkit-v1/hc-sr04/arduino): Wire an HC-SR04 ultrasonic sensor to an ESP32 DevKit V1 at 5 V with a 1 kΩ / 2 kΩ divider on ECHO, and measure distance in Arduino C++.
- [HX711 load cell with ESP32 DevKit V1 — wiring, tare and calibration](https://flashready.in/boards/esp32-devkit-v1/hx711-load-cell/arduino): Weigh with an HX711 and load cell on an ESP32 DevKit V1: 3.3 V power, DT/SCK on GPIO32/33, tare and calibrate from the Serial Monitor with a known weight.
- [ILI9341 2.8″ TFT with ESP32 DevKit V1 — 40 MHz SPI wiring](https://flashready.in/boards/esp32-devkit-v1/ili9341-tft/arduino): Wire a 2.4–2.8″ ILI9341 SPI TFT to an ESP32 DevKit V1 on VSPI with MISO for read-back, power it from VIN, and run it at 40 MHz with the Adafruit ILI9341 library.
- [INA219 current and power monitor with ESP32 — wiring and code](https://flashready.in/boards/esp32-devkit-v1/ina219/arduino): Measure DC voltage, current and power of a load with an INA219 on an ESP32 DevKit V1 (I2C on GPIO21/22) using the Adafruit INA219 library.
- [IR obstacle sensor with ESP32 DevKit V1 — 3.3 V wiring and counter](https://flashready.in/boards/esp32-devkit-v1/ir-obstacle-sensor/arduino): Run an FC-51 style IR obstacle sensor from the ESP32 DevKit V1 3V3 pin so OUT stays at 3.3 V, read it on GPIO18 and count objects passing the beam.
- [VS1838B IR receiver with ESP32 DevKit V1 — IRremote 4.x codes](https://flashready.in/boards/esp32-devkit-v1/ir-receiver-vs1838b/arduino): Decode TV and kit remotes on an ESP32 DevKit V1 with a VS1838B on input-only GPIO35 at 3.3 V, using the IRremote 4.x API that replaced the old irrecv code.
- [Joystick module with ESP32 DevKit V1 — 3.3 V wiring and centre calibration](https://flashready.in/boards/esp32-devkit-v1/joystick-module/arduino): Wire a KY-023 joystick to an ESP32 DevKit V1 with its +5V pin on 3V3, axes on ADC1 pins D34/D35, the button on D32, and auto-calibrate the off-centre rest point.
- [JSN-SR04T with ESP32 DevKit V1 — waterproof tank level, Echo divider](https://flashready.in/boards/esp32-devkit-v1/jsn-sr04t/arduino): Measure water-tank level with a JSN-SR04T and an ESP32 DevKit V1: 5 V on VIN, Trig on D25, Echo through a 1 kΩ / 2 kΩ divider to D34, and a median filter.
- [4x4 keypad with ESP32 DevKit V1 — eight safe GPIOs and code entry](https://flashready.in/boards/esp32-devkit-v1/keypad-4x4/arduino): Wire a 4x4 membrane keypad to eight boot-safe ESP32 DevKit V1 pins (no strapping or input-only pins), and read keys and a PIN code with the Keypad library.
- [L298N motor driver with ESP32 DevKit V1 — two DC motors, PWM speed](https://flashready.in/boards/esp32-devkit-v1/l298n-driver/arduino): Drive two DC motors from an ESP32 DevKit V1 through an L298N: ENA/ENB on core 3.x ledcAttach PWM, boot-safe pins, battery on 12V and a shared ground.
- [16x2 I2C LCD with ESP32 DevKit V1 — 5 V backpack, level shifter, code](https://flashready.in/boards/esp32-devkit-v1/lcd-16x2-i2c/arduino): Run a 16x2 LCD with PCF8574 backpack from an ESP32 DevKit V1: 5 V from VIN for contrast, a BSS138 level shifter on SDA/SCL, and auto-detect 0x27 or 0x3F.
- [20x4 I2C LCD with ESP32 DevKit V1 — status screen with a level shifter](https://flashready.in/boards/esp32-devkit-v1/lcd-20x4-i2c/arduino): Wire a 20x4 I2C LCD to an ESP32 DevKit V1 with 5 V from VIN and a BSS138 shifter on GPIO21/22, and show CPU, uptime and free heap on all four rows.
- [LDR light sensor module with ESP32 DevKit V1 — AO, DO and a night light](https://flashready.in/boards/esp32-devkit-v1/ldr-module/arduino): Wire a 4-pin LDR module to an ESP32 DevKit V1 at 3.3 V: AO on ADC1 pin D33, DO on D27, and a dusk night-light with hysteresis using calibrated millivolts.
- [LM35 with ESP32 DevKit V1 — 5 V supply, ADC1 pin and 0 dB attenuation](https://flashready.in/boards/esp32-devkit-v1/lm35/arduino): Read an LM35 on an ESP32 DevKit V1: power it from VIN (it needs 4 V+), VOUT straight to ADC1 pin D34, and use 0 dB attenuation for finer, calibrated steps.
- [MAX485 RS485 with ESP32 DevKit V1 — Modbus RTU master on Serial2](https://flashready.in/boards/esp32-devkit-v1/max485-rs485/arduino): Read Modbus RTU registers over RS485 with a MAX485 module and an ESP32 DevKit V1: Serial2 on GPIO16/17, a divider on the 5 V RO line, one GPIO for DE+RE.
- [MAX6675 thermocouple with ESP32 DevKit V1 — K-type to 1024 °C](https://flashready.in/boards/esp32-devkit-v1/max6675-thermocouple/arduino): Read a K-type thermocouple through a MAX6675 module on an ESP32 DevKit V1 at 3.3 V: SCK/SO on GPIO18/19, CS on GPIO4, open-probe detection and the 220 ms conversion.
- [MAX7219 LED matrix with ESP32 — level-shifted SPI and code](https://flashready.in/boards/esp32-devkit-v1/max7219-matrix/arduino): Drive a 5 V MAX7219 LED matrix from an ESP32 DevKit V1 through a level shifter on VSPI, with a library-free sketch that shows how the chip works.
- [MAX30102 with ESP32 DevKit V1 — heart-rate (BPM) wiring and code](https://flashready.in/boards/esp32-devkit-v1/max30102/arduino): Wire a MAX30102 pulse sensor to an ESP32 DevKit V1 at 3.3 V on GPIO21/22, check the 1.8 V pull-up trap, and read heart rate with the SparkFun MAX3010x library.
- [MG996R servo with ESP32 DevKit V1 — separate supply and ESP32Servo](https://flashready.in/boards/esp32-devkit-v1/mg996r-servo/arduino): Run an MG996R metal-gear servo from an ESP32 DevKit V1 on GPIO27 with ESP32Servo, a separate 5–6 V 3 A supply and a common ground, so the board never browns out.
- [microSD card module with ESP32 DevKit V1 — VSPI wiring and logging](https://flashready.in/boards/esp32-devkit-v1/microsd-module/arduino): Log to a microSD card from an ESP32 DevKit V1: VSPI on GPIO18/19/23 with CS on GPIO5, 5 V for the module’s regulator, the core’s SD library and FAT32 cards.
- [MLX90614 with ESP32 DevKit V1 — contactless IR thermometer code](https://flashready.in/boards/esp32-devkit-v1/mlx90614/arduino): Wire a GY-906 MLX90614 to an ESP32 DevKit V1 at 3.3 V on GPIO21/22, keep the SMBus at 100 kHz, and read object and ambient temperature twice a second.
- [MPU6050 with ESP32 — accelerometer and gyroscope over I2C](https://flashready.in/boards/esp32-devkit-v1/mpu6050/arduino): Connect a GY-521 MPU6050 module to an ESP32 DevKit V1 (I2C on GPIO21/22, 3.3 V) and read acceleration, rotation and chip temperature in Arduino C++.
- [MQ-2 gas sensor with ESP32 DevKit V1 — 5 V heater, divided AO](https://flashready.in/boards/esp32-devkit-v1/mq-2/arduino): Run an MQ-2 LPG/smoke module on an ESP32 DevKit V1: heater on VIN, AO through a 10 kΩ / 20 kΩ divider to ADC1 pin D34, and an alarm from a clean-air baseline.
- [MQ-3 alcohol sensor with ESP32 DevKit V1 — breath-test demo on ADC1](https://flashready.in/boards/esp32-devkit-v1/mq-3/arduino): Wire an MQ-3 to an ESP32 DevKit V1: heater on VIN, AO through a 10 kΩ / 20 kΩ divider to D35, and a 5-second breath test started with the BOOT button.
- [MQ-7 CO sensor with ESP32 DevKit V1 — divided AO and an Rs/R0 trend](https://flashready.in/boards/esp32-devkit-v1/mq-7/arduino): Run an MQ-7 module on an ESP32 DevKit V1: 5 V heater on VIN, AO via a 10 kΩ / 20 kΩ divider to D34, and an Rs/R0 trend that needs no load-resistor value.
- [MQ-135 air quality sensor with ESP32 DevKit V1 — Rs ratio code](https://flashready.in/boards/esp32-devkit-v1/mq-135/arduino): Wire an MQ-135 to an ESP32 DevKit V1 with a 5 V heater on VIN and AO divided into ADC1 pin D35, then turn the voltage into sensor resistance and a fresh-air ratio.
- [NEO-6M GPS with ESP32 DevKit V1 — Serial2 wiring and IST time](https://flashready.in/boards/esp32-devkit-v1/neo-6m-gps/arduino): Connect a NEO-6M (GY-NEO6MV2) GPS to an ESP32 DevKit V1 on Serial2 with pins 16/17 set for core 3.x, parse it with TinyGPSPlus and print location and IST time.
- [Nokia 5110 LCD with ESP32 DevKit V1 — direct 3.3 V wiring, Wi-Fi scanner](https://flashready.in/boards/esp32-devkit-v1/nokia-5110/arduino): Wire a Nokia 5110 (PCD8544) to an ESP32 DevKit V1 on hardware SPI with no level shifting, set the contrast, and list nearby Wi-Fi networks by signal.
- [nRF24L01 with ESP32 DevKit V1 — wiring, capacitor and channel scan](https://flashready.in/boards/esp32-devkit-v1/nrf24l01/arduino): Wire an nRF24L01+ to an ESP32 DevKit V1 on VSPI with CE on D4 and CSN on D27, add the capacitor it needs, and scan 2.4 GHz channels to find one clear of your Wi-Fi.
- [NTC thermistor with ESP32 DevKit V1 — 10 kΩ divider and Beta equation](https://flashready.in/boards/esp32-devkit-v1/ntc-thermistor/arduino): Read a 10 kΩ NTC thermistor or waterproof probe on an ESP32 DevKit V1: divider from 3V3 into ADC1 pin D33, calibrated millivolts, and °C from the Beta (3950) equation.
- [Passive buzzer with ESP32 DevKit V1 — tone() on core 3.x](https://flashready.in/boards/esp32-devkit-v1/passive-buzzer/arduino): Play notes and a two-tone alarm on a passive buzzer from an ESP32 DevKit V1 GPIO26, using tone() on Arduino-ESP32 3.x and the LEDC limits worth knowing.
- [HC-SR501 PIR motion sensor with ESP32 — wiring and code](https://flashready.in/boards/esp32-devkit-v1/pir-hc-sr501/arduino): Power an HC-SR501 PIR sensor from the ESP32 DevKit V1’s 5 V VIN, read its 3.3 V output on GPIO27 and light the on-board LED on motion.
- [PN532 NFC with ESP32 DevKit V1 — I2C at 3.3 V and a saved card list](https://flashready.in/boards/esp32-devkit-v1/pn532-nfc/arduino): Wire a PN532 V3 NFC module to an ESP32 DevKit V1 in I2C mode at 3.3 V, read card UIDs, and enrol allowed cards with the BOOT button into flash.
- [Potentiometer with ESP32 DevKit V1 — ADC1 reading and LED dimming](https://flashready.in/boards/esp32-devkit-v1/potentiometer/arduino): Wire a 10 kΩ potentiometer across 3V3 on an ESP32 DevKit V1, read the wiper on ADC1 pin D34 in raw counts and calibrated mV, and dim the blue LED with ledcAttach().
- [Push button with ESP32 DevKit V1 — INPUT_PULLUP and debounce](https://flashready.in/boards/esp32-devkit-v1/push-button/arduino): Wire a push button between GPIO32 and GND on an ESP32 DevKit V1, use the internal pull-up, debounce in software and tell short presses from long ones.
- [PZEM-004T v3 with ESP32 DevKit V1 — Serial2 wiring and readings](https://flashready.in/boards/esp32-devkit-v1/pzem-004t/arduino): Read voltage, current, power, kWh and PF from a PZEM-004T v3.0 on an ESP32 DevKit V1 over Serial2 (GPIO16/17), with a divider on its 5 V TX. Mains side: electrician only.
- [Rain sensor with ESP32 DevKit V1 — GPIO-powered to stop corrosion](https://flashready.in/boards/esp32-devkit-v1/rain-sensor/arduino): Wire an FC-37 / YL-83 rain sensor to an ESP32 DevKit V1, powered from GPIO25 only while reading, with AO on ADC1 pin D35 and DO on D26 for a drizzle/rain readout.
- [RC522 RFID reader with ESP32 — SPI wiring and card UID code](https://flashready.in/boards/esp32-devkit-v1/rc522-rfid/arduino): Connect an RC522 RFID module to an ESP32 DevKit V1 over VSPI at 3.3 V and read card UIDs with the MFRC522 library.
- [Reed switch with ESP32 DevKit V1 — door sensor on GPIO13](https://flashready.in/boards/esp32-devkit-v1/reed-switch/arduino): Use a reed switch as a door or window sensor on an ESP32 DevKit V1: two wires to GPIO13 and GND, internal pull-up, debounce, and deep-sleep wake on an RTC pin.
- [Relay module with ESP32 DevKit V1 — 3.3 V trigger, no boot click](https://flashready.in/boards/esp32-devkit-v1/relay-module/arduino): Switch a 5 V relay module from an ESP32 DevKit V1 on GPIO26: VIN for the coil, active-LOW logic set before boot, and 230 V wiring left to an electrician.
- [Rotary encoder with ESP32 DevKit V1 — interrupt code, no library](https://flashready.in/boards/esp32-devkit-v1/rotary-encoder/arduino): Read a KY-040 rotary encoder on an ESP32 DevKit V1 with IRAM_ATTR interrupts and a bounce-proof quadrature table, powered from 3V3, plus the push switch.
- [SG90 servo with ESP32 — ESP32Servo wiring and sweep code](https://flashready.in/boards/esp32-devkit-v1/sg90-servo/arduino): Drive an SG90 micro servo from an ESP32 DevKit V1 on GPIO18 with the ESP32Servo library, powered properly so the board doesn’t brown out.
- [1.3″ SH1106 OLED with ESP32 DevKit V1 — U8g2 wiring and code](https://flashready.in/boards/esp32-devkit-v1/sh1106-oled/arduino): Drive a 1.3-inch SH1106 I2C OLED from an ESP32 DevKit V1 at 3.3 V on GPIO21/22 with U8g2 — the fix for the noise column the SSD1306 library shows.
- [SHT31 with ESP32 DevKit V1 — accurate humidity, heater for monsoon](https://flashready.in/boards/esp32-devkit-v1/sht31/arduino): Connect an SHT31 to an ESP32 DevKit V1 at 3.3 V on GPIO21/22, pick 0x44 or 0x45 with ADR, and use the built-in heater to clear condensation in humid weather.
- [SHT40 with ESP32 DevKit V1 — 3.3 V wiring and heater pulse code](https://flashready.in/boards/esp32-devkit-v1/sht40/arduino): Connect an SHT40/SHT41/SHT45 to an ESP32 DevKit V1 at 3.3 V on GPIO21/22, read high-precision temperature and humidity, and use a 1 s heater pulse when wet.
- [SIM800L with ESP32 DevKit V1 — 4 V supply, Serial2 and AT checks](https://flashready.in/boards/esp32-devkit-v1/sim800l-gsm/arduino): Power a SIM800L from a Li-ion cell or 4 V buck, wire it to ESP32 DevKit V1 Serial2 (GPIO16/17) and check SIM, signal and network registration with AT commands.
- [KY-038 sound sensor with ESP32 DevKit V1 — level and clap interrupt](https://flashready.in/boards/esp32-devkit-v1/sound-sensor-ky038/arduino): Wire a KY-038 microphone module to an ESP32 DevKit V1 at 3.3 V: A0 on ADC1 pin D34 for a peak-to-peak level, D0 on D27 as an IRAM interrupt for clap switching.
- [SSD1306 OLED with ESP32 — I2C wiring and Arduino code](https://flashready.in/boards/esp32-devkit-v1/ssd1306-oled/arduino): Wire a 0.96-inch SSD1306 I2C OLED to an ESP32 DevKit V1 (D21 SDA, D22 SCL, 3.3 V) and draw text with the Adafruit SSD1306 library.
- [ST7735 1.8″ TFT with ESP32 DevKit V1 — SPI wiring and colour test](https://flashready.in/boards/esp32-devkit-v1/st7735-tft/arduino): Wire a 1.8-inch ST7735 SPI TFT to an ESP32 DevKit V1 on VSPI (D18/D23) with CS, A0 and RESET on boot-safe pins, then draw colour bars and a live clock.
- [SX1278 LoRa (Ra-02) with ESP32 DevKit V1 — VSPI wiring and ping test](https://flashready.in/boards/esp32-devkit-v1/sx1278-lora/arduino): Wire an SX1278 Ra-02 LoRa module to an ESP32 DevKit V1 on VSPI with NSS on D4, run a two-board ping test with RSSI, and pick the right frequency for India.
- [TB6612FNG with ESP32 DevKit V1 — 3.3 V logic and silent 20 kHz PWM](https://flashready.in/boards/esp32-devkit-v1/tb6612fng/arduino): Drive two DC motors from an ESP32 DevKit V1 with a TB6612FNG: logic on 3V3, a separate motor battery, 20 kHz LEDC PWM on D25/D32 and boot-safe direction pins.
- [TCRT5000 line sensor with ESP32 DevKit V1 — DO and ADC1 analog](https://flashready.in/boards/esp32-devkit-v1/tcrt5000/arduino): Read a TCRT5000 IR line sensor on an ESP32 DevKit V1: DO on GPIO19 and AO on ADC1 pin GPIO34, powered from 3V3 so both outputs stay at 3.3 V.
- [TM1637 4-digit display with ESP32 DevKit V1 — 3.3 V wiring and clock](https://flashready.in/boards/esp32-devkit-v1/tm1637-display/arduino): Run a TM1637 7-segment display from an ESP32 DevKit V1 at 3.3 V on GPIO18/19 and show an mm:ss counter with a blinking colon using the TM1637Display library.
- [TTP223 touch sensor with ESP32 DevKit V1 — and the built-in touch pins](https://flashready.in/boards/esp32-devkit-v1/ttp223-touch/arduino): Wire a TTP223 touch module to an ESP32 DevKit V1 at 3.3 V on GPIO4 as a toggle switch, and compare it with the ESP32’s own touchRead() pads.
- [28BYJ-48 + ULN2003 with ESP32 DevKit V1 — stepper wiring and code](https://flashready.in/boards/esp32-devkit-v1/uln2003-stepper/arduino): Turn a 28BYJ-48 stepper from an ESP32 DevKit V1 through a ULN2003 board on GPIO25/26/27/33, with 5 V motor power and the IN1-IN3-IN2-IN4 coil order.
- [VL53L0X with ESP32 DevKit V1 — laser distance over I2C](https://flashready.in/boards/esp32-devkit-v1/vl53l0x/arduino): Wire a VL53L0X time-of-flight sensor to an ESP32 DevKit V1 at 3.3 V on GPIO21/22 and read millimetre distances with the Pololu library in continuous mode.
- [VL53L1X with ESP32 DevKit V1 — 4 m laser ranging on D21/D22](https://flashready.in/boards/esp32-devkit-v1/vl53l1x/arduino): Wire a VL53L1X to an ESP32 DevKit V1 at 3.3 V, reset it safely through XSHUT on D4, and measure up to about 4 m in long mode with the Pololu library.
- [Water level sensor with ESP32 DevKit V1 — VP input, GPIO power](https://flashready.in/boards/esp32-devkit-v1/water-level-sensor/arduino): Read the S/+/- water level sensor on an ESP32 DevKit V1: S on VP (GPIO36, ADC1), + switched from GPIO27 so the traces don’t corrode, and a two-point calibration.
- [WS2812B (NeoPixel) LED strip with ESP32 — wiring and rainbow code](https://flashready.in/boards/esp32-devkit-v1/ws2812b-led/arduino): Drive a short WS2812B strip from an ESP32 DevKit V1 on GPIO13 with a 330 Ω series resistor, safe power limits and the Adafruit NeoPixel library.
- [YF-S201 flow sensor with ESP32 DevKit V1 — litres and L/min](https://flashready.in/boards/esp32-devkit-v1/yf-s201-flow/arduino): Measure water flow and total litres with a YF-S201 on an ESP32 DevKit V1: 5 V from VIN, a 10 kΩ / 20 kΩ divider on the pulse line to GPIO27, interrupt counting.
- [ZMPT101B with ESP32 DevKit V1 — mains voltage on ADC1, safely](https://flashready.in/boards/esp32-devkit-v1/zmpt101b/arduino): Read a ZMPT101B AC voltage sensor on an ESP32 DevKit V1: 3.3 V supply, OUT on ADC1 GPIO34, RMS over 10 cycles, calibration to a meter. Mains side is electrician-only.
- [BME280 with ESP32 38-pin DevKitC — one-side wiring and pressure trend](https://flashready.in/boards/esp32-devkitc-38pin/bme280/arduino): Wire a BME280 to a 38-pin ESP32 DevKitC using only the left header (3V3, 32, 33, GND) and log temperature, humidity and a 3-hour pressure trend.
- [DHT22 with ESP32 38-pin DevKitC — wiring by the printed labels](https://flashready.in/boards/esp32-devkitc-38pin/dht22/arduino): Wire a DHT22 to a 38-pin ESP32 DevKitC on the pin printed 27, at 3.3 V with a 10 kΩ pull-up, and keep clear of the D0–D3 flash pins that look like digital pins.
- [HC-SR04 with ESP32 38-pin DevKitC — input-only echo pin and median filter](https://flashready.in/boards/esp32-devkitc-38pin/hc-sr04/arduino): Wire an HC-SR04 to a 38-pin ESP32 DevKitC with ECHO on input-only GPIO34 through a 1 kΩ / 2 kΩ divider, and get steady, temperature-corrected distances.
- [16×2 I2C LCD with ESP32 38-pin DevKitC — 5 V backpack, level-shifted](https://flashready.in/boards/esp32-devkitc-38pin/lcd-16x2-i2c/arduino): Run a 5 V 16×2 I2C LCD from a 38-pin ESP32 DevKitC: VCC on 5V, SDA/SCL on 21/22 through a BSS138 level shifter, auto-detected address and a smooth bar graph.
- [Relay module with ESP32 38-pin DevKitC — BOOT-button toggle and timer](https://flashready.in/boards/esp32-devkitc-38pin/relay-module/arduino): Drive a 5 V relay module from a 38-pin ESP32 DevKitC on pin 13, toggle it with the on-board BOOT button, add an auto-off timer, and keep 230 V wiring safe.
- [SG90 servo with ESP32 38-pin DevKitC — own supply, smooth moves](https://flashready.in/boards/esp32-devkitc-38pin/sg90-servo/arduino): Drive an SG90 from a 38-pin ESP32 DevKitC on pin 32 with a separate 5 V supply and shared GND, move it smoothly to typed angles and detach it to stop jitter.
- [SSD1306 OLED with ESP32 38-pin DevKitC — I2C wiring and board ID screen](https://flashready.in/boards/esp32-devkitc-38pin/ssd1306-oled/arduino): Wire a 0.96″ SSD1306 OLED to a 38-pin ESP32 DevKitC on pins 21/22, auto-detect its address, and show the chip, silicon version, flash size and MAC of your clone.
- [WS2812B strip with ESP32 38-pin DevKitC — 5 V supply and current limit](https://flashready.in/boards/esp32-devkitc-38pin/ws2812b-led/arduino): Run a 30-LED WS2812B strip from a 5 V adapter with a 38-pin ESP32 DevKitC on pin 25, share the ground, and cap the current in code so the supply never overloads.
- [BME280 with ESP32-S3-DevKitC-1 — I2C on GPIO8/9](https://flashready.in/boards/esp32-s3-devkitc-1/bme280/arduino): Read temperature, humidity and pressure from a BME280 on an ESP32-S3-DevKitC-1 using the S3’s default I2C pins, GPIO8 (SDA) and GPIO9 (SCL).
- [DHT22 with ESP32-S3-DevKitC-1 — wiring and code](https://flashready.in/boards/esp32-s3-devkitc-1/dht22/arduino): Wire a DHT22 to an ESP32-S3-DevKitC-1 on GPIO4 at 3.3 V and read temperature, humidity and heat index — plus which USB-C port shows the output.
- [DS18B20 with ESP32-S3-DevKitC-1 — several probes on one pin](https://flashready.in/boards/esp32-s3-devkitc-1/ds18b20/arduino): Read one or more DS18B20 waterproof probes on GPIO5 of an ESP32-S3-DevKitC-1 with a single 4.7 kΩ pull-up, each probe identified by its address.
- [HC-SR04 with ESP32-S3-DevKitC-1 — divider and median filter](https://flashready.in/boards/esp32-s3-devkitc-1/hc-sr04/arduino): Measure distance with an HC-SR04 on an ESP32-S3-DevKitC-1: 5V supply, Trig GPIO6, Echo GPIO7 through a 1 kΩ / 2 kΩ divider, median of five pings.
- [HX711 load cell with ESP32-S3-DevKitC-1 — weighing scale](https://flashready.in/boards/esp32-s3-devkitc-1/hx711-load-cell/arduino): Build a weighing scale with an HX711 and load cell on an ESP32-S3-DevKitC-1: DT on GPIO5, SCK on GPIO6, 3.3 V supply, tare and calibration.
- [16x2 I2C LCD with ESP32-S3-DevKitC-1 — 5 V with a level shifter](https://flashready.in/boards/esp32-s3-devkitc-1/lcd-16x2-i2c/arduino): Run a 5 V 16x2 I2C LCD from an ESP32-S3-DevKitC-1: LCD on 5V, SDA/SCL on GPIO8/9 through a BSS138 level shifter, address 0x27 or 0x3F.
- [MAX7219 LED matrix with ESP32-S3-DevKitC-1 — MD_MAX72XX](https://flashready.in/boards/esp32-s3-devkitc-1/max7219-matrix/arduino): Scroll text on a 4-in-1 MAX7219 LED matrix from an ESP32-S3-DevKitC-1 on hardware SPI (GPIO10/11/12), level-shifted to 5 V, with MD_MAX72XX.
- [MAX30102 pulse sensor with ESP32-S3-DevKitC-1 — heart rate](https://flashready.in/boards/esp32-s3-devkitc-1/max30102/arduino): Read heart rate from a MAX30102 on an ESP32-S3-DevKitC-1 over I2C (GPIO8/9, address 0x57) with the SparkFun MAX3010x library. Not a medical device.
- [microSD card module with ESP32-S3-DevKitC-1 — CSV logger](https://flashready.in/boards/esp32-s3-devkitc-1/microsd-module/arduino): Log data to a microSD card from an ESP32-S3-DevKitC-1 on its default SPI pins (CS 10, MOSI 11, SCK 12, MISO 13), module powered from 5V.
- [MPU6050 with ESP32-S3-DevKitC-1 — pitch and roll](https://flashready.in/boards/esp32-s3-devkitc-1/mpu6050/arduino): Read an MPU6050 (GY-521) on an ESP32-S3-DevKitC-1 over I2C on GPIO8/9 and turn the accelerometer data into pitch and roll angles.
- [MQ-135 air-quality sensor with ESP32-S3-DevKitC-1](https://flashready.in/boards/esp32-s3-devkitc-1/mq-135/arduino): Read an MQ-135 on an ESP32-S3-DevKitC-1: 5 V heater, AO on GPIO1 (ADC1, works with Wi-Fi) through a 10 kΩ / 20 kΩ divider, relative air-quality trend.
- [NEO-6M GPS with ESP32-S3-DevKitC-1 — UART1 on GPIO17/18](https://flashready.in/boards/esp32-s3-devkitc-1/neo-6m-gps/arduino): Read a NEO-6M GPS on an ESP32-S3-DevKitC-1 with Serial1 on explicit pins (RX 18, TX 17) — core 3.x defaults Serial1 to 15/16 — and TinyGPSPlus.
- [RC522 RFID with ESP32-S3-DevKitC-1 — SPI wiring and code](https://flashready.in/boards/esp32-s3-devkitc-1/rc522-rfid/arduino): Read RFID card UIDs with an RC522 on an ESP32-S3-DevKitC-1 using the S3’s default SPI pins: SS 10, MOSI 11, SCK 12, MISO 13, RST 14, powered from 3V3.
- [Relay module with ESP32-S3-DevKitC-1 — wiring and safe code](https://flashready.in/boards/esp32-s3-devkitc-1/relay-module/arduino): Switch a 3.3 V-trigger relay from GPIO21 of an ESP32-S3-DevKitC-1, off at boot, with the relay state shown on the board’s own RGB LED.
- [SG90 servo with ESP32-S3-DevKitC-1 — set the angle over Serial](https://flashready.in/boards/esp32-s3-devkitc-1/sg90-servo/arduino): Control an SG90 servo from GPIO14 of an ESP32-S3-DevKitC-1 with ESP32Servo: type an angle in the Serial Monitor, servo on its own 5 V supply.
- [SSD1306 OLED with ESP32-S3-DevKitC-1 — I2C wiring and code](https://flashready.in/boards/esp32-s3-devkitc-1/ssd1306-oled/arduino): Connect a 128×64 SSD1306 OLED to an ESP32-S3-DevKitC-1 on GPIO8 (SDA) and GPIO9 (SCL) at 3.3 V and show uptime and free heap.
- [1.8″ ST7735 TFT with ESP32-S3-DevKitC-1 — hardware SPI](https://flashready.in/boards/esp32-s3-devkitc-1/st7735-tft/arduino): Drive a 1.8-inch ST7735 colour TFT from an ESP32-S3-DevKitC-1 on hardware SPI (GPIO11/12) with CS 10, DC 15 and RESET 16 using Adafruit ST7735.
- [SX1278 LoRa (Ra-02) with ESP32-S3-DevKitC-1 — 433 MHz link](https://flashready.in/boards/esp32-s3-devkitc-1/sx1278-lora/arduino): Send and receive 433 MHz LoRa packets with an SX1278 Ra-02 on an ESP32-S3-DevKitC-1: SPI on GPIO10–13, RST 14, DIO0 4, low transmit power.
- [TTP223 touch sensor with ESP32-S3-DevKitC-1 (and built-in touch)](https://flashready.in/boards/esp32-s3-devkitc-1/ttp223-touch/arduino): Read a TTP223 touch module on GPIO5 of an ESP32-S3-DevKitC-1, side by side with the S3’s own capacitive touch on GPIO2 — where touchRead() rises.
- [WS2812B strip and the on-board RGB LED on ESP32-S3-DevKitC-1](https://flashready.in/boards/esp32-s3-devkitc-1/ws2812b-led/arduino): Drive a WS2812B strip from GPIO4 on an ESP32-S3-DevKitC-1 and the board’s own RGB LED (GPIO48 on v1.0, GPIO38 on v1.1) with Adafruit NeoPixel.
- [BME280 with LOLIN S2 Mini — wiring and code](https://flashready.in/boards/lolin-s2-mini/bme280/arduino): Read temperature, humidity and pressure from a BME280 on a LOLIN S2 Mini over I2C on GPIO33 (SDA) and GPIO35 (SCL), powered from 3V3.
- [DHT22 with LOLIN S2 Mini — use the built-in pull-up on GPIO18](https://flashready.in/boards/lolin-s2-mini/dht22/arduino): Wire a DHT22 to a LOLIN S2 Mini on GPIO18, which already has a 10 kΩ pull-up on the board, and read it over the S2’s native USB serial.
- [DS18B20 with LOLIN S2 Mini — wiring and code](https://flashready.in/boards/lolin-s2-mini/ds18b20/arduino): Read a DS18B20 waterproof probe on GPIO16 (the D1 mini D4 position) of a LOLIN S2 Mini with a 4.7 kΩ pull-up to 3V3.
- [HC-SR04 with LOLIN S2 Mini — 5 V sensor, 3.3 V board](https://flashready.in/boards/lolin-s2-mini/hc-sr04/arduino): Measure distance with an HC-SR04 on a LOLIN S2 Mini: VCC from VBUS, Trig on GPIO5, Echo on GPIO7 through a 1 kΩ / 2 kΩ divider.
- [Relay module or relay shield with LOLIN S2 Mini](https://flashready.in/boards/lolin-s2-mini/relay-module/arduino): Switch a relay from GPIO35 of a LOLIN S2 Mini — the D1 position the Wemos relay shield uses — with the coil on VBUS and clear limits on the load.
- [SG90 servo with LOLIN S2 Mini — ESP32Servo](https://flashready.in/boards/lolin-s2-mini/sg90-servo/arduino): Sweep an SG90 servo from GPIO9 of a LOLIN S2 Mini with ESP32Servo, powered from its own 5 V supply with a common ground.
- [SSD1306 OLED with LOLIN S2 Mini — I2C on GPIO33/35](https://flashready.in/boards/lolin-s2-mini/ssd1306-oled/arduino): Show text on a 128x64 SSD1306 OLED from a LOLIN S2 Mini using its default I2C pins, GPIO33 (SDA) and GPIO35 (SCL) — where D1 mini shields expect them.
- [WS2812B LED strip with LOLIN S2 Mini](https://flashready.in/boards/lolin-s2-mini/ws2812b-led/arduino): Drive a WS2812B strip from GPIO5 of a LOLIN S2 Mini through 330 Ω, with the strip on its own 5 V supply, a common ground and the blue LED as a heartbeat.
- [74HC595 shift register with NodeMCU ESP8266 — 8 outputs, Wi-Fi signal bar](https://flashready.in/boards/nodemcu-esp8266/74hc595/arduino): Add 8 outputs to a NodeMCU with a 74HC595 at 3.3 V (DS D7, clock D5, latch D6), avoiding the boot pins, and show Wi-Fi signal strength as an LED bar.
- [Active buzzer with NodeMCU ESP8266 — wiring and beep patterns](https://flashready.in/boards/nodemcu-esp8266/active-buzzer-module/arduino): Wire an active buzzer module to a NodeMCU ESP8266 on D5 (GPIO14), keep it silent at boot, and play beep patterns without blocking Wi-Fi.
- [BH1750 light sensor with NodeMCU ESP8266 — I2C wiring and lux code](https://flashready.in/boards/nodemcu-esp8266/bh1750/arduino): Wire a BH1750 (GY-302) light sensor to a NodeMCU ESP8266 on D1/D2 and read lux over I2C, keeping the single A0 analog pin free.
- [BME280 with NodeMCU ESP8266 — I2C wiring and weather code](https://flashready.in/boards/nodemcu-esp8266/bme280/arduino): Wire a BME280 to a NodeMCU ESP8266 on D1/D2 at 3.3 V and read temperature, humidity, pressure and altitude, with the 0x76/0x77 address handled.
- [BMP280 with NodeMCU ESP8266 — wiring and pressure-trend code](https://flashready.in/boards/nodemcu-esp8266/bmp280/arduino): Wire a purple GY-BMP280 board to a NodeMCU ESP8266 on D1/D2 at 3.3 V, fix the 0x76 vs 0x77 address and track the pressure trend.
- [Capacitive soil moisture sensor with NodeMCU ESP8266 — A0 wiring and code](https://flashready.in/boards/nodemcu-esp8266/capacitive-soil-moisture/arduino): Wire a capacitive soil moisture sensor v1.2 to the NodeMCU ESP8266’s only analog pin A0 at 3.3 V, calibrate dry and wet, and print moisture in %.
- [DHT11 with NodeMCU ESP8266 — wiring on D5 and code](https://flashready.in/boards/nodemcu-esp8266/dht11/arduino): Wire a 3-pin DHT11 module to a NodeMCU ESP8266 on D5 (GPIO14) at 3.3 V and read whole-degree temperature and humidity with the DHT library.
- [DHT22 with NodeMCU ESP8266 — wiring and code](https://flashready.in/boards/nodemcu-esp8266/dht22/arduino): Wire a DHT22 to a NodeMCU ESP8266 on D2 (GPIO4) at 3.3 V with its pull-up and read temperature and humidity in Arduino C++.
- [DS18B20 with NodeMCU ESP8266 — wiring and non-blocking code](https://flashready.in/boards/nodemcu-esp8266/ds18b20/arduino): Wire a DS18B20 to a NodeMCU ESP8266 on D5 with a 4.7 kΩ pull-up to 3V3 and read it without the 750 ms block that stalls Wi-Fi code.
- [DS3231 RTC with NodeMCU ESP8266 — wiring and clock code](https://flashready.in/boards/nodemcu-esp8266/ds3231-rtc/arduino): Keep time through power cuts with a DS3231 RTC on a NodeMCU ESP8266: I2C on D1/D2 at 3.3 V, set once from compile time, read with RTClib.
- [HC-12 433 MHz radio with NodeMCU ESP8266 — range-test receiver](https://flashready.in/boards/nodemcu-esp8266/hc-12/arduino): Wire an HC-12 to a NodeMCU on SoftwareSerial (D5/D6) with SET on D7, read its settings, and count lost packets from a numbered beacon to test range.
- [HC-SR04 with NodeMCU ESP8266 — 5 V wiring with an Echo divider](https://flashready.in/boards/nodemcu-esp8266/hc-sr04/arduino): Power an HC-SR04 from the NodeMCU’s VIN, trigger it from D5 and bring the 5 V Echo down to 3.3 V on D6 with a 1 kΩ / 2 kΩ divider.
- [HX711 load cell with NodeMCU ESP8266 — wiring and scale code](https://flashready.in/boards/nodemcu-esp8266/hx711-load-cell/arduino): Build a weighing scale with an HX711 and load cell on a NodeMCU ESP8266: DT on D5, SCK on D6 at 3.3 V, tare and calibration in Arduino C++.
- [INA219 with NodeMCU ESP8266 — current and power monitor](https://flashready.in/boards/nodemcu-esp8266/ina219/arduino): Measure voltage, current and power with an INA219 on a NodeMCU ESP8266: I2C on D1/D2 at 3.3 V, the load wired through VIN+ and VIN−.
- [IR receiver (VS1838B) with NodeMCU ESP8266 — wiring and decoder code](https://flashready.in/boards/nodemcu-esp8266/ir-receiver-vs1838b/arduino): Wire a VS1838B IR receiver to a NodeMCU ESP8266 on D5 at 3.3 V and decode any TV or set-top-box remote with IRremote 4.x.
- [L298N motor driver with NodeMCU ESP8266 — wiring and code](https://flashready.in/boards/nodemcu-esp8266/l298n-driver/arduino): Drive two DC motors from a NodeMCU ESP8266 through an L298N: PWM speed on D1/D5, direction pins chosen around the boot pins, battery wiring.
- [16x2 I2C LCD with NodeMCU ESP8266 — 5 V wiring and code](https://flashready.in/boards/nodemcu-esp8266/lcd-16x2-i2c/arduino): Run a 16x2 I2C LCD at 5 V from a NodeMCU ESP8266’s VIN, level-shift SDA/SCL to D2/D1, and print text and a custom degree symbol.
- [20×4 I2C LCD with NodeMCU ESP8266 — level-shifted wiring](https://flashready.in/boards/nodemcu-esp8266/lcd-20x4-i2c/arduino): Run a 5 V 20×4 I2C LCD from a NodeMCU ESP8266: power from VIN, SDA/SCL on D2/D1 through a BSS138 level shifter, and print with LiquidCrystal I2C.
- [LDR light sensor with NodeMCU ESP8266 — A0 wiring and code](https://flashready.in/boards/nodemcu-esp8266/ldr-module/arduino): Read an LDR light-sensor module on the NodeMCU ESP8266’s only analog pin A0 (about 0–3.2 V) plus its DO threshold on D5, without starving Wi-Fi.
- [MAX7219 LED matrix with NodeMCU ESP8266 — level-shifted SPI and scroll code](https://flashready.in/boards/nodemcu-esp8266/max7219-matrix/arduino): Drive a 5 V MAX7219 4-in-1 LED matrix from a NodeMCU ESP8266 on HSPI through a level shifter, CS on D1, and scroll text with MD_MAX72XX.
- [MPU6050 with NodeMCU ESP8266 — I2C wiring and accel/gyro code](https://flashready.in/boards/nodemcu-esp8266/mpu6050/arduino): Wire a GY-521 MPU6050 to a NodeMCU ESP8266 on D1/D2 at 3.3 V and read acceleration, rotation and temperature with the Adafruit MPU6050 library.
- [MQ-2 gas sensor with NodeMCU ESP8266 — divider wiring and code](https://flashready.in/boards/nodemcu-esp8266/mq-2/arduino): Run an MQ-2 LPG/smoke sensor from NodeMCU VIN (5 V) and bring AO and DO down to 3.3 V with dividers into A0 and D5, with warm-up and alarm code.
- [MQ-135 air quality sensor with NodeMCU ESP8266 — wiring and Rs/R0 code](https://flashready.in/boards/nodemcu-esp8266/mq-135/arduino): Wire an MQ-135 to a NodeMCU ESP8266 with a 5 V heater and an AO divider into A0, then convert the reading to sensor resistance and an Rs/R0 trend.
- [NEO-6M GPS with NodeMCU ESP8266 — SoftwareSerial wiring and IST code](https://flashready.in/boards/nodemcu-esp8266/neo-6m-gps/arduino): Wire a NEO-6M GPS to a NodeMCU ESP8266 on D5/D6 with SoftwareSerial and print latitude, longitude, satellites and IST time with TinyGPSPlus.
- [HC-SR501 PIR with NodeMCU ESP8266 — wiring and motion code](https://flashready.in/boards/nodemcu-esp8266/pir-hc-sr501/arduino): Power an HC-SR501 PIR from the NodeMCU’s VIN, read its 3.3 V output on D7 and light the board’s own D0 LED on motion, with the warm-up handled.
- [Push button with NodeMCU ESP8266 — pull-up, interrupt and FLASH button](https://flashready.in/boards/nodemcu-esp8266/push-button/arduino): Wire a push button to a NodeMCU ESP8266 on D5 with the internal pull-up, count presses with an IRAM_ATTR interrupt, and reuse the on-board FLASH button.
- [PZEM-004T v3 with NodeMCU ESP8266 — SoftwareSerial on D5/D6](https://flashready.in/boards/nodemcu-esp8266/pzem-004t/arduino): Read voltage, current, power and kWh from a PZEM-004T v3.0 on a NodeMCU over SoftwareSerial (D5/D6), with a divider on its 5 V TX. Mains side: electrician only.
- [Rain sensor with NodeMCU ESP8266 — A0 and DO wiring, code](https://flashready.in/boards/nodemcu-esp8266/rain-sensor/arduino): Read a rain sensor on a NodeMCU ESP8266: AO into the 0–3.3 V A0 input, DO on D5, powered from 3V3 so the single ADC is never over-driven.
- [RC522 RFID with NodeMCU ESP8266 — SPI wiring and UID code](https://flashready.in/boards/nodemcu-esp8266/rc522-rfid/arduino): Wire an RC522 RFID reader to a NodeMCU ESP8266 on HSPI (D5–D8) with RST on D0, at 3.3 V, and print card UIDs with the MFRC522 library.
- [Relay module with NodeMCU ESP8266 — safe wiring and code](https://flashready.in/boards/nodemcu-esp8266/relay-module/arduino): Switch a 3.3 V-trigger relay module from a NodeMCU ESP8266 on D1 (GPIO5), with the relay held off at boot and clear mains-safety limits.
- [Rotary encoder with NodeMCU ESP8266 — interrupt code](https://flashready.in/boards/nodemcu-esp8266/rotary-encoder/arduino): Read a KY-040 rotary encoder on a NodeMCU ESP8266 with IRAM_ATTR interrupts on D5/D6, push button on D7, and a bounce-proof quadrature table.
- [SG90 servo with NodeMCU ESP8266 — wiring and full 0–180° code](https://flashready.in/boards/nodemcu-esp8266/sg90-servo/arduino): Drive an SG90 servo from a NodeMCU ESP8266 on D5 with the core’s Servo library, set to 500–2400 µs so it really turns 0–180°, and power it safely.
- [1.3″ SH1106 OLED with NodeMCU ESP8266 — wiring and code](https://flashready.in/boards/nodemcu-esp8266/sh1106-oled/arduino): Wire a 1.3″ SH1106 I2C OLED to a NodeMCU ESP8266 on D1/D2 at 3.3 V and drive it with Adafruit SH110X — not the SSD1306 library.
- [SIM800L with NodeMCU ESP8266 — power, SoftwareSerial, AT test](https://flashready.in/boards/nodemcu-esp8266/sim800l-gsm/arduino): Wire a SIM800L GSM module to a NodeMCU ESP8266 with its own 4 V 2 A supply, SoftwareSerial on D5/D6, and an AT-command test for SIM and network.
- [SSD1306 OLED with NodeMCU ESP8266 — I2C wiring and code](https://flashready.in/boards/nodemcu-esp8266/ssd1306-oled/arduino): Wire a 0.96″ SSD1306 I2C OLED to a NodeMCU ESP8266 on D1 (SCL) and D2 (SDA) at 3.3 V and print text with the Adafruit SSD1306 library.
- [SX1278 LoRa (Ra-02) with NodeMCU ESP8266 — wiring and code](https://flashready.in/boards/nodemcu-esp8266/sx1278-lora/arduino): Wire a 433 MHz SX1278 / Ra-02 LoRa module to a NodeMCU ESP8266 on HSPI with NSS off the D8 boot pin, and send and receive packets.
- [TM1637 4-digit display with NodeMCU ESP8266 — wiring and clock code](https://flashready.in/boards/nodemcu-esp8266/tm1637-display/arduino): Wire a TM1637 4-digit 7-segment display to a NodeMCU ESP8266 on D5/D6 at 3.3 V and show a mm:ss counter with a blinking colon.
- [WS2812B LED strip with NodeMCU ESP8266 — wiring and rainbow code](https://flashready.in/boards/nodemcu-esp8266/ws2812b-led/arduino): Drive a short WS2812B (NeoPixel) strip from a NodeMCU ESP8266 on D5 with a 330 Ω resistor, VIN power limits and the Adafruit NeoPixel library.
- [ILI9341 2.8-inch TFT with Raspberry Pi Pico 2 W — full-screen MicroPython framebuffer](https://flashready.in/boards/pico-2-w/ili9341-tft/micropython): Drive a 320×240 ILI9341 SPI TFT from a Pico 2 W on SPI1 with a full-screen framebuf — possible thanks to the RP2350’s 520 KB RAM — plus scaled text and a live graph.
- [JSN-SR04T with Raspberry Pi Pico 2 W — water tank level with phone alerts](https://flashready.in/boards/pico-2-w/jsn-sr04t/micropython): Measure an overhead water tank with a waterproof JSN-SR04T on a Pico 2 W: 5 V from VBUS, Echo through a 1 kΩ / 2 kΩ divider to GP15, % full and ntfy alerts.
- [4x4 keypad with Raspberry Pi Pico 2 W — MicroPython PIN lock that avoids erratum E9](https://flashready.in/boards/pico-2-w/keypad-4x4/micropython): Scan a 4x4 membrane keypad on a Pico 2 W (GP6–GP13) in MicroPython with rows driven LOW and column pull-ups, and check a PIN code — no pull-downs needed.
- [Push button with Raspberry Pi Pico 2 W — MicroPython and the pull-down erratum](https://flashready.in/boards/pico-2-w/push-button/micropython): Read a push button on a Pico 2 W the safe way: button to GND on GP14 with PULL_UP, debounce and long-press in MicroPython, and why PULL_DOWN fails on RP2350.
- [PZEM-004T energy meter with Raspberry Pi Pico 2 W — MicroPython Modbus (electrician-only mains side)](https://flashready.in/boards/pico-2-w/pzem-004t/micropython): Read voltage, current, power, kWh, frequency and PF from a PZEM-004T v3.0 on Pico 2 W UART0 in MicroPython. The 230 V side is for a licensed electrician only.
- [Rotary encoder with Raspberry Pi Pico 2 W — MicroPython interrupt decoding](https://flashready.in/boards/pico-2-w/rotary-encoder/micropython): Read a KY-040 rotary encoder on a Pico 2 W (CLK GP16, DT GP17, SW GP18) in MicroPython with pin interrupts and a quadrature table that ignores contact bounce.
- [SCD40 CO2 sensor with Raspberry Pi Pico 2 W — MicroPython with phone alert](https://flashready.in/boards/pico-2-w/scd40/micropython): Measure real CO2 ppm, temperature and humidity with an SCD40 on Pico 2 W I2C0 (GP4/GP5) in MicroPython, and get an optional ntfy alert when a room needs air.
- [SHT40 with Raspberry Pi Pico 2 W — MicroPython humidity with heater](https://flashready.in/boards/pico-2-w/sht40/micropython): Read an SHT40 on Pico 2 W I2C0 (GP4/GP5) in MicroPython with CRC checks, and use its built-in heater to dry condensation in monsoon humidity.
- [Active buzzer module with Raspberry Pi Pico W — MicroPython beeps](https://flashready.in/boards/pico-w/active-buzzer-module/micropython): Beep an active buzzer module from a Pico W on GP18 in MicroPython: short, long and alarm patterns, with high- and low-level trigger modules covered.
- [AHT20 with Raspberry Pi Pico W — MicroPython temperature and humidity](https://flashready.in/boards/pico-w/aht20/micropython): Read an AHT20 (or the AHT20 + BMP280 combo board) on Pico W I2C0 (GP4/GP5) in MicroPython with a CRC-checked driver in 30 lines.
- [BH1750 light sensor with Raspberry Pi Pico W — lux in MicroPython](https://flashready.in/boards/pico-w/bh1750/micropython): Measure light in lux with a BH1750 (GY-302) on Pico W I2C0 (GP4/GP5) in MicroPython: two I2C commands and a two-byte read, no library.
- [BME280 with Raspberry Pi Pico W — MicroPython weather sensor](https://flashready.in/boards/pico-w/bme280/micropython): Read temperature, humidity and pressure from a BME280 on a Pico W (I2C0 GP4/GP5) in MicroPython with a small included driver.
- [BMP280 with Raspberry Pi Pico W — MicroPython pressure and altitude](https://flashready.in/boards/pico-w/bmp280/micropython): Read temperature, pressure and altitude from a BMP280 on Pico W I2C0 (GP4/GP5) in MicroPython with a short driver built into the script.
- [Capacitive soil moisture sensor with Raspberry Pi Pico W — MicroPython](https://flashready.in/boards/pico-w/capacitive-soil-moisture/micropython): Read a capacitive soil moisture sensor v1.2 on Pico W ADC0 (GP26) in MicroPython, calibrate dry and wet values, and turn them into a percentage.
- [DHT11 with Raspberry Pi Pico W — MicroPython wiring and code](https://flashready.in/boards/pico-w/dht11/micropython): Read a DHT11 temperature and humidity sensor on a Pico W (GP15, 3.3 V) with the dht module built into MicroPython — no library to install.
- [DHT22 with Raspberry Pi Pico W — MicroPython wiring and code](https://flashready.in/boards/pico-w/dht22/micropython): Wire a DHT22 / AM2302 to a Raspberry Pi Pico W on GP15 at 3.3 V and read temperature and humidity with the built-in MicroPython dht module.
- [DS18B20 with Raspberry Pi Pico W — MicroPython 1-Wire code](https://flashready.in/boards/pico-w/ds18b20/micropython): Wire one or more DS18B20 waterproof probes to a Pico W on GP22 with a 4.7 kΩ pull-up and read them with the built-in onewire and ds18x20 modules.
- [DS3231 RTC with Raspberry Pi Pico W — set from internet time in MicroPython](https://flashready.in/boards/pico-w/ds3231-rtc/micropython): Keep accurate IST time through power cuts: a DS3231 on Pico W I2C1 (GP6/GP7), set automatically from NTP over Wi-Fi, read back in MicroPython.
- [HC-SR04 with Raspberry Pi Pico W — safe 5 V wiring and MicroPython code](https://flashready.in/boards/pico-w/hc-sr04/micropython): Measure distance with an HC-SR04 on a Pico W: 5 V from VBUS, a 1 kΩ / 2 kΩ divider on Echo into GP15, and time_pulse_us in MicroPython.
- [HX711 load cell with Raspberry Pi Pico W — MicroPython weighing scale](https://flashready.in/boards/pico-w/hx711-load-cell/micropython): Build a weighing scale with an HX711 and load cell on a Pico W (DT GP16, SCK GP17, 3.3 V) in MicroPython: tare, calibrate, and read grams.
- [INA219 with Raspberry Pi Pico W — measure current and power in MicroPython](https://flashready.in/boards/pico-w/ina219/micropython): Measure load voltage, current, power and mAh with an INA219 on Pico W I2C0 (GP4/GP5) in MicroPython, reading the shunt and bus registers directly.
- [IR obstacle sensor with Raspberry Pi Pico W — MicroPython wiring and code](https://flashready.in/boards/pico-w/ir-obstacle-sensor/micropython): Detect objects with an FC-51 style IR obstacle sensor on a Pico W (GP17, 3.3 V) in MicroPython, count passes and light the on-board LED.
- [IR receiver VS1838B with Raspberry Pi Pico W — decode remotes in MicroPython](https://flashready.in/boards/pico-w/ir-receiver-vs1838b/micropython): Decode NEC TV and set-top-box remote buttons with a VS1838B IR receiver on a Pico W (GP16, 3.3 V) using time_pulse_us in MicroPython, no library.
- [Joystick module with Raspberry Pi Pico W — MicroPython X/Y and button](https://flashready.in/boards/pico-w/joystick-module/micropython): Read an analog joystick on a Pico W: VRx/VRy on ADC0/ADC1 (GP26/GP27) and SW on GP22, powered from 3V3, with centre calibration and a dead zone.
- [L298N motor driver with Raspberry Pi Pico W — PWM speed in MicroPython](https://flashready.in/boards/pico-w/l298n-driver/micropython): Control a DC motor’s direction and speed with an L298N from a Pico W: IN1/IN2 on GP14/GP13, PWM on ENA (GP15), motor on its own 7–12 V battery.
- [16x2 I2C LCD with Raspberry Pi Pico W — level-shifted wiring and MicroPython](https://flashready.in/boards/pico-w/lcd-16x2-i2c/micropython): Drive a 16x2 I2C LCD (PCF8574 backpack) from a Pico W: 5 V from VBUS, SDA/SCL through a level shifter to GP4/GP5, and a small MicroPython driver.
- [LDR light sensor with Raspberry Pi Pico W — MicroPython analog and digital](https://flashready.in/boards/pico-w/ldr-module/micropython): Read an LDR light-sensor module on a Pico W: AO on ADC1 (GP27), DO on GP16, powered from 3V3 so neither output can exceed the Pico’s limit.
- [MAX7219 8x32 LED matrix with Raspberry Pi Pico W — scrolling text in MicroPython](https://flashready.in/boards/pico-w/max7219-matrix/micropython): Scroll text on a 4-in-1 MAX7219 LED matrix from a Pico W over SPI0 with framebuf, powered from VBUS and buffered to 5 V logic for a reliable display.
- [MLX90614 IR thermometer with Raspberry Pi Pico W — MicroPython](https://flashready.in/boards/pico-w/mlx90614/micropython): Read object and ambient temperature from an MLX90614 (GY-906) on Pico W I2C0 at 100 kHz in MicroPython with SMBus word reads, no library.
- [MPU6050 with Raspberry Pi Pico W — MicroPython accelerometer and gyro](https://flashready.in/boards/pico-w/mpu6050/micropython): Read an MPU6050 (GY-521) on Pico W I2C0 (GP4/GP5) in MicroPython with no library: wake it, read raw accel and gyro, and work out pitch and roll.
- [MQ-2 gas sensor with Raspberry Pi Pico W — LPG leak alarm in MicroPython](https://flashready.in/boards/pico-w/mq-2/micropython): Detect LPG and smoke with an MQ-2 on a Pico W: 5 V heater from VBUS, AO through a 10 kΩ / 20 kΩ divider into ADC0 (GP26), alarm from a clean-air baseline.
- [MQ-135 air quality sensor with Raspberry Pi Pico W — MicroPython Rs/R0](https://flashready.in/boards/pico-w/mq-135/micropython): Track indoor air quality with an MQ-135 on a Pico W: 5 V heater from VBUS, divided AO into ADC1 (GP27), and an Rs/R0 ratio calibrated in fresh air.
- [NEO-6M GPS with Raspberry Pi Pico W — MicroPython NMEA parsing](https://flashready.in/boards/pico-w/neo-6m-gps/micropython): Read position, speed and IST time from a NEO-6M GPS on Pico W UART0 (GP0/GP1) in MicroPython, with checksum checks and a Google Maps link.
- [Passive buzzer with Raspberry Pi Pico W — play notes with MicroPython PWM](https://flashready.in/boards/pico-w/passive-buzzer/micropython): Play a scale and a short tune on a passive buzzer from a Pico W on GP18 using MicroPython hardware PWM: freq() sets the note, duty_u16 the volume.
- [HC-SR501 PIR sensor with Raspberry Pi Pico W — MicroPython motion alert](https://flashready.in/boards/pico-w/pir-hc-sr501/micropython): Detect motion with an HC-SR501 PIR on a Pico W (5 V from VBUS, OUT to GP16) and send an optional phone alert through ntfy over Wi-Fi in MicroPython.
- [Potentiometer with Raspberry Pi Pico W — MicroPython ADC read_u16](https://flashready.in/boards/pico-w/potentiometer/micropython): Read a 10 kΩ potentiometer on Pico W ADC0 (GP26) with MicroPython’s read_u16, convert it to volts and percent, and dim an LED with PWM.
- [Rain sensor with Raspberry Pi Pico W — MicroPython rain detector](https://flashready.in/boards/pico-w/rain-sensor/micropython): Detect rain with an FC-37 / YL-83 raindrop sensor on a Pico W: AO on ADC2 (GP28) for intensity, DO on GP21 for a yes/no, powered from 3V3.
- [RC522 RFID with Raspberry Pi Pico W — read card UIDs in MicroPython](https://flashready.in/boards/pico-w/rc522-rfid/micropython): Read RFID card and key-fob UIDs with an RC522 on Pico W SPI0 (GP16–GP20) in MicroPython, with a small included driver and an access-granted demo.
- [Relay module with Raspberry Pi Pico W — web page on/off in MicroPython](https://flashready.in/boards/pico-w/relay-module/micropython): Switch a 3.3 V-trigger relay module from a Pico W on GP15 using a small web page on your Wi-Fi, with the relay held off at boot and clear mains limits.
- [SG90 servo with Raspberry Pi Pico W — MicroPython PWM code](https://flashready.in/boards/pico-w/sg90-servo/micropython): Drive an SG90 servo from a Pico W on GP15 with MicroPython hardware PWM at 50 Hz, using duty_ns for precise pulse widths.
- [1.3-inch SH1106 OLED with Raspberry Pi Pico W — MicroPython driver](https://flashready.in/boards/pico-w/sh1106-oled/micropython): Drive a 1.3-inch SH1106 128×64 I2C OLED from a Pico W on GP4/GP5 in MicroPython with a small framebuf driver that fixes the 2-column offset.
- [SHT31 with Raspberry Pi Pico W — accurate humidity in MicroPython](https://flashready.in/boards/pico-w/sht31/micropython): Read an SHT31 temperature and humidity sensor on Pico W I2C0 (GP4/GP5) in MicroPython: single-shot command, CRC check, no library.
- [KY-038 sound sensor with Raspberry Pi Pico W — clap switch in MicroPython](https://flashready.in/boards/pico-w/sound-sensor-ky038/micropython): Make a clap switch with a KY-038 sound sensor on a Pico W: D0 on GP16 with a pin interrupt, A0 on ADC0 (GP26) for the level, powered from 3V3.
- [SSD1306 OLED with Raspberry Pi Pico W — MicroPython wiring and code](https://flashready.in/boards/pico-w/ssd1306-oled/micropython): Connect a 128×64 SSD1306 I2C OLED to a Pico W on GP4/GP5 and draw text in MicroPython with the micropython-lib ssd1306 driver.
- [TM1637 display with Raspberry Pi Pico W — internet clock in MicroPython](https://flashready.in/boards/pico-w/tm1637-display/micropython): Turn a TM1637 4-digit display and a Pico W into an IST clock set from internet time (NTP) in MicroPython, with a tiny driver and a blinking colon.
- [TTP223 touch sensor with Raspberry Pi Pico W — MicroPython toggle switch](https://flashready.in/boards/pico-w/ttp223-touch/micropython): Use a TTP223 capacitive touch pad on a Pico W (GP16, 3.3 V) as a toggle switch in MicroPython, counting touches with a pin interrupt.
- [28BYJ-48 stepper and ULN2003 with Raspberry Pi Pico W — MicroPython](https://flashready.in/boards/pico-w/uln2003-stepper/micropython): Turn a 28BYJ-48 stepper through a ULN2003 board from a Pico W on GP10–GP13 in MicroPython: half-step sequence, angles, and coils off when idle.
- [WS2812B (NeoPixel) strip with Raspberry Pi Pico W — MicroPython](https://flashready.in/boards/pico-w/ws2812b-led/micropython): Drive a short WS2812B strip from a Pico W on GP16 with MicroPython’s built-in neopixel module, powered safely from USB 5 V.
- [74HC595 shift register with Raspberry Pi Pico — 8 LEDs from 3 pins in MicroPython](https://flashready.in/boards/raspberry-pi-pico/74hc595/micropython): Drive 8 LEDs from a 74HC595 on a Raspberry Pi Pico using hardware SPI0 (GP18/GP19) and a latch on GP17 in MicroPython: binary counter and Knight Rider.
- [A4988 stepper driver with Raspberry Pi Pico — NEMA 17 in MicroPython](https://flashready.in/boards/raspberry-pi-pico/a4988-stepper/micropython): Run a NEMA 17 stepper from a Raspberry Pi Pico through an A4988: STEP/DIR/EN on GP14/GP15/GP13, 3.3 V logic, 12 V motor supply, acceleration ramp.
- [HC-05 Bluetooth with Raspberry Pi Pico — control it from your phone in MicroPython](https://flashready.in/boards/raspberry-pi-pico/hc-05-bluetooth/micropython): Give the wireless-free Raspberry Pi Pico Bluetooth with an HC-05 on UART0 (GP0/GP1): switch the GP25 LED and read the chip temperature from an Android app.
- [16x2 parallel LCD with Raspberry Pi Pico — 4-bit wiring and MicroPython](https://flashready.in/boards/raspberry-pi-pico/lcd-16x2-parallel/micropython): Wire a plain 16x2 HD44780 LCD (no I2C backpack) to a Raspberry Pi Pico in 4-bit mode: 5 V from VBUS, RW to GND, six GPIOs, and a short MicroPython driver.
- [LM35 temperature sensor with Raspberry Pi Pico — MicroPython ADC wiring](https://flashready.in/boards/raspberry-pi-pico/lm35/micropython): Read an LM35 on a Raspberry Pi Pico: 5 V from VBUS, VOUT straight into ADC0 (GP26) — it is only 10 mV per °C — with averaging and AGND for a steady reading.
- [MAX6675 thermocouple with Raspberry Pi Pico — MicroPython high-temperature reading](https://flashready.in/boards/raspberry-pi-pico/max6675-thermocouple/micropython): Read a K-type thermocouple up to 1024 °C with a MAX6675 on a Raspberry Pi Pico (SPI1, 3.3 V) in MicroPython: 16-bit read, open-probe detection.
- [microSD card module with Raspberry Pi Pico — MicroPython CSV data logger](https://flashready.in/boards/raspberry-pi-pico/microsd-module/micropython): Log data to a microSD card from a Raspberry Pi Pico on SPI1 (GP10–GP13) in MicroPython: mount FAT32 with sdcard.py, append CSV rows, flush safely.
- [Nokia 5110 LCD with Raspberry Pi Pico — MicroPython framebuf driver](https://flashready.in/boards/raspberry-pi-pico/nokia-5110/micropython): Drive a Nokia 5110 (PCD8544) LCD from a Raspberry Pi Pico on SPI0 in MicroPython: a framebuf driver, text, and a live graph of chip temperature and VSYS.
- [TCRT5000 line sensor with Raspberry Pi Pico — MicroPython line follower basics](https://flashready.in/boards/raspberry-pi-pico/tcrt5000/micropython): Detect a black line with a TCRT5000 IR reflective sensor on a Raspberry Pi Pico: DO on GP15, AO on ADC0 (GP26), powered from 3V3, GP25 LED as indicator.
- [TP4056 battery charger with Raspberry Pi Pico — run on Li-ion and read VSYS](https://flashready.in/boards/raspberry-pi-pico/tp4056-charger/micropython): Power a Raspberry Pi Pico from a Li-ion cell with a TP4056 into VSYS through a Schottky diode, and read the battery on ADC3 (GP29) in MicroPython.
- [BH1750 light sensor with Wemos D1 mini — dusk switch in lux](https://flashready.in/boards/wemos-d1-mini/bh1750/arduino): Wire a BH1750 (GY-302) to a Wemos D1 mini on D1/D2, read light in lux and switch the built-in LED on at dusk with hysteresis so it never flickers.
- [BME280 with Wemos D1 mini — I2C wiring and forced-mode code](https://flashready.in/boards/wemos-d1-mini/bme280/arduino): Wire a BME280 to a Wemos D1 mini on D1/D2 at 3.3 V and read temperature, humidity and pressure in forced mode so the reading isn’t warmed by the board.
- [Capacitive soil moisture sensor with Wemos D1 mini (A0)](https://flashready.in/boards/wemos-d1-mini/capacitive-soil-moisture/arduino): Read a capacitive soil moisture sensor on the Wemos D1 mini’s A0 pin, which spans about 0–3.2 V, and calibrate dry and wet values into a moisture percentage.
- [DHT11 with Wemos D1 mini — temperature, humidity, feels-like](https://flashready.in/boards/wemos-d1-mini/dht11/arduino): Wire a DHT11 to a Wemos D1 mini on D5 at 3.3 V, keep D1/D2 free for an I2C shield, and print temperature, humidity and the heat index in Arduino C++.
- [DHT22 with Wemos D1 mini — battery logger with deep sleep](https://flashready.in/boards/wemos-d1-mini/dht22/arduino): Wire a DHT22 to a Wemos D1 mini on D2, jumper D0 to RST and take a reading every minute with ESP8266 deep sleep between them — ready for battery power.
- [DS18B20 with Wemos D1 mini — several sensors on one pin](https://flashready.in/boards/wemos-d1-mini/ds18b20/arduino): Wire one or more DS18B20 sensors to a Wemos D1 mini on D2 with a 4.7 kΩ pull-up, print each sensor’s 1-Wire address and read them all from one pin.
- [HC-SR04 with Wemos D1 mini — 5 V sensor, safe 3.3 V echo](https://flashready.in/boards/wemos-d1-mini/hc-sr04/arduino): Wire an HC-SR04 to a Wemos D1 mini: VCC on the 5V pin, Trig on D5 and Echo on D6 through a 1 kΩ / 2 kΩ divider, with median-filtered distance code.
- [16x2 I2C LCD with Wemos D1 mini — 5 V LCD, level-shifted I2C](https://flashready.in/boards/wemos-d1-mini/lcd-16x2-i2c/arduino): Run a 5 V 16x2 I2C LCD from a Wemos D1 mini: VCC on the 5V pin, SDA/SCL on D2/D1 through a level shifter, and auto-detect address 0x27 or 0x3F.
- [HC-SR501 PIR with Wemos D1 mini — interrupt-driven motion](https://flashready.in/boards/wemos-d1-mini/pir-hc-sr501/arduino): Wire an HC-SR501 PIR sensor to a Wemos D1 mini on D5, catch motion with an IRAM_ATTR interrupt and light the built-in LED — plus the Wi-Fi false-trigger fix.
- [RC522 RFID with Wemos D1 mini — SPI wiring and UID check](https://flashready.in/boards/wemos-d1-mini/rc522-rfid/arduino): Wire an RC522 RFID reader to a Wemos D1 mini on D5–D8 with RST on D0, read card UIDs with the MFRC522 library and check them against an allowed card.
- [Relay with Wemos D1 mini — relay shield or module on D1](https://flashready.in/boards/wemos-d1-mini/relay-module/arduino): Switch a relay from a Wemos D1 mini on D1 (GPIO5) — the relay shield’s pin — with the coil on 5V, off at boot, and a timed run that switches itself off.
- [SG90 servo with Wemos D1 mini — full 180° on the ESP8266](https://flashready.in/boards/wemos-d1-mini/sg90-servo/arduino): Drive an SG90 servo from a Wemos D1 mini on D5 with the ESP8266 core’s Servo library, set the 500–2400 µs range for a full sweep, and power it safely.
- [SSD1306 OLED with Wemos D1 mini — pocket Wi-Fi scanner](https://flashready.in/boards/wemos-d1-mini/ssd1306-oled/arduino): Wire a 0.96″ SSD1306 OLED to a Wemos D1 mini on D1/D2 at 3.3 V and list nearby Wi-Fi networks with channel and signal strength on the screen.
- [TP4056 with Wemos D1 mini — Li-ion power and battery monitor](https://flashready.in/boards/wemos-d1-mini/tp4056-charger/arduino): Run a Wemos D1 mini from a Li-ion cell with a TP4056 module: OUT+ to the 5V pin, a 100 kΩ resistor to A0 for battery voltage, and deep sleep in between.
- [WS2812B strip with Wemos D1 mini — wiring, power and code](https://flashready.in/boards/wemos-d1-mini/ws2812b-led/arduino): Drive an 8-LED WS2812B strip from a Wemos D1 mini on D2 with a 330 Ω resistor, powered from the 5V pin, and why NeoPixels and ESP8266 Wi-Fi can clash.
- [AHT20 with Seeed XIAO ESP32C3 — temperature and humidity](https://flashready.in/boards/xiao-esp32c3/aht20/arduino): Read an AHT20 temperature and humidity sensor on the default I2C pins D4/D5 of a Seeed XIAO ESP32C3 with the Adafruit AHTX0 library.
- [BME280 with Seeed XIAO ESP32C3 — low-power weather node](https://flashready.in/boards/xiao-esp32c3/bme280/arduino): Read a BME280 on a Seeed XIAO ESP32C3 over I2C (D4/D5) in forced mode, so the sensor sleeps between readings — a good start for a battery weather node.
- [Soil moisture sensor with Seeed XIAO ESP32C3 — battery node](https://flashready.in/boards/xiao-esp32c3/capacitive-soil-moisture/arduino): Build a battery soil-moisture node with a Seeed XIAO ESP32C3: capacitive sensor on A1 (D1), powered from D2 only while measuring, deep sleep in between.
- [DHT22 with Seeed XIAO ESP32C3 — wiring and code](https://flashready.in/boards/xiao-esp32c3/dht22/arduino): Wire a DHT22 to a Seeed XIAO ESP32C3 on D2 (GPIO4) at 3.3 V, with the XIAO’s D-pin names in code and the strapping pins D0, D8 and D9 avoided.
- [DS18B20 with Seeed XIAO ESP32C3 — waterproof probe](https://flashready.in/boards/xiao-esp32c3/ds18b20/arduino): Read a DS18B20 waterproof temperature probe on D3 (GPIO5) of a Seeed XIAO ESP32C3 with a 4.7 kΩ pull-up to 3V3 — wiring, code and common faults.
- [HC-SR501 PIR sensor with Seeed XIAO ESP32C3](https://flashready.in/boards/xiao-esp32c3/pir-hc-sr501/arduino): Detect motion with an HC-SR501 PIR on a Seeed XIAO ESP32C3: 5V from USB, 3.3 V output straight to D2, read with an interrupt.
- [Relay module with Seeed XIAO ESP32C3 — wiring and code](https://flashready.in/boards/xiao-esp32c3/relay-module/arduino): Switch a 3.3 V-trigger relay module from D1 of a Seeed XIAO ESP32C3, held off during boot, with the coil on the 5V pin and clear load limits.
- [SG90 servo with Seeed XIAO ESP32C3 — ESP32Servo](https://flashready.in/boards/xiao-esp32c3/sg90-servo/arduino): Sweep an SG90 servo from D10 of a Seeed XIAO ESP32C3 with ESP32Servo, on its own 5 V supply so the tiny regulator and battery are not overloaded.
- [SSD1306 OLED with Seeed XIAO ESP32C3 — I2C on D4/D5](https://flashready.in/boards/xiao-esp32c3/ssd1306-oled/arduino): Show text on a 128x64 SSD1306 OLED from a Seeed XIAO ESP32C3 using its default I2C pins, D4 (SDA) and D5 (SCL), at 3.3 V.
- [WS2812B LED strip with Seeed XIAO ESP32C3](https://flashready.in/boards/xiao-esp32c3/ws2812b-led/arduino): Drive a WS2812B strip from D10 of a Seeed XIAO ESP32C3 through 330 Ω, with the strip on its own 5 V supply and a common ground.
- [BME280 with Seeed XIAO ESP32S3 — wiring and code](https://flashready.in/boards/xiao-esp32s3/bme280/arduino): Read temperature, humidity and pressure from a BME280 on a Seeed XIAO ESP32S3 over I2C on D4 (SDA) and D5 (SCL), powered from 3V3.
- [DHT22 with Seeed XIAO ESP32S3 — wiring and code](https://flashready.in/boards/xiao-esp32s3/dht22/arduino): Wire a DHT22 to a Seeed XIAO ESP32S3 on D3 (GPIO4) at 3.3 V, using D-names in code and keeping off the D2 strapping pin.
- [DS18B20 with Seeed XIAO ESP32S3 — wiring and code](https://flashready.in/boards/xiao-esp32s3/ds18b20/arduino): Read a DS18B20 waterproof probe on D1 (GPIO2) of a Seeed XIAO ESP32S3 with a 4.7 kΩ pull-up to 3V3, using the board’s D-pin names.
- [microSD with Seeed XIAO ESP32S3 — module or the Sense slot](https://flashready.in/boards/xiao-esp32s3/microsd-module/arduino): Use a microSD module on a Seeed XIAO ESP32S3 (SPI on D8/D9/D10, CS on D3), or the XIAO ESP32S3 Sense’s built-in slot with CS on GPIO21.
- [MPU6050 with Seeed XIAO ESP32S3 — shake detector](https://flashready.in/boards/xiao-esp32s3/mpu6050/arduino): Read an MPU6050 on a Seeed XIAO ESP32S3 over I2C (D4/D5) and light the orange user LED on a shake — a start for wearables and motion alarms.
- [SG90 servo with Seeed XIAO ESP32S3 — ESP32Servo](https://flashready.in/boards/xiao-esp32s3/sg90-servo/arduino): Sweep an SG90 servo from D0 of a Seeed XIAO ESP32S3 with ESP32Servo, powered from its own 5 V supply — e.g. for a Sense camera pan mount.
- [SSD1306 OLED with Seeed XIAO ESP32S3 — I2C on D4/D5](https://flashready.in/boards/xiao-esp32s3/ssd1306-oled/arduino): Drive a 128x64 SSD1306 OLED from a Seeed XIAO ESP32S3 (or S3 Sense) on its default I2C pins D4/D5, and show the 8 MB PSRAM it reports.
- [WS2812B LED strip with Seeed XIAO ESP32S3](https://flashready.in/boards/xiao-esp32s3/ws2812b-led/arduino): Drive a WS2812B strip from D1 of a Seeed XIAO ESP32S3 through 330 Ω, with its own 5 V supply and a common ground — and why not from the XIAO’s 5V pin.

## Components

- [Components for ESP32, Arduino and Pico](https://flashready.in/components): Sensors, displays and relays with real pinouts, 3.3 V vs 5 V guidance, I2C addresses and the libraries to use — each linked to board-specific wiring guides.
- [74HC595 shift register — pinout, wiring 8 LEDs and chaining chips](https://flashready.in/components/74hc595): 74HC595 DIP-16 pinout (DS, SH_CP, ST_CP, OE, MR, Q0–Q7, Q7S), shiftOut() wiring, current limits per pin, 3.3 V boards, and daisy-chaining several chips.
- [A4988 stepper driver — pinout, current limit (Vref) and wiring NEMA 17](https://flashready.in/components/a4988-stepper): A4988 stepper driver pinout (EN, MS1–3, RST, SLP, STEP, DIR, VMOT, 1A–2B, VDD, GND), setting Vref, microstepping, the 100 µF capacitor and RST–SLP bridge.
- [ACS712 current sensor module — pinout, sensitivity and safe wiring](https://flashready.in/components/acs712): ACS712 (5 A/20 A/30 A) pinout, mV-per-amp sensitivity, reading it on 3.3 V boards, and why a CT clamp is the safer way to measure mains current.
- [Active buzzer module (3-pin) — pinout and safe wiring](https://flashready.in/components/active-buzzer-module): Active buzzer module pinout (I/O, VCC, GND), high- vs low-level trigger types, and why a module with a transistor is safer than a bare buzzer on a GPIO.
- [AD8232 ECG heart monitor module — pinout, electrode placement and safety](https://flashready.in/components/ad8232-ecg): AD8232 ECG module pinout (GND, 3.3v, OUTPUT, LO-, LO+, SDN), 3.3 V-only supply, RA/LA/RL electrode placement, lead-off detection and safe USB use.
- [ADXL345 accelerometer (GY-291) — pinout, address 0x53 and wiring](https://flashready.in/components/adxl345): ADXL345 / GY-291 3-axis accelerometer pinout, I2C address 0x53 vs 0x1D via SDO, the CS pin for I2C mode, ±2–16 g ranges and tap/free-fall interrupts.
- [AHT20 temperature and humidity sensor — pinout, address 0x38 and wiring](https://flashready.in/components/aht20): AHT20 I2C temperature and humidity module: pin order, fixed address 0x38, 3.3 V vs 5 V wiring and the Adafruit AHTX0 library.
- [APDS-9960 gesture, proximity and colour sensor — pinout and 3.3 V wiring](https://flashready.in/components/apds9960): APDS-9960 (GY-9960) module pinout, why VCC must be 3.3 V, the VL / PS jumper, I2C address 0x39, and fixes for gestures that never trigger.
- [BH1750 light sensor (GY-302) — pinout, address and lux readings](https://flashready.in/components/bh1750): BH1750 GY-302 pinout, address 0x23 vs 0x5C with the ADDR pin, measurement modes, and reading calibrated lux on ESP32, Uno and Pico.
- [BME280 temperature, humidity and pressure sensor — pinout and I2C address](https://flashready.in/components/bme280): BME280 breakout pinout (4-pin and 6-pin), 0x76 vs 0x77, 3.3 V-only boards vs boards with a regulator, and how to spot a BMP280 sold as a BME280.
- [BMP180 pressure sensor (GY-68) — pinout, address 0x77 and wiring](https://flashready.in/components/bmp180): BMP180 / GY-68 barometric sensor pinout, fixed I2C address 0x77, 3.3 V vs 5 V boards, the BMP085 library and why the BMP280 is the better buy.
- [BMP280 pressure and temperature sensor — pinout, I2C address and 3.3 V wiring](https://flashready.in/components/bmp280): BMP280 (GY-BMP280) pinout, 0x76 vs 0x77 addressing, why most purple boards are 3.3 V-only, and how to tell it apart from the BME280.
- [Capacitive soil moisture sensor v1.2 — pinout, wiring and calibration](https://flashready.in/components/capacitive-soil-moisture): Capacitive soil moisture sensor v1.2 pinout, 3.3 V vs 5 V wiring, how to calibrate dry and wet readings, and the faults common on cheap modules.
- [DHT11 temperature and humidity sensor — pinout, limits and wiring](https://flashready.in/components/dht11): DHT11 module pinout, how it differs from the DHT22, the once-per-second read limit, wiring on 3.3 V and 5 V boards and common read errors.
- [DHT22 (AM2302) temperature and humidity sensor — pinout and wiring](https://flashready.in/components/dht22): DHT22 / AM2302 pinout, 3.3 V vs 5 V wiring, the pull-up it needs, the 2-second read limit and fixes for "Failed to read from DHT sensor".
- [DS18B20 temperature sensor — 1-Wire pinout, pull-up and waterproof probe wiring](https://flashready.in/components/ds18b20): DS18B20 pinout (TO-92 and waterproof probe colours), the 4.7 kΩ pull-up, reading several sensors on one pin and fixes for −127 °C and 85 °C.
- [DS1307 Tiny RTC module — pinout, 5 V requirement and the battery trap](https://flashready.in/components/ds1307-rtc): DS1307 Tiny RTC I2C module pinout (SQ, DS, SCL, SDA, VCC, GND, BAT), address 0x68, why it needs 5 V, 5 V pull-ups on ESP32, the LIR2032 charging circuit and drift.
- [DS3231 RTC module — pinout, 0x68 address and the CR2032 charging trap](https://flashready.in/components/ds3231-rtc): DS3231 real-time clock module (ZS-042): pins, 0x68 + 0x57 EEPROM addresses, RTClib, and why a CR2032 can be overcharged on this board.
- [2.13″ e-paper display (SPI) — pinout, GxEPD2 setup and refresh tips](https://flashready.in/components/epaper-2in13): 2.13-inch 250×122 e-paper module pinout (VCC, GND, DIN, CLK, CS, DC, RST, BUSY), picking the right GxEPD2 panel class, partial refresh and deep sleep.
- [IR flame sensor module — pinout, range, sunlight false alarms and wiring](https://flashready.in/components/flame-sensor): IR flame sensor module (VCC, GND, DO, AO) pinout, active-LOW digital output, how far it sees a flame, why sunlight triggers it, and 3.3 V wiring.
- [Float switch (reed type) — wiring for tank level sensing](https://flashready.in/components/float-switch): Reed float switch wiring with INPUT_PULLUP, normally-open vs normally-closed, mounting for overhead tanks and sumps, and its tiny contact rating.
- [A3144 Hall-effect sensor — pinout, pull-up and magnet detection](https://flashready.in/components/hall-a3144): A3144 / OH3144 Hall switch pinout (VCC, GND, OUT), the open-collector output and pull-up, why it needs 4.5 V or more, and which magnet pole triggers it.
- [HC-05 Bluetooth module — pinout, 3.3 V RX divider and pairing](https://flashready.in/components/hc-05-bluetooth): HC-05 classic Bluetooth serial module: EN, VCC, GND, TXD, RXD, STATE pins, the 1 kΩ/2 kΩ divider on RX, default PIN and AT-command mode.
- [HC-12 433 MHz serial radio — pinout, AT commands and legal power in India](https://flashready.in/components/hc-12): HC-12 wireless serial module pinout (VCC, GND, RXD, TXD, SET), AT commands, range vs power, the supply capacitor, and staying in India’s 433 MHz licence-free band.
- [HC-SR04 ultrasonic distance sensor — pinout, 3.3 V wiring and code](https://flashready.in/components/hc-sr04): HC-SR04 pinout, how echo timing turns into distance, the 1 kΩ / 2 kΩ divider you need on ESP32 and Pico, and fixes for 0 cm or random readings.
- [HMC5883L / QMC5883L compass (GY-271) — pinout, address and the clone trap](https://flashready.in/components/hmc5883l): GY-271 compass module pinout, why most boards now carry a QMC5883L at 0x0D instead of the HMC5883L at 0x1E, the right library for each, and calibration.
- [HX711 load cell amplifier — pinout, load cell colours and calibration](https://flashready.in/components/hx711-load-cell): HX711 24-bit load cell amplifier: E+/E−/A+/A− load-cell pins, DT/SCK wiring, wire colours, 10 vs 80 samples per second and how to calibrate.
- [ILI9341 2.4″/2.8″ SPI TFT with touch — pinout, 3.3 V logic and wiring](https://flashready.in/components/ili9341-tft): ILI9341 SPI TFT pinout (VCC, GND, CS, RESET, DC, SDI, SCK, LED, SDO, T_ pins), J1 jumper, 3.3 V-only signals, touch (XPT2046) and fixes for white screens.
- [INA219 current and voltage sensor — pinout, address and DC wiring](https://flashready.in/components/ina219): INA219 breakout pinout, high-side wiring for DC up to 26 V, the 0.1 Ω shunt and ±3.2 A range, I2C addresses 0x40–0x4F and calibration.
- [IR obstacle avoidance sensor (FC-51) — pinout, range and wiring](https://flashready.in/components/ir-obstacle-sensor): FC-51 IR obstacle sensor pinout (VCC, GND, OUT), active-LOW output, setting the 2–30 cm range with the pot, and why black objects and sunlight fool it.
- [VS1838B IR receiver — pinout and decoding TV remotes](https://flashready.in/components/ir-receiver-vs1838b): VS1838B / KY-022 38 kHz IR receiver pinout, wiring on 3.3 V and 5 V boards, decoding NEC remote codes with IRremote, and common problems.
- [IRF520 MOSFET driver module — pinout, 3.3 V problem and better options](https://flashready.in/components/irf520-mosfet): IRF520 MOSFET module pinout (SIG, VCC, GND, VIN, V+, V−), why it barely switches from 3.3 V or even 5 V, the flyback diode it lacks, and logic-level alternatives.
- [Joystick module (KY-023) — pinout, analog wiring and calibration](https://flashready.in/components/joystick-module): KY-023 dual-axis joystick: GND, +5V, VRx, VRy, SW pins, wiring to Arduino, ESP32 and Pico ADC pins, centre calibration and the push switch.
- [JSN-SR04T waterproof ultrasonic sensor — pinout, 3.3 V wiring and modes](https://flashready.in/components/jsn-sr04t): JSN-SR04T / AJ-SR04M waterproof ultrasonic sensor pinout, the 20–25 cm blind zone, Echo divider for ESP32 and Pico, mode resistor and tank mounting tips.
- [4×4 membrane keypad — pinout, rows and columns, Keypad library](https://flashready.in/components/keypad-4x4): 4×4 membrane keypad: R1–R4 and C1–C4 ribbon pin order, wiring to Arduino, ESP32 and Pico safe pins, and the Keypad library by Mark Stanley.
- [L298N motor driver — pinout, 5 V jumper and wiring two DC motors](https://flashready.in/components/l298n-driver): L298N dual H-bridge: IN1–IN4, ENA, ENB, 12V, GND, 5V and OUT1–OUT4 pins, the 5 V regulator jumper, 2 V voltage drop and PWM speed control.
- [16×2 LCD with I2C backpack (PCF8574) — pinout, address and wiring](https://flashready.in/components/lcd-16x2-i2c): How to wire a 16×2 character LCD with a PCF8574 I2C backpack: pin order, 0x27 vs 0x3F, contrast, and the level shifter a 3.3 V board needs.
- [16×2 LCD (parallel, HD44780) — 16-pin pinout, contrast and 4-bit wiring](https://flashready.in/components/lcd-16x2-parallel): 1602 LCD 16-pin pinout (VSS, VDD, V0, RS, RW, E, D0–D7, A, K), 4-bit wiring, the contrast pot, backlight resistor and the LiquidCrystal library.
- [20×4 LCD with I2C backpack — pinout, address and wiring](https://flashready.in/components/lcd-20x4-i2c): 20×4 character LCD with a PCF8574 I2C backpack: pin order, 0x27 vs 0x3F, contrast trimmer, 5 V supply and level shifting for ESP32 and Pico.
- [LDR light sensor module (LM393) — pinout, analog and digital outputs](https://flashready.in/components/ldr-module): Photoresistor (LDR) module pinout, reading AO with analogRead, the DO threshold pot, and wiring on 3.3 V boards without exceeding the ADC.
- [LM35 analog temperature sensor — pinout, 10 mV/°C and wiring](https://flashready.in/components/lm35): LM35 pinout (+VS, VOUT, GND), the 10 mV per °C formula, why it needs at least 4 V, reading it on ESP32 and Pico ADCs, and spotting fakes.
- [MAX485 RS485 module — pinout, DE/RE control and Modbus wiring](https://flashready.in/components/max485-rs485): MAX485 TTL-to-RS485 module pinout (RO, RE, DE, DI, VCC, B, A, GND), driving DE/RE, 5 V vs 3.3 V boards, termination resistors and Modbus RTU wiring.
- [MAX6675 K-type thermocouple module — pinout, SPI wiring and fixes](https://flashready.in/components/max6675-thermocouple): MAX6675 thermocouple amplifier pinout (SO, CS, SCK, VCC, GND), 0–1024 °C K-type readings, polarity, the 220 ms conversion time and NaN fixes.
- [MAX7219 8×8 LED matrix (FC-16, 4-in-1) — pinout, power and wiring](https://flashready.in/components/max7219-matrix): MAX7219 LED matrix module: VCC, GND, DIN, CS, CLK pins, chaining 4-in-1 boards, 5 V power needs, 3.3 V signal levels and the MD_MAX72XX library.
- [MAX30102 heart-rate and SpO₂ sensor — pinout, address and wiring](https://flashready.in/components/max30102): MAX30102 module pinout, address 0x57, the 1.8 V pull-up problem on cheap purple boards, finger placement, and why it is not a medical device.
- [MCP2515 CAN bus module (TJA1050) — pinout, 8 MHz crystal and wiring](https://flashready.in/components/mcp2515-can): MCP2515 + TJA1050 CAN module pinout (VCC, GND, CS, SO, SI, SCK, INT, H, L), the 8 MHz crystal setting, termination jumper and 5 V vs 3.3 V boards.
- [MG996R metal-gear servo — wire colours, power supply and wiring](https://flashready.in/components/mg996r-servo): MG996R high-torque servo: brown, red and orange wires, why it needs a 5–6 V supply that can give 2–3 A, 3.3 V signal on ESP32, jitter fixes and fakes.
- [MicroSD card module (SPI) — pinout, 5 V vs 3.3 V and FAT32 logging](https://flashready.in/components/microsd-module): MicroSD card module pinout (GND, VCC, MISO, MOSI, SCK, CS), why the common module needs 5 V on VCC, FAT32 formatting, the SD library and SPI-bus sharing fixes.
- [MLX90614 contactless IR thermometer (GY-906) — pinout and wiring](https://flashready.in/components/mlx90614): GY-906 MLX90614 pinout, address 0x5A, 3 V vs 5 V versions, field of view and distance, emissivity, and why it measures surfaces.
- [MPU6050 accelerometer and gyroscope (GY-521) — pinout, address and wiring](https://flashready.in/components/mpu6050): GY-521 MPU6050 pinout, AD0 for 0x68/0x69, the DS3231 address clash, 3.3 V vs 5 V boards and fixes for "Failed to find MPU6050 chip".
- [MQ-2 gas sensor module — pinout, heater power, warm-up and wiring](https://flashready.in/components/mq-2): MQ-2 module pinout, 5 V heater current, burn-in and warm-up time, keeping AO within a 3.3 V ADC, and why it is not a certified alarm.
- [MQ-3 alcohol sensor module — pinout, warm-up and breath test wiring](https://flashready.in/components/mq-3): MQ-3 alcohol vapour sensor module pinout, 5 V heater current, warm-up and burn-in, keeping AO under 3.3 V, and why it is a demo, not a breathalyser.
- [MQ-6 gas sensor module — pinout, heater power, warm-up and wiring](https://flashready.in/components/mq-6): MQ-6 module pinout, 5 V heater current, burn-in and warm-up time, keeping AO within a 3.3 V ADC, and why it is not a certified alarm.
- [MQ-7 carbon monoxide sensor module — pinout, heater cycle and wiring](https://flashready.in/components/mq-7): MQ-7 CO sensor module pinout, the 5 V / 1.4 V heater cycle the cheap module skips, keeping AO safe on 3.3 V boards, and why it is not a CO alarm.
- [MQ-9 CO and flammable gas sensor module — pinout, heater cycle and wiring](https://flashready.in/components/mq-9): MQ-9 module pinout for carbon monoxide, methane and LPG, the 5 V / 1.5 V heater cycle, keeping AO under 3.3 V on ESP32, and its limits as an alarm.
- [MQ-135 gas sensor module — pinout, heater power, warm-up and wiring](https://flashready.in/components/mq-135): MQ-135 module pinout, 5 V heater current, burn-in and warm-up time, keeping AO within a 3.3 V ADC, and why it is not a certified alarm.
- [MT3608 boost converter — pinout, setting 5 V and real current limits](https://flashready.in/components/mt3608-boost): MT3608 step-up module pinout (VIN+, VIN−, VOUT+, VOUT−), setting the output with the pot before connecting a load, realistic current from a Li-ion cell and noise fixes.
- [NEO-6M GPS module — pinout, wiring and getting a first fix](https://flashready.in/components/neo-6m-gps): u-blox NEO-6M GPS module (GY-NEO6MV2): VCC/RX/TX/GND pins, 9600 baud NMEA, 3.3 V logic notes, TinyGPSPlus and why it needs open sky.
- [Nokia 5110 LCD (PCD8544) — pinout, 3.3 V logic and contrast](https://flashready.in/components/nokia-5110): Nokia 5110 84×48 LCD pinout (RST, CE, DC, DIN, CLK, VCC, BL, GND), why it is a 3.3 V part, safe wiring from an Uno, backlight and contrast fixes.
- [nRF24L01 2.4 GHz radio — pinout, 3.3 V power and the capacitor fix](https://flashready.in/components/nrf24l01): nRF24L01+ 2.4 GHz transceiver: GND, VCC, CE, CSN, SCK, MOSI, MISO, IRQ pins, why it needs clean 3.3 V and a 10 µF capacitor, and the RF24 library.
- [NTC thermistor (10 kΩ) — divider wiring, Beta formula and probe tips](https://flashready.in/components/ntc-thermistor): Wire a 10 kΩ NTC thermistor or waterproof probe with a 10 kΩ divider, convert ADC readings with the Beta (3950) equation, and fix backwards readings.
- [Passive buzzer module — pinout, tone() and playing melodies](https://flashready.in/components/passive-buzzer): Passive buzzer module pinout (I/O, VCC, GND), how it differs from an active buzzer, tone() on Uno, ESP32 and Pico, volume tips and the KY-006 variant.
- [HC-SR501 PIR motion sensor — pinout, jumpers, delay and sensitivity](https://flashready.in/components/pir-hc-sr501): HC-SR501 PIR pinout, the 3.3 V output that suits every board, single vs repeat trigger, the two adjustment pots and the warm-up time.
- [PN532 NFC/RFID module (V3) — pinout, I2C/SPI switches and wiring](https://flashready.in/components/pn532-nfc): PN532 V3 NFC module pinout (GND, VCC, SDA, SCL plus SPI header), mode DIP switches, I2C address 0x24, 3.3 V vs 5 V boards and the Adafruit PN532 library.
- [Potentiometer (10 kΩ) — pinout, analog wiring and smooth readings](https://flashready.in/components/potentiometer): Wire a 10 kΩ rotary potentiometer to an ADC: which leg is the wiper, 3.3 V vs 5 V, linear (B) vs log (A) taper, and fixes for jumpy or non-linear readings.
- [Pulse sensor (heart-rate, analog) — pinout, wiring and BPM library](https://flashready.in/components/pulse-sensor): Optical pulse sensor pinout (S, +, −), 3.3 V vs 5 V power, reading BPM with the PulseSensor Playground library, and fixes for noisy or flat signals.
- [Push button (tactile switch) — wiring, INPUT_PULLUP and debouncing](https://flashready.in/components/push-button): How to wire a 4-leg tactile push button: which legs are connected, INPUT_PULLUP to GND wiring, and debouncing on Arduino, ESP32 and Pico.
- [PZEM-004T v3.0 energy meter module — pinout, UART wiring and mains safety](https://flashready.in/components/pzem-004t): PZEM-004T v3.0 (100 A, CT) pinout, Modbus UART wiring to ESP32 and Uno, the PZEM-004T-v30 library, and the electrician-only rules for its 230 V side.
- [Rain sensor module (FC-37 / YL-83) — pinout, corrosion and wiring](https://flashready.in/components/rain-sensor): Rain sensor plate and LM393 module pinout, analog and digital outputs, how to stop the plate corroding, and wiring on 3.3 V and 5 V boards.
- [RC522 RFID reader — pinout, 3.3 V supply and SPI wiring](https://flashready.in/components/rc522-rfid): MFRC522 RFID reader pinout (SDA, SCK, MOSI, MISO, IRQ, GND, RST, 3.3V), why it must run on 3.3 V, SPI wiring and the MFRC522 library.
- [RCWL-0516 microwave radar motion sensor — pinout, range and false triggers](https://flashready.in/components/rcwl-0516): RCWL-0516 Doppler radar motion sensor pinout (3V3, GND, OUT, VIN, CDS), 4–28 V supply, 3.3 V output, why it sees through walls and how to tame false triggers.
- [RDM6300 125 kHz RFID reader — pinout, UART wiring and card types](https://flashready.in/components/rdm6300-rfid): RDM6300 EM4100 125 kHz RFID reader pinout (TX, RX, GND, +5V, ANT1, ANT2, LED), 9600-baud UART, divider for ESP32/Pico and why MIFARE cards don’t read.
- [Reed switch and MC-38 door sensor — wiring, INPUT_PULLUP and debouncing](https://flashready.in/components/reed-switch): Wire a glass reed switch or MC-38 magnetic door sensor with INPUT_PULLUP, normally-open vs normally-closed, gap distance, debouncing and contact limits.
- [1-channel relay module — pinout, 3.3 V trigger and mains safety](https://flashready.in/components/relay-module): Relay module pinout (DC+, DC−, IN, NO/COM/NC), active-LOW logic, 3.3 V trigger on ESP32 and Pico, and why motors and pumps need a contactor.
- [KY-040 rotary encoder — pinout, pull-ups and debouncing](https://flashready.in/components/rotary-encoder): KY-040 rotary encoder module: CLK, DT, SW, + and GND pins, which pull-ups are fitted, reading direction reliably and handling switch bounce.
- [SCD40 real CO2 sensor (NDIR) — pinout, address 0x62 and calibration](https://flashready.in/components/scd40): Sensirion SCD40 / SCD41 module pinout, I2C address 0x62, 3.3 V vs 5 V, the 5-second measurement cycle, current peaks and automatic self-calibration.
- [SG90 micro servo — pinout, wire colours, power and wiring](https://flashready.in/components/sg90-servo): SG90 9 g micro servo: brown, red and orange wires, why it needs its own 5 V supply, 3.3 V signal on ESP32, and the Servo / ESP32Servo libraries.
- [SGP30 air-quality sensor (TVOC, eCO2) — pinout, address 0x58 and baseline](https://flashready.in/components/sgp30): SGP30 module pinout, I2C address 0x58, why eCO2 is an estimate and not real CO2, the 15-second warm-up, and saving the baseline across power cuts.
- [SH1106 1.3″ OLED (I2C) — pinout, address 0x3C and the right library](https://flashready.in/components/sh1106-oled): 1.3-inch SH1106 128×64 OLED pinout (VDD, GND, SCK, SDA — check the order), I2C address 0x3C, why SSD1306 code shows noise, and the U8g2 library.
- [SHT31 temperature and humidity sensor — pinout, address and accuracy](https://flashready.in/components/sht31): SHT31-D breakout pinout, I2C address 0x44 vs 0x45, accuracy compared with DHT22, the on-chip heater and wiring on 3.3 V and 5 V boards.
- [SHT40 temperature and humidity sensor — pinout, address 0x44 and wiring](https://flashready.in/components/sht40): SHT40 / SHT4x breakout pinout, I2C address 0x44, 3.3 V vs 5 V boards, the built-in heater, and fixes for missing or stuck readings.
- [SIM800L GSM module — pinout, 4 V power supply and SMS wiring](https://flashready.in/components/sim800l-gsm): SIM800L GSM/GPRS module: NET, VCC, RST, RXD, TXD, GND pins, why it needs 3.4–4.4 V with 2 A peaks, 2G network status in India and AT-command SMS.
- [KY-038 sound sensor module — pinout, clap detection and its limits](https://flashready.in/components/sound-sensor-ky038): KY-038 microphone module pinout (A0, G, +, D0), setting the pot for clap detection, what the analog output really shows, and why it can’t record audio.
- [SSD1306 0.96″ OLED (I2C) — pinout, address and wiring](https://flashready.in/components/ssd1306-oled): Wire the 128×64 SSD1306 OLED over I2C: pin order (check VCC/GND — clones differ), 0x3C vs 0x3D, 3.3 V vs 5 V, and the Adafruit SSD1306 library.
- [1.8" ST7735 TFT display — pinout, 3.3 V logic and SPI wiring](https://flashready.in/components/st7735-tft): 1.8-inch 128×160 ST7735 colour TFT: VCC, GND, CS, RESET, A0, SDA, SCK, LED pins, 3.3 V logic levels, black/green tab init and the Adafruit library.
- [SX1278 LoRa module (Ra-02, 433 MHz) — pinout, antenna and Indian band](https://flashready.in/components/sx1278-lora): SX1278 LoRa module (Ai-Thinker Ra-02): 3.3V, GND, NSS, SCK, MOSI, MISO, RST, DIO0 pins, 3.3 V-only logic, antenna safety and 433 MHz use in India.
- [TB6612FNG dual motor driver — pinout, STBY pin and wiring two DC motors](https://flashready.in/components/tb6612fng): TB6612FNG pinout (VM, VCC, GND, A01–B02, PWMA, AIN1/2, BIN1/2, PWMB, STBY), why it beats the L298N, the 13.5 V / 1.2 A limits and 3.3 V logic.
- [TCRT5000 IR line sensor module — pinout, distance and line following](https://flashready.in/components/tcrt5000): TCRT5000 reflective IR module pinout, detection distance, setting the threshold pot, digital vs analog outputs, and wiring for line-follower robots.
- [TCS34725 colour sensor — pinout, address 0x29 and white LED control](https://flashready.in/components/tcs34725): TCS34725 RGB colour sensor module pinout (LED, INT, SDA, SCL, 3V3, GND, VIN), I2C address 0x29, gain and integration time, and turning off the LED.
- [TM1637 4-digit 7-segment display — pinout, wiring and library](https://flashready.in/components/tm1637-display): TM1637 4-digit LED display module: CLK, DIO, VCC, GND pins, why it is not I2C, brightness, the colon, and the TM1637 library by Avishay Orpaz.
- [TP4056 Li-ion charger module — pinout, charge current and safe battery wiring](https://flashready.in/components/tp4056-charger): TP4056 1 A Li-ion charger with protection: IN+, IN−, B+, B−, OUT+, OUT− pins, setting charge current with RPROG, LED meanings and powering a board from it.
- [TTP223 capacitive touch module — pinout, toggle mode and wiring](https://flashready.in/components/ttp223-touch): TTP223 touch sensor module pinout (VCC, I/O, GND), the A and B solder pads for active-LOW and toggle modes, power-on calibration and touching through plastic.
- [28BYJ-48 stepper with ULN2003 driver — pinout, steps and wiring](https://flashready.in/components/uln2003-stepper): 28BYJ-48 5 V stepper motor with ULN2003 driver board: IN1–IN4 and power pins, 2048 steps per turn, separate power, and the Stepper library.
- [Coin vibration motor module — pinout, PWM strength and safe wiring](https://flashready.in/components/vibration-motor): Coin vibration motor module pinout (IN, VCC, GND), why a bare motor needs a transistor and diode, PWM for strength, and wiring it to ESP32, Pico and Uno.
- [VL53L0X time-of-flight distance sensor — pinout, address and range](https://flashready.in/components/vl53l0x): VL53L0X breakout pinout, the fixed 0x29 address and using XSHUT for several sensors, measuring up to ~2 m, and comparison with the HC-SR04.
- [VL53L1X long-range laser distance sensor — pinout, address and 4 m range](https://flashready.in/components/vl53l1x): VL53L1X time-of-flight sensor pinout (VIN, GND, SCL, SDA, GPIO1, XSHUT), address 0x29, short/long distance modes, ROI and running several sensors.
- [Water level sensor (red trace board) — pinout, corrosion and wiring](https://flashready.in/components/water-level-sensor): The red water level / rain-depth sensor (S, +, −) pinout, why it corrodes in days, powering it only while reading, and safe 3.3 V wiring on ESP32 and Pico.
- [WS2812B addressable LED strip (NeoPixel) — pinout, power and wiring](https://flashready.in/components/ws2812b-led): WS2812B / NeoPixel strip: DIN, 5V, GND, DOUT pins, 60 mA per LED, the 470 Ω resistor and 1000 µF capacitor, and driving it from 3.3 V boards.
- [YF-S201 water flow sensor — wire colours, pulses per litre and wiring](https://flashready.in/components/yf-s201-flow): YF-S201 Hall-effect flow sensor wiring (red, black, yellow), the 7.5 × L/min pulse formula, counting with an interrupt, 3.3 V boards and calibrating it.
- [ZMPT101B AC voltage sensor module — pinout, calibration and mains safety](https://flashready.in/components/zmpt101b): ZMPT101B mains voltage sensor pinout, how its isolating transformer works, calibrating the gain pot, and the safety rules for the 230 V side.

## Error fixes

- [ESP32, Arduino and Pico error fixes](https://flashready.in/fix): Step-by-step fixes for upload errors, reset loops, I2C problems and other common ESP32, Arduino and Raspberry Pi Pico errors — checked against current cores.
- [Fix “abort() was called at PC … on core 1” (ESP32 keeps rebooting)](https://flashready.in/fix/abort-was-called): Something in the core or a library hit a fatal check and called abort(). Decode the backtrace; common causes are memory, watchdog and bad Wi-Fi/BLE use.
- [Fix “Adafruit_I2CDevice.h: No such file or directory”](https://flashready.in/fix/adafruit-i2cdevice-h-no-such-file): Adafruit GFX and most Adafruit sensor libraries need Adafruit BusIO. Install it from the Library Manager — the error comes from inside the library, not your code.
- [Fix “Adafruit_Sensor.h: No such file or directory” (DHT library)](https://flashready.in/fix/adafruit-sensor-h-no-such-file): The DHT sensor library needs a second library: Adafruit Unified Sensor. Install it from the Library Manager (or accept “Install all” when prompted).
- [Fix: ESP32 analogRead not working with Wi-Fi on (ADC2)](https://flashready.in/fix/adc2-not-working-with-wifi): analogRead() on GPIO 0, 2, 4, 12–15 or 25–27 returns 0 or garbage once Wi-Fi starts. Those are ADC2 pins; move the sensor to ADC1 (GPIO 32–39).
- [Fix “StaticJsonBuffer is a class from ArduinoJson 5”](https://flashready.in/fix/arduinojson-staticjsonbuffer-is-a-class-from-v5): The sketch uses the ArduinoJson 5 API but version 7 is installed. Port it: JsonDocument replaces the buffer, deserializeJson/serializeJson replace parse/printTo.
- [Fix “avrdude: butterfly_recv(): programmer is not responding” (Pro Micro, Leonardo)](https://flashready.in/fix/avrdude-butterfly-recv-programmer-not-responding): The ATmega32U4 bootloader closed before avrdude reached it. Double-tap RESET to open the 8-second window, and select the right 3.3 V/5 V board.
- [Fix “avrdude: ser_open(): can't set com-state for \\.\COM4”](https://flashready.in/fix/avrdude-cant-set-com-state): Windows can't configure the USB-serial port — usually an outdated or fake-chip-incompatible CH340 driver. Reinstall the WCH driver, replug, and try another port.
- [Fix “avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc” (USBasp)](https://flashready.in/fix/avrdude-could-not-find-usbasp): avrdude can't see the USBasp programmer. On Windows bind it to libusbK/WinUSB with Zadig; on Linux add a udev rule. Check the stick shows up in Device Manager.
- [Fix “avrdude: Expected signature for ATmega328P is 1E 95 0F”](https://flashready.in/fix/avrdude-expected-signature-for-atmega328p): avrdude read a valid chip — just not an ATmega328P. It's a 328PB, an ATmega168, or an LGT8F328P clone. Select the matching board core instead of using -F.
- [“avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories” (Nano Every)](https://flashready.in/fix/avrdude-jtagmkii-cannot-locate-flash-and-boot): A harmless warning when uploading to the Arduino Nano Every or Uno WiFi Rev2. If the upload still fails, it's the port or the 1200-baud reset — not this line.
- [Fix “avrdude: stk500_getsync(): not in sync: resp=0x1c” (non-zero resp)](https://flashready.in/fix/avrdude-not-in-sync-resp-garbage): A non-zero resp means avrdude got bytes, just the wrong ones — usually a baud mismatch (old vs new Nano bootloader) or your running sketch talking on D0/D1.
- [Fix “avrdude: stk500_recv(): programmer is not responding”](https://flashready.in/fix/avrdude-programmer-is-not-responding): avrdude gets no answer from the board at all. Check the port, the cable, pins D0/D1 and the bootloader before blaming the Arduino.
- [Fix “avrdude: ser_open(): can't open device \\.\COM3: The system cannot find the file specified”](https://flashready.in/fix/avrdude-ser-open-cant-open-device): The COM port selected in the IDE doesn't exist any more. Replug the board, re-select the port, and check the driver and cable.
- [Fix “avrdude: ser_send(): write error: sorry no info avail”](https://flashready.in/fix/avrdude-ser-send-write-error): The USB-serial link dropped while avrdude was writing. Look for a board that resets or loses power mid-upload, a bad cable, or a short on 5 V.
- [Fix “avrdude: stk500_getsync(): not in sync: resp=0x00”](https://flashready.in/fix/avrdude-stk500-getsync-not-in-sync): The upload to an Uno or Nano times out with stk500_getsync. Usually the wrong port or processor, something on pins 0/1, or a clone needing the old bootloader.
- [Fix “avrdude: stk500v2_ReceiveMessage(): timeout” on Arduino Mega 2560](https://flashready.in/fix/avrdude-stk500v2-receivemessage-timeout): The Mega's bootloader didn't answer. Select Mega 2560 (not Mega 1280), check the port, free pins 0/1, and update the CH340 driver on clones.
- [Fix “avrdude: verification error, first mismatch at byte 0x0000”](https://flashready.in/fix/avrdude-verification-error-first-mismatch): avrdude wrote your sketch but read back different bytes. Usually the wrong board/processor, a locked or bad bootloader, a dying ATmega or a flaky USB-serial link.
- [Fix “avrdude: Yikes! Invalid device signature” (Device signature = 0x000000)](https://flashready.in/fix/avrdude-yikes-invalid-device-signature): The ISP programmer can't read the target chip. Check the six ISP wires, the 10 µF capacitor on the programmer's RESET, target power, and slow the SPI clock.
- [Fix “[BH1750] ERROR: received NACK on transmit of address”](https://flashready.in/fix/bh1750-received-nack): The BH1750 didn’t answer at the expected address. 0x23 with ADDR low, 0x5C with ADDR high. Pass the address to begin() and check SDA/SCL.
- [Fix “'BluetoothSerial' does not name a type” on ESP32-C3 / S3](https://flashready.in/fix/bluetoothserial-does-not-name-a-type): Classic Bluetooth (SPP) exists only on the original ESP32. The C3, S3 and C6 have BLE only — use a BLE UART (NUS) library or an original ESP32.
- [Fix Blynk “Please specify your BLYNK_TEMPLATE_ID and BLYNK_TEMPLATE_NAME”](https://flashready.in/fix/blynk-please-specify-template-id): The Blynk defines must come before #include <BlynkSimpleEsp32.h>. Copy the three lines from the Blynk console’s Device Info to the very top of the sketch.
- [Fix “Could not find a valid BME280 sensor, check wiring!”](https://flashready.in/fix/bme280-could-not-find-sensor): The library got no reply at 0x76/0x77, or the chip is a BMP280 (ID 0x58). Check the I2C address, wiring and which chip you actually have.
- [Fix “Could not find a valid BMP280 sensor, check wiring or try a different address!”](https://flashready.in/fix/bmp280-could-not-find-sensor): Most purple BMP280 modules sit at 0x76, but the Adafruit library defaults to 0x77. Call bmp.begin(0x76). SensorID 0x60 means it’s really a BME280.
- [Fix “Board at COM5 is not available” in Arduino IDE](https://flashready.in/fix/board-at-com-is-not-available): The IDE is set to a COM port that no longer exists. Re-select the port after replugging; if none appears, it's the cable, driver or a board that keeps resetting.
- [Fix Boards Manager “DEADLINE_EXCEEDED” / timeout installing the ESP32 core](https://flashready.in/fix/board-manager-deadline-exceeded): The ESP32 core is a ~500 MB download and the IDE gives up on slow connections. Raise the network timeout, retry to resume, or install over a different network.
- [Fix bossac “No device found on COM5” (Uno R4 WiFi, Nano 33 IoT, MKR, Zero)](https://flashready.in/fix/bossac-no-device-found-on-com): bossac couldn't reach the SAMD/RA4M1 bootloader. Double-tap RESET to enter it, re-select the new port, and close anything holding the serial port.
- [Fix “Brownout detector was triggered” on ESP32](https://flashready.in/fix/brownout-detector-was-triggered): The ESP32 resets in a loop with a brownout message. Its 3.3 V supply is dipping, usually when Wi-Fi switches on. Here's how to find the weak link and fix it.
- [Fix “Cache disabled but cached memory region accessed” on ESP32](https://flashready.in/fix/cache-disabled-but-cached-memory-region-accessed): An interrupt ran code or read constants from flash while flash was busy (saving Preferences, SPIFFS, OTA). Put the ISR in IRAM and its data in DRAM.
- [Fix “Cannot configure port, something went wrong … PermissionError(13)”](https://flashready.in/fix/cannot-configure-port-something-went-wrong): Windows refused to configure the COM port because the USB device stopped responding. Replug, change cable or port, and update the CH340/CP210x driver.
- [Fix “cannot convert 'String' to 'const char*'”](https://flashready.in/fix/cannot-convert-string-to-const-char): A C function (atoi, strcmp, strcpy, many library calls) wants a C string, but you passed an Arduino String. Add .c_str(), or use the String method instead.
- [Fix “USB-SERIAL CH340 — This device cannot start. (Code 10)”](https://flashready.in/fix/ch340-code-10-device-cannot-start): The CH340 driver is installed but won't start the chip. Usually a driver/clone-chip mismatch after Windows Update. Clean-reinstall the WCH driver or roll back.
- [Fix: CH340 driver not installed (USB2.0-Serial, Code 28)](https://flashready.in/fix/ch340-driver-not-installed): Windows lists “USB2.0-Serial” with a yellow warning and no COM port. Install the official WCH CH340/CH341 driver and the port appears.
- [Fix: CH340 “now disconnected from ttyUSB0” on Ubuntu (brltty)](https://flashready.in/fix/ch341-ttyusb0-disconnected-brltty): On Ubuntu 22.04+ the braille service brltty grabs CH340 boards, so /dev/ttyUSB0 vanishes a second after plugging in. Remove brltty or disable its udev rule.
- [Fix “'class DHT' has no member named 'read11'” (wrong DHT library)](https://flashready.in/fix/class-dht-has-no-member-named-read11): Your code is written for the DHTlib library (DHT.read11, DHT.temperature) but the Adafruit DHT library is installed. Rewrite with Adafruit’s calls or install DHTlib.
- [Fix “ClearCommError failed (PermissionError(13, …))” on ESP32-S3/C3](https://flashready.in/fix/clearcommerror-failed-permissionerror): The COM port vanished under esptool — usually a native-USB ESP32-S3 or C3 that reset or crashed mid-upload. Enter download mode by hand and retry.
- [Fix: COM port not showing in Arduino IDE](https://flashready.in/fix/com-port-not-showing): The board lights up but Tools → Port is empty or greyed out. Fix it in order: data cable, USB-serial driver, then the board itself.
- [“Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0” — harmless?](https://flashready.in/fix/core-dump-flash-config-is-corrupted): This ESP32 boot message is log noise from an empty core-dump partition, not your crash. Here's how to silence it and find the real problem.
- [Fix “Could not connect to an Espressif device on any of the 1 available serial ports”](https://flashready.in/fix/could-not-connect-to-an-espressif-device): esptool was run without --port and couldn't find an ESP on any port. Give it the port explicitly, put the board in download mode, and check the driver.
- [Fix: CP2102 USB to UART Bridge Controller — driver not installed (Code 28)](https://flashready.in/fix/cp2102-driver-not-installed): Windows shows “CP2102 USB to UART Bridge Controller” with a yellow warning and no COM port. Install the Silicon Labs CP210x VCP driver and replug.
- [Fix “'D4' was not declared in this scope” (and LED_BUILTIN) on ESP32](https://flashready.in/fix/d4-was-not-declared-esp32): D-pin names belong to NodeMCU/Wemos ESP8266 boards. On an ESP32 DevKit use the GPIO number — and define the LED pin yourself, since LED_BUILTIN is missing.
- [Fix “data section exceeds available space in board” (Uno/Nano)](https://flashready.in/fix/data-section-exceeds-available-space): Global variables use more than the Uno’s 2048 bytes of RAM. Move text into flash with F(), shrink arrays and buffers, or move to a Mega or ESP32.
- [Fix “dfu-util: No DFU capable USB device available” (Nano ESP32, Uno R4)](https://flashready.in/fix/dfu-util-no-dfu-capable-usb-device): The Arduino Nano ESP32 or Uno R4 Minima isn't in DFU mode or Windows lacks the driver. Double-tap reset, check the port and reinstall the board package.
- [Fix “Failed to read from DHT sensor!” (DHT22 / DHT11)](https://flashready.in/fix/dht-failed-to-read-from-sensor): The DHT library got no valid reply. Check the data pin, the pull-up resistor, the sensor type in code, power, and the 2-second minimum between reads.
- [Fix Digispark “Plug in device now… (will timeout in 60 seconds)” never connecting](https://flashready.in/fix/digispark-plug-in-device-now-timeout): The Digispark ATtiny85 needs its own USB driver, and must be plugged in only after you click Upload. Install the Digistump drivers and try a USB 2.0 port or hub.
- [Fix “… does not name a type” in Arduino](https://flashready.in/fix/does-not-name-a-type): The compiler does not recognise a class or type name — a missing #include, the wrong library version, or code placed outside a function.
- [Fix DS18B20 reading -127 °C (or stuck at 85 °C)](https://flashready.in/fix/ds18b20-reads-minus-127): -127 means the sensor was not found on the 1-Wire bus; 85 means it was read before a conversion finished. Usually the 4.7 kΩ pull-up or wiring.
- [Fix “'else' without a previous 'if'” in Arduino](https://flashready.in/fix/else-without-a-previous-if): The if has no braces and two statements, or a stray semicolon ends it early, so the else has nothing to attach to. Put both branches in { } braces.
- [Fix “Error while burning bootloader” / “Failed chip erase” (Arduino as ISP)](https://flashready.in/fix/error-while-burning-bootloader): Burning a bootloader with an Uno or Nano as ISP fails. Upload ArduinoISP first, add 10 µF on the programmer's RESET, select “Arduino as ISP” and check the 6 wires.
- [Fix “esp_camera.h: No such file or directory”](https://flashready.in/fix/esp-camera-h-no-such-file): The selected board has no camera driver. Choose an ESP32 board like “AI Thinker ESP32-CAM” with the esp32 core installed — not Uno, ESP8266 or ESP32-C3.
- [Fix ESP-NOW “invalid conversion … to 'esp_now_recv_cb_t'” (ESP32 core 3.x)](https://flashready.in/fix/esp-now-recv-cb-invalid-conversion): ESP32 core 3.x changed the ESP-NOW callbacks. Receive gets an esp_now_recv_info_t*; on core 3.3+ send gets a wifi_tx_info_t*. Update the function signatures.
- [Fix esp_task_wdt_init “invalid conversion from 'int' to 'const esp_task_wdt_config_t*'”](https://flashready.in/fix/esp-task-wdt-init-invalid-conversion): ESP32 core 3.x (ESP-IDF 5) takes a config struct instead of (seconds, panic). Build an esp_task_wdt_config_t and call esp_task_wdt_reconfigure().
- [Fix ESP32 analogRead always returning 4095](https://flashready.in/fix/esp32-analogread-always-4095): 4095 is the top of the ESP32 ADC: the pin is at or above ~3.1 V, wired to a 5 V sensor output, or floating. Divide 5 V signals and use an ADC1 pin.
- [Fix: Serial Monitor shows nothing on ESP32-C3 / S3 (USB CDC On Boot)](https://flashready.in/fix/esp32-c3-serial-monitor-blank-usb-cdc-on-boot): Upload works but Serial.println() prints nothing. On native-USB boards, enable Tools → USB CDC On Boot, wait for the port in setup(), and reopen the monitor.
- [Fix: ESP32-C3 SuperMini COM port keeps connecting and disconnecting](https://flashready.in/fix/esp32-c3-supermini-port-keeps-disconnecting): Windows plays the USB connect/disconnect sound in a loop. The C3 is boot-looping or browning out. Enter download mode, fix power and erase flash.
- [Fix ESP32-CAM “Camera init failed with error 0x105” (or 0x20001)](https://flashready.in/fix/esp32-cam-camera-init-failed): The camera driver cannot find the OV2640. Usually the ribbon cable, the board model selected in code, or a weak 5 V supply.
- [Fix ESP32-CAM “PSRAM ID read error” / psramFound() false](https://flashready.in/fix/esp32-cam-psram-not-found): The ESP32 cannot see its external PSRAM, so high-resolution camera frames fail. Enable PSRAM in the board settings and check power.
- [Fix: ESP32-S3 not detected — no COM port on the USB socket](https://flashready.in/fix/esp32-s3-no-com-port-native-usb): Your ESP32-S3 shows no port, or the port vanishes after upload. Use the right connector, force download mode with BOOT+RESET, and pick a safe USB Mode.
- [Fix ESP32-S3 “quad_psram: PSRAM ID read error … wrong PSRAM line mode”](https://flashready.in/fix/esp32-s3-quad-psram-id-read-error): On ESP32-S3 the PSRAM type must match the module: OPI for N8R8/N16R8, QSPI for N8R2/N4R2. Pick the right one in Tools → PSRAM and psramFound() works.
- [Fix: ESP32 Wi-Fi not connecting (stuck on WL_DISCONNECTED)](https://flashready.in/fix/esp32-wifi-not-connecting): WiFi.begin() never connects. Check 2.4 GHz band, SSID/password, router security mode, signal and power, in that order.
- [Fix ESP8266 stuck on “boot mode:(1,6)” (or (7,x)) — sketch won't start](https://flashready.in/fix/esp8266-boot-mode-1-6): The ESP8266 sampled its strapping pins wrong at reset. Mode 1 = GPIO0 (D3) low; 4–7 = GPIO15 (D8) high. Free those pins and the sketch boots.
- [Fix: ESP8266 deep sleep never wakes up (ESP.deepSleep)](https://flashready.in/fix/esp8266-deep-sleep-never-wakes): ESP.deepSleep() needs GPIO16 (D0) wired to RST to wake. Add the wire (or close the D1 mini SLEEP jumper), and remove it while uploading if uploads fail.
- [Fix “espcomm_upload_mem failed” / “espcomm_open failed” on ESP8266](https://flashready.in/fix/esp8266-espcomm-upload-failed): Old ESP8266 core error when the uploader cannot talk to the chip. Update the core, then check port, cable, GPIO0/GPIO15 wiring and reset.
- [Fix ESP8266 “Exception (28)” crash and reboot](https://flashready.in/fix/esp8266-exception-28): Exception 28 is LoadProhibited: the code read from an invalid address, usually a NULL pointer. Decode the stack to find the line, then fix the pointer.
- [Fix: ESP8266 prints garbage in Serial Monitor after reset (74880 baud)](https://flashready.in/fix/esp8266-garbage-at-74880-baud): The junk characters at reset are the ESP8266 boot log sent at 74880 baud. Set the monitor to 74880 to read it, or ignore it — your 115200 output follows.
- [Fix ESP8266 “call to 'HTTPClient::begin' declared with attribute error: obsolete API”](https://flashready.in/fix/esp8266-httpclient-begin-obsolete-api): ESP8266 core 3.x removed http.begin(url). Create a WiFiClient (or WiFiClientSecure for https) and call http.begin(client, url).
- [Fix ESP8266 “ISR not in IRAM!” crash on attachInterrupt](https://flashready.in/fix/esp8266-isr-not-in-iram): Since core 2.5 the ESP8266 refuses interrupt handlers stored in flash. Add IRAM_ATTR to the handler (and anything it calls), and keep it short.
- [Fix ESP8266 “Soft WDT reset” (random reboots)](https://flashready.in/fix/esp8266-soft-wdt-reset): Your code ran for about 3 seconds without giving the Wi-Fi stack a turn. Break long loops with yield() or delay(), and give every wait a timeout.
- [Fix ESP8266 “rst cause:4, boot mode:(3,6)” — wdt reset loop](https://flashready.in/fix/esp8266-wdt-reset-rst-cause-4): The ESP8266's hardware watchdog fired because loop() or an interrupt never yielded. Add yield()/delay(0) to long loops, keep ISRs in IRAM, and check power.
- [Fix “ESP8266WiFi.h: No such file or directory”](https://flashready.in/fix/esp8266wifi-h-no-such-file): ESP8266 code compiled for an ESP32 (or Uno). Select the ESP8266 board, or port the code: WiFi.h, HTTPClient.h and WebServer.h replace the ESP8266 headers.
- [Fix “esptool.py can not exit the download mode over USB” (ESP32-S3/C3)](https://flashready.in/fix/esptool-can-not-exit-download-mode-over-usb): The upload worked, but the native-USB board stays in the bootloader. Press RESET once — and set things up so you don't have to every time.
- [Fix “This chip is ESP32-S3 not ESP32. Wrong --chip argument?”](https://flashready.in/fix/esptool-wrong-chip-argument): esptool reached a different ESP chip than the board you selected. Pick the board that matches the chip printed on the module and upload again.
- [Fix “exit status 1” / “Compilation error: exit status 1”](https://flashready.in/fix/exit-status-1-compilation-error): “exit status 1” only says the compiler failed. The real error is higher up in the output — here’s how to find and read it.
- [Fix “expected '}' at end of input” in Arduino](https://flashready.in/fix/expected-brace-at-end-of-input): A { was never closed, so the file ended inside a function. Often shown with “a function-definition is not allowed here”. Find the block that’s missing its }.
- [Fix “expected declaration before '}' token”](https://flashready.in/fix/expected-declaration-before-brace): There is one closing brace too many: a } with no matching {. Auto Format (Ctrl+T) shows where the indentation breaks; delete the extra brace there.
- [Fix “expected ';' before '}' token” in Arduino](https://flashready.in/fix/expected-semicolon-before-token): A statement on the line above is missing its semicolon. The compiler only notices at the next token, so look one line up from the line number it reports.
- [Fix “expected unqualified-id before '{' token”](https://flashready.in/fix/expected-unqualified-id-before): Code is sitting outside any function — usually a semicolon after void setup() or a stray brace. Remove the ; after the function header and check braces.
- [Fix “Failed to communicate with the flash chip, read/write operations will fail”](https://flashready.in/fix/failed-to-communicate-with-the-flash-chip): esptool read flash ID 0xffffff or 0 — the ESP32 cannot see its own flash chip. Free GPIO6–11, check GPIO12 and the supply, or the flash is damaged.
- [Fix “Failed to connect to ESP32: No serial data received”](https://flashready.in/fix/failed-to-connect-no-serial-data-received): esptool sees the port but the ESP32 never answers. Usually the board is not in download mode, the cable is charge-only, or another app holds the port.
- [Fix “Failed to set baud rate 921600. The driver may not support this rate.”](https://flashready.in/fix/failed-to-set-baud-rate): The USB-serial driver rejected the high upload speed. Set Upload Speed to 115200 or 460800, or update the CH340/PL2303 driver.
- [Fix “Failed to start stub flasher. There was no response.”](https://flashready.in/fix/failed-to-start-stub-flasher): esptool loaded its helper into ESP32 RAM but it never said hello. Usually a reset during the hand-over, an unstable supply, or a counterfeit/odd module.
- [Fix “Failed to write to target RAM (result was 01070000: Operation timed out)”](https://flashready.in/fix/failed-to-write-to-target-ram): The ROM bootloader timed out while esptool loaded its stub into RAM. Enter download mode by hand, lower the upload speed and fix power and cable.
- [Fix ESP32 “The filename or extension is too long” on Windows](https://flashready.in/fix/filename-or-extension-is-too-long): The compile command for ESP32 exceeds Windows’ length limit, usually from a deep sketch path or many libraries. Shorten paths and remove unused libraries.
- [Fix ESP32 “flash read err, 1000” boot loop](https://flashready.in/fix/flash-read-err-1000): The ROM bootloader cannot read flash, so it never starts your firmware. Usually a strapping pin pulled the wrong way, flash mode, or a damaged flash chip.
- [Fix “NON GENUINE DEVICE FOUND!” from an FTDI USB-serial adapter](https://flashready.in/fix/ftdi-non-genuine-device-found): An FTDI driver detected a cloned FT232RL and sends this text instead of your data (or set its PID to 0000). Restore the PID, pin an older driver, or swap the adapter.
- [Fix “Guru Meditation Error: Core 1 panic'ed (IllegalInstruction)”](https://flashready.in/fix/guru-meditation-illegalinstruction): The ESP32 tried to run bytes that aren't valid code. Classic cause: a non-void function missing its return. Also stack corruption and bad flash settings.
- [Fix “Guru Meditation Error: Core 1 panic'ed (InstrFetchProhibited)”](https://flashready.in/fix/guru-meditation-instrfetchprohibited): The ESP32 jumped to an address with no code — usually a null function pointer or callback, a deleted object, or a stack overflow that trashed a return address.
- [Fix ESP32-C3 “Guru Meditation Error: Core 0 panic'ed (Load access fault)”](https://flashready.in/fix/guru-meditation-load-access-fault-esp32-c3): The RISC-V ESP32-C3/C6 read from an invalid address — usually a null pointer. Decode MEPC and RA with addr2line, since there's no Xtensa-style backtrace.
- [Fix “Guru Meditation Error: Core 1 panic’ed (LoadProhibited)”](https://flashready.in/fix/guru-meditation-loadprohibited): The ESP32 read from an invalid address — almost always a null or dangling pointer, an out-of-range array index or an object used before begin().
- [Fix “Guru Meditation Error: Core 1 panic’ed (StoreProhibited)”](https://flashready.in/fix/guru-meditation-storeprohibited): The ESP32 tried to write to an invalid address: writing through a null pointer, past an array, or into a buffer that was never allocated.
- [Fix HC-SR04 always reading 0 cm (or no change)](https://flashready.in/fix/hc-sr04-always-zero): pulseIn() timed out, so the distance is 0. Check TRIG/ECHO pins, 5 V power, the echo voltage divider on 3.3 V boards and the timeout.
- [Fix ESP32 HTTPClient “HTTP error -11” (read Timeout)](https://flashready.in/fix/http-error-minus-11-read-timeout): The server accepted the connection but answered too slowly. Raise http.setTimeout(), follow redirects for Google Apps Script, and keep the request small.
- [Fix ESP32 HTTPClient “[HTTP] GET... failed, error: connection refused” (-1)](https://flashready.in/fix/httpclient-error-connection-refused): HTTP code -1 means the TCP connection never opened: localhost in the URL, wrong IP or port, a PC firewall, or an https:// URL. Fix the address before the code.
- [Fix “HX711 not found.” (load cell amplifier not ready)](https://flashready.in/fix/hx711-not-found): is_ready() never went true: DT/SCK swapped or on the wrong pins, no power to the HX711, or a loose load-cell wire. Check the 4+2 wires before the code.
- [Fix “I2C device not found” — the scanner shows nothing](https://flashready.in/fix/i2c-device-not-found): Your LCD, OLED or sensor doesn't answer on I2C. Run the scanner, then check wiring, power, pull-ups and the address — in that order.
- [Fix “Image file at 0x1000 doesn't look like an image file”](https://flashready.in/fix/image-file-doesnt-look-like-an-image-file): esptool found no ESP image header at that address — usually the wrong offset for the chip (0x0 vs 0x1000) or a merged/MicroPython .bin flashed to the wrong place.
- [Fix “Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)”](https://flashready.in/fix/interrupt-wdt-timeout-on-cpu1): An interrupt handler or critical section ran so long it starved the CPU. Keep ISRs to a flag, never Serial.print or delay() inside them, and mark them IRAM_ATTR.
- [Fix “invalid conversion from 'const char*' to 'char*' [-fpermissive]”](https://flashready.in/fix/invalid-conversion-from-const-char-to-char): Read-only text was passed where writable text is expected. An error on ESP32/ESP8266, only a warning on Uno. Make the pointer const, or copy into a char array.
- [Fix “Invalid head of packet” when uploading to ESP32](https://flashready.in/fix/invalid-head-of-packet): esptool receives garbled bytes instead of a valid reply — serial noise, a too-high upload speed, or something else talking on the port.
- [Fix ESP32 “invalid header: 0xffffffff” boot loop](https://flashready.in/fix/invalid-header-0xffffffff): The flash is empty or erased where the bootloader should be. Re-upload, or flash the bootloader, partitions and app together.
- [Fix “invalid operands of types 'const char [7]' and 'const char [3]' to binary 'operator+'”](https://flashready.in/fix/invalid-operands-to-binary-operator-plus): Two quoted texts can’t be joined with + in C++. Make the first one a String, print the parts separately, or build the line with snprintf().
- [Fix IRremote “It seems, that you are using an old version 2.0 code / example”](https://flashready.in/fix/irremote-old-version-2-code): IRremote 3+/4.x replaced irrecv.decode(&results) and results.value. Use IrReceiver.begin(), decode() and decodedIRData.command — or the codes you saved won’t match.
- [Fix “ISO C++ says that these are ambiguous” (Wire.requestFrom)](https://flashready.in/fix/iso-cpp-says-these-are-ambiguous): A warning, not an error: Wire.requestFrom() got a uint8_t and an int, matching two overloads. Cast both arguments to the same type to silence it.
- [Fix: 16×2 I2C LCD shows only blocks or nothing](https://flashready.in/fix/lcd-shows-blocks-or-blank): A row of white boxes or a lit blank screen. Turn the contrast trimmer, check the I2C address (0x27 or 0x3F) and power the LCD from 5 V.
- [Fix “'ledcSetup' was not declared in this scope” (ESP32 core 3.x)](https://flashready.in/fix/ledcsetup-was-not-declared-esp32-core-3): Arduino-ESP32 3.x removed ledcSetup() and ledcAttachPin(). Use ledcAttach(pin, freq, bits) and ledcWrite(pin, duty) — the pin replaces the channel.
- [Fix “WARNING: library … claims to run on avr architecture(s)”](https://flashready.in/fix/library-claims-to-run-on-avr-architecture): A warning, not an error: the library’s metadata only lists AVR. Many such libraries still work on ESP32. If it compiles, test it; if not, use an ESP32 version.
- [Fix “[Errno 13] Permission denied: '/dev/ttyUSB0'” on Linux](https://flashready.in/fix/linux-permission-denied-dev-ttyusb0): Your Linux user isn't allowed to open the serial port. Join the dialout (or uucp) group, log out and back in — and give Snap/Flatpak IDEs serial access.
- [Fix “no matching function for call to 'LiquidCrystal_I2C::begin()'”](https://flashready.in/fix/liquidcrystal-i2c-begin-no-matching-function): The code was written for a different LCD library. With Frank de Brabander’s LiquidCrystal I2C, call lcd.init() (or lcd.begin(16, 2)) instead of lcd.begin().
- [Fix I2C LCD printing only the first character](https://flashready.in/fix/liquidcrystal-i2c-prints-only-first-character): lcd.print("Hello") shows just “H”: an old LiquidCrystal_I2C copy whose write() returns 0. Install the current library (1.1.2) or change return 0 to return 1.
- [Fix “Low memory available, stability problems may occur”](https://flashready.in/fix/low-memory-stability-problems): Global variables use most of the Uno’s 2 KB of RAM. Move constant strings to flash with F(), shrink buffers and avoid String.
- [Fix “lvalue required as left operand of assignment”](https://flashready.in/fix/lvalue-required-as-left-operand-of-assignment): You used = (assign) where you meant == (compare), usually inside an if. Or you tried to assign to a constant or #define. Use == for comparisons.
- [Fix “[Errno 16] Resource busy: '/dev/cu.wchusbserial…'” on macOS](https://flashready.in/fix/macos-resource-busy-wchusbserial): On macOS a CH340 board can appear twice — Apple's driver and WCH's driver fight over it. Use one driver, pick the cu.usbserial port and close other serial apps.
- [Fix MAX30102 “MAX30105 was not found. Please check wiring/power.”](https://flashready.in/fix/max30105-was-not-found): The SparkFun library got no reply at 0x57. Check SDA/SCL and 3.3 V, then the module’s I2C pull-ups — many purple MAX30102 boards pull them to 1.8 V.
- [Fix “MD5 of file does not match data in flash!”](https://flashready.in/fix/md5-of-file-does-not-match): The upload finished but the check after writing failed, so the flash content is wrong. Usually power, flash mode or a counterfeit/worn flash chip.
- [Fix MicroPython “ImportError: no module named …”](https://flashready.in/fix/micropython-importerror-no-module-named): The module is not built into your firmware and not saved on the board. Copy the .py driver to the board, or install it with mip.
- [Fix “ImportError: no module named 'network'” on the Pico](https://flashready.in/fix/micropython-importerror-no-module-named-network): The firmware on your board has no Wi-Fi support. Usually it is the plain Pico UF2 flashed onto a Pico W — flash the Pico W (or Pico 2 W) build instead.
- [Fix MicroPython “ImportError: no module named 'umqtt'”](https://flashready.in/fix/micropython-importerror-no-module-named-umqtt): umqtt.simple is not part of every MicroPython build. Install it on the board with mip (or Thonny’s package manager) and keep the umqtt/ folder on the board.
- [Fix MicroPython “MemoryError: memory allocation failed”](https://flashready.in/fix/micropython-memoryerror): The board ran out of free heap, often from fragmentation. Pre-allocate buffers, avoid big strings in loops, call gc.collect() and use precompiled .mpy files.
- [Fix “ModuleNotFoundError: No module named 'machine'” in Thonny](https://flashready.in/fix/micropython-modulenotfounderror-no-module-named-machine): Your code ran on the PC’s Python, not on the board. Select the MicroPython interpreter in Thonny (bottom-right) — don’t pip install “machine”.
- [Fix MicroPython “NameError: name 'Pin' isn't defined”](https://flashready.in/fix/micropython-nameerror-name-isnt-defined): MicroPython met a name it does not know: a missing import, a typo or a variable used before it is set. Import Pin from machine and check spelling.
- [Fix MicroPython “OSError: -202” (and “OSError: -2”) on requests](https://flashready.in/fix/micropython-oserror-202-getaddrinfo): The host name could not be resolved: Wi-Fi is not connected yet, or DNS failed. Wait for isconnected(), check the URL, then retry.
- [Fix MicroPython “OSError: [Errno 19] ENODEV” on I2C](https://flashready.in/fix/micropython-oserror-enodev-i2c): No device answered at the I2C address you used. Scan the bus, check SDA/SCL pins match the I2C(…) call, and confirm the address.
- [Fix MicroPython “OSError: [Errno 5] EIO” on I2C](https://flashready.in/fix/micropython-oserror-errno-5-eio): The I2C device answered the scan but a read or write failed part-way. Loose wires, weak pull-ups, a 5 V module or too high a bus speed — check in that order.
- [Fix MicroPython “OSError: [Errno 12] ENOMEM”](https://flashready.in/fix/micropython-oserror-errno-12-enomem): The network stack ran out of memory — usually responses or sockets never closed, or HTTPS on a fragmented heap. Close every response and collect garbage.
- [Fix MicroPython “OSError: [Errno 110] ETIMEDOUT”](https://flashready.in/fix/micropython-oserror-errno-110-etimedout): A device or server did not answer in time. With a DHT11/DHT22 it is wiring or reading too fast; with sockets and I2C it is the network or a stuck bus.
- [Fix ESP32 MicroPython “OSError: Wifi Internal Error”](https://flashready.in/fix/micropython-oserror-wifi-internal-error): connect() was called while the radio was already connecting or still up after a soft reset. Activate once, check isconnected(), disconnect before reconnecting.
- [Fix MicroPython “TypeError: can't convert float to int”](https://flashready.in/fix/micropython-typeerror-cant-convert-float-to-int): duty_u16(), sleep_ms(), Pin() and range() need whole numbers. Wrap the maths in int() or use // so a 0.5 never reaches them.
- [Fix MicroPython “TypeError: can't convert 'int' object to str implicitly”](https://flashready.in/fix/micropython-typeerror-cant-convert-int-to-str): You joined text and a number with +. Convert the number first with str(), or build the line with format() or an f-string.
- [Fix MicroPython “ValueError: bad SCL pin” on the Pico](https://flashready.in/fix/micropython-valueerror-bad-scl-pin): The Pico’s I2C0 and I2C1 each work only on fixed GP pins. Pick an SDA/SCL pair that belongs to the bus number you passed, or use SoftI2C.
- [Fix MicroPython “ValueError: invalid pin”](https://flashready.in/fix/micropython-valueerror-invalid-pin): That GPIO number does not exist on this chip, or it is reserved for flash. Use the GPIO number (not the D-label or header pin number) of a pin that is broken out.
- [Fix “ModuleNotFoundError: No module named 'serial'” when uploading](https://flashready.in/fix/modulenotfounderror-no-module-named-serial): The upload script runs on your system Python, which lacks pySerial. Update the board core (it bundles its own esptool) or install pyserial for that Python.
- [Fix mpremote / Thonny “could not enter raw repl”](https://flashready.in/fix/mpremote-could-not-enter-raw-repl): The tool could not interrupt the board. A busy main.py, another program holding the port, or a board that resets on connect. Free the port, stop main.py, retry.
- [Fix “Failed to find MPU6050 chip” / “MPU6050 connection failed”](https://flashready.in/fix/mpu6050-connection-failed): The MPU6050 is not answering at 0x68/0x69, or answers with an unexpected ID. Check wiring, the AD0 pin and clone chips like the MPU6500.
- [Fix PubSubClient “failed, rc=5” (MQTT not authorised)](https://flashready.in/fix/mqtt-failed-rc-5): The broker accepted the connection but refused the login. Pass a user name and password to connect(), check them, and make sure the client ID is unique.
- [Fix PubSubClient “failed, rc=-2” (MQTT connect failed)](https://flashready.in/fix/mqtt-failed-rc-minus-2): rc=-2 means the TCP connection to the broker failed before MQTT even started: wrong IP or port, broker not running, localhost, or a PC firewall.
- [Fix PubSubClient publish() returning false (message never arrives)](https://flashready.in/fix/mqtt-publish-returns-false): Messages over 256 bytes (topic + payload + header) don’t fit PubSubClient’s buffer. Call setBufferSize(), keep loop() running and check connected() first.
- [Fix “multiple definition of …” / “first defined here” linker error](https://flashready.in/fix/multiple-definition-of): The same variable or function ended up in two compiled files — usually a global defined in a .h file included twice. Declare it extern in the header, define it once.
- [Fix “Multiple libraries were found for …” in Arduino IDE](https://flashready.in/fix/multiple-libraries-were-found): Two installed libraries provide the same header. Usually harmless, but if the wrong one is used, remove the duplicate.
- [Fix NEO-6M “No GPS detected” or no satellite fix](https://flashready.in/fix/neo-6m-no-gps-fix): No data means wiring or baud rate; data but no fix means the antenna cannot see the sky. A cold start outdoors can take 1–5 minutes.
- [Fix ESP32 “No bootable app partitions in the partition table”](https://flashready.in/fix/no-bootable-app-partitions): The bootloader found no valid app — nothing was written at 0x10000, the image is corrupt, or the partition table doesn't match. Re-flash all parts at the right offsets.
- [Fix “no matching function for call to 'DHT::DHT()'”](https://flashready.in/fix/no-matching-function-for-call-to-dht): The DHT object was created without its pin and sensor type. The Adafruit library needs both: DHT dht(4, DHT22); — the same rule applies to most sensor classes.
- [Fix “no matching function for call to 'min(int, long unsigned int&)'”](https://flashready.in/fix/no-matching-function-for-call-to-min): On ESP32, ESP8266 and Pico, min()/max() are C++ templates that need both arguments of the same type. Cast one so they match — code that compiled on the Uno fails here.
- [Fix “fatal error: XYZ.h: No such file or directory”](https://flashready.in/fix/no-such-file-or-directory-library): The sketch includes a library header that is not installed, or under a different name. Install the right library from Library Manager.
- [Fix nRF24L01 “radio hardware is not responding!!”](https://flashready.in/fix/nrf24l01-not-communicating): The RF24 library cannot talk to the module over SPI, or packets never arrive. Power at 3.3 V with a capacitor, and check CE/CSN and SPI pins.
- [Fix ESP32/ESP8266 NTP time showing 1970 (or “Failed to obtain time”)](https://flashready.in/fix/ntp-time-shows-1970): The clock was read before the first NTP reply arrived. Wait for sync after Wi-Fi connects, use IST (19800 s) and a reachable NTP server.
- [Fix OLED showing random noise / garbage pixels (1.3″ SH1106)](https://flashready.in/fix/oled-shows-random-noise-sh1106): A 1.3″ OLED is usually an SH1106, not an SSD1306. With the SSD1306 library it shows edge noise or a shifted image. Use Adafruit_SH110X or U8g2’s SH1106 driver.
- [Fix “Packet content transfer stopped” on ESP32 upload](https://flashready.in/fix/packet-content-transfer-stopped): The bootloader stopped mid-packet, often right after the baud rate switch. Lower the upload speed, fix power and remove loads on TX/RX.
- [Fix Arduino-Pico upload “No drive to deploy.” (Raspberry Pi Pico)](https://flashready.in/fix/pico-no-drive-to-deploy): The IDE couldn't find the Pico's RPI-RP2 drive. The first upload, or after MicroPython, needs BOOTSEL held; on Linux the drive must be auto-mounted.
- [Fix: Pico RPI-RP2 drive not showing up](https://flashready.in/fix/pico-rpi-rp2-drive-not-showing): Holding BOOTSEL should mount a drive named RPI-RP2. If it does not, it is the cable, the timing of BOOTSEL, or the USB port.
- [Fix: copied the .uf2 to the Pico but nothing happens](https://flashready.in/fix/pico-uf2-copied-but-nothing-happens): The drive vanished (or came back) but no blink. Wrong UF2 for the chip (RP2040 vs RP2350), Pico W LED pin, MicroPython that just waits, or a full flash.
- [Fix picotool “No accessible RP2040 devices in BOOTSEL mode were found.”](https://flashready.in/fix/picotool-no-accessible-rp2040-devices): picotool needs the Pico in BOOTSEL mode. Hold BOOTSEL while plugging in, or let picotool reboot it with -f — and check the cable and udev rules on Linux.
- [Fix picotool “appears to be a RP2040 device in BOOTSEL mode, but picotool was unable to connect”](https://flashready.in/fix/picotool-unable-to-connect-zadig): Windows has no WinUSB driver on the Pico's bootloader interface. Install it with Zadig (RP2 Boot, Interface 1) — or on Linux add the udev rules.
- [Fix “PL2303HXA PHASED OUT SINCE 2012. PLEASE CONTACT YOUR SUPPLIER.”](https://flashready.in/fix/pl2303hxa-phased-out-since-2012): Prolific's newer Windows drivers refuse old or cloned PL2303 USB-TTL adapters. Install the older 3.3.2.105 driver and block the update — or buy a CP2102/CH340 adapter.
- [Fix “Platform 'esp32:esp32' not found: platform not installed”](https://flashready.in/fix/platform-not-found-platform-not-installed): The board package for the selected board isn't installed. Add the board manager URL, install the core, then re-select the board.
- [Fix PlatformIO “Please specify `upload_port` for environment”](https://flashready.in/fix/platformio-please-specify-upload-port): PlatformIO couldn't auto-detect your board's serial port. Install the USB driver, use a data cable, or set upload_port in platformio.ini.
- [Fix Arduino IDE 2 “Port monitor error: command 'open' failed: Serial port busy”](https://flashready.in/fix/port-monitor-error-serial-port-busy): Serial Monitor can't open the port because something else has it — another IDE window, the Plotter, an upload in progress, or ModemManager on Linux.
- [Fix “pyserial or esptool directories not found next to this upload.py tool”](https://flashready.in/fix/pyserial-or-esptool-directories-not-found): The ESP8266 core's uploader couldn't import esptool. Its tools folder is incomplete or Python is missing/blocked. Reinstall the core and check python3.
- [Fix RC522 “Firmware Version: 0x0” / not detecting cards](https://flashready.in/fix/rc522-not-detecting-cards): The MFRC522 library cannot talk to the reader. Power it at 3.3 V, check SDA(SS)/RST/SPI pins, and solder the header pins.
- [Fix “redefinition of 'void setup()'” in Arduino](https://flashready.in/fix/redefinition-of-void-setup): Your sketch has two setup() (or loop()) functions — two pasted examples or a second .ino tab. Merge them into one setup() and one loop().
- [Fix ESP32 “region `dram0_0_seg' overflowed by … bytes”](https://flashready.in/fix/region-dram0-0-seg-overflowed): Global and static variables don’t fit the ESP32’s static RAM. Shrink big global arrays, allocate large buffers at runtime with malloc/PSRAM, or move constants to flash.
- [Fix: relay clicks but the load does not switch](https://flashready.in/fix/relay-clicks-but-does-not-switch): The relay coil works but the contacts do not carry the load: wrong NO/NC terminal, loose screw terminal, or a load beyond the contact rating.
- [Fix ESP32 “rst:0x8 (TG1WDT_SYS_RESET)” reset loop](https://flashready.in/fix/rst-0x8-tg1wdt-sys-reset): A hardware timer watchdog reset the ESP32 — interrupts were blocked too long. Shorten ISRs, avoid Serial/delay in interrupts, and check bit-banged LED libraries.
- [Fix ESP32 boot loop “rst:0x10 (RTCWDT_RTC_RESET)”](https://flashready.in/fix/rst-0x10-rtcwdt-rtc-reset): The RTC watchdog reset the ESP32 before the bootloader finished. Fix flash mode/speed, re-flash a matching bootloader, and check power and strapping pins.
- [Fix RTClib “Couldn't find RTC” (DS3231 / DS1307)](https://flashready.in/fix/rtc-couldnt-find-rtc): Nothing answered at 0x68. Check SDA/SCL and power; a DS1307 needs 5 V and fails on 3.3 V boards. Time reading 2165/165/165 is the same fault.
- [Fix “Serial data stream stopped: Possible serial noise or corruption”](https://flashready.in/fix/serial-data-stream-stopped): The ESP32 stopped answering in the middle of a packet. Lower the upload speed, use a better cable and remove anything that can reset the board mid-upload.
- [Fix “A serial exception error occurred: Write timeout” (ESP32)](https://flashready.in/fix/serial-exception-write-timeout): esptool could not push bytes to the USB port in time. Usually a native-USB ESP32-C3/S3 that crashed or slept, a flaky cable, or a CH340 wedged after a crash.
- [Fix: Serial Monitor shows garbage characters (wrong baud or clock)](https://flashready.in/fix/serial-monitor-garbage-characters-wrong-baud): Random symbols instead of text mean the monitor's speed doesn't match the board. Match Serial.begin() to the monitor, and check the board's clock setting.
- [Fix “Could not open COM5, the port is busy or doesn’t exist”](https://flashready.in/fix/serial-port-busy-access-denied): Another program has the serial port open, or (on Linux) your user lacks permission. Close the other app or add yourself to the dialout group.
- [Fix “getting no sync reply: The serial TX path seems to be down”](https://flashready.in/fix/serial-tx-path-seems-to-be-down): The ESP32 entered download mode but never heard esptool. The PC→chip line (adapter TX → RX0) is broken, blocked by a module on GPIO3, or the adapter is dead.
- [Fix servo jitter, twitching or ESP32 resets when the servo moves](https://flashready.in/fix/servo-jitter): Servos jitter from weak power, a shared supply with the board, or PWM timing conflicts. Give the servo its own 5 V supply with a common ground.
- [Fix Servo.h errors on ESP32 (“only supports boards with an AVR…”)](https://flashready.in/fix/servo-library-esp32-error): Arduino’s Servo library doesn’t support the ESP32 (old versions refuse, new ones fail on core 3.x). Install ESP32Servo and include <ESP32Servo.h>.
- [Fix SIM800L restarting, blinking fast or not registering](https://flashready.in/fix/sim800l-keeps-restarting): The SIM800L needs 3.7–4.2 V and up to 2 A peaks. Most reset loops are power: wrong voltage, thin wires, or no buffer capacitor.
- [Fix “Sketch too big” / “text section exceeds available space”](https://flashready.in/fix/sketch-too-big): The compiled program does not fit in flash. Remove unused libraries and debug strings, or pick a larger partition scheme on ESP32.
- [Fix “SoftwareSerial.h: No such file or directory” on ESP32](https://flashready.in/fix/softwareserial-h-no-such-file-esp32): The ESP32 core has no SoftwareSerial — it doesn’t need one. Use a spare hardware UART: HardwareSerial gps(2); gps.begin(9600, SERIAL_8N1, RX, TX);
- [Fix “spi_flash: Detected size(4096k) smaller than the size in the binary image header”](https://flashready.in/fix/spi-flash-detected-size-smaller): Tools → Flash Size is bigger than the real chip, so the ESP32 refuses to boot. Check the module marking or esptool flash_id, then pick the true size.
- [Fix “SSD1306 allocation failed” (OLED stays blank)](https://flashready.in/fix/ssd1306-allocation-failed): Adafruit_SSD1306 could not allocate its frame buffer. On an Uno that means RAM is nearly full; elsewhere it is often the wrong address or begin() call.
- [Fix ESP32 “X509 - Certificate verification failed” (-9984)](https://flashready.in/fix/ssl-client-x509-certificate-verification-failed): The ESP32 does not trust the server’s certificate. Give WiFiClientSecure the site’s root CA (not the site certificate), or use the built-in CA bundle.
- [Fix ST7735 1.8″ TFT showing only a white screen](https://flashready.in/fix/st7735-white-screen): White = backlight on, controller not initialised. Check CS/DC/RST pins match the code, use hardware SPI pins, and pick the right initR() tab for your panel.
- [Fix “Stack canary watchpoint triggered (loopTask)”](https://flashready.in/fix/stack-canary-watchpoint-triggered): A task used more stack than it was given. Large local arrays, deep recursion or big String objects in loop() are the usual causes.
- [Fix “stray '\342' in program” (curly quotes from copy-paste)](https://flashready.in/fix/stray-342-in-program): Code copied from a web page, PDF or WhatsApp brought curly quotes or invisible characters. Retype the quotes as plain " or use Find/Replace.
- [Fix: ESP32 does nothing after “Hard resetting via RTS pin...”](https://flashready.in/fix/stuck-after-hard-resetting-via-rts-pin): Upload finished, but the sketch doesn't run until you press EN — or never runs. Check GPIO0/GPIO2/GPIO12, the Serial Monitor baud rate and USB CDC settings.
- [Fix “Task watchdog got triggered” on ESP32](https://flashready.in/fix/task-watchdog-got-triggered): A task ran too long without yielding, so the watchdog fired. Usually a blocking while-loop, a long delay-free loop, or waiting on a sensor that never answers.
- [Fix “A fatal error occurred: The chip stopped responding.”](https://flashready.in/fix/the-chip-stopped-responding): esptool lost contact with the ESP32 in the middle of flashing. Power dips, a loose cable or a native-USB board resetting are the usual causes.
- [Fix Thonny “Couldn’t find the device automatically”](https://flashready.in/fix/thonny-couldnt-find-the-device): Thonny sees no MicroPython board. Install MicroPython first, use a data cable, pick the right interpreter and port, and close other serial apps.
- [Fix “Timed out waiting for packet content” on ESP32 / ESP8266](https://flashready.in/fix/timed-out-waiting-for-packet-content): The ESP sent the start of a reply but the rest never arrived. Typical with high upload speeds, weak cables and boards that brown out during flashing.
- [Fix “Timed out waiting for packet header” on ESP32](https://flashready.in/fix/timed-out-waiting-for-packet-header): Your PC sees the ESP32 but the bootloader isn't answering. Nine times out of ten it's the BOOT button, the USB cable or the driver — fix it in under a minute.
- [Fix “too many arguments to function 'hw_timer_t* timerBegin(uint32_t)'”](https://flashready.in/fix/timerbegin-too-many-arguments): ESP32 core 3.x changed the timer API: timerBegin(frequency), timerAttachInterrupt(timer, fn), timerAlarm(). timerAlarmWrite and timerAlarmEnable are gone.
- [Fix U8g2 OLED staying blank (no error, nothing on screen)](https://flashready.in/fix/u8g2-blank-screen): Usually the wrong constructor (SSD1306 vs SH1106, 128x32 vs 128x64), no setFont(), a missing sendBuffer(), or an address given as 0x3C instead of 0x78.
- [Fix “Unable to verify flash chip connection (No serial data received.)”](https://flashready.in/fix/unable-to-verify-flash-chip-connection): esptool reached the bootloader but the link dropped while it checked the flash chip. Usually power sag, a GPIO6–11 conflict, or a too-high upload speed.
- [Fix “undefined reference to `setup'” (or `loop')](https://flashready.in/fix/undefined-reference-to-setup): The linker found no setup() or loop(): a capital letter (Setup), an empty or unsaved sketch, or code in the wrong file. Name them exactly setup() and loop().
- [Fix “Unexpected CHIP magic value 0xffffffff. Failed to autodetect chip type.”](https://flashready.in/fix/unexpected-chip-magic-value): esptool connected but read nonsense when identifying the chip — serial noise, a non-Espressif device on the port, or a chip that reset mid-read.
- [Fix “USB device not recognized” / Device Descriptor Request Failed (Code 43)](https://flashready.in/fix/usb-device-not-recognized-code-43): Windows can't even read what your board is. It's the cable, the port, power, or a damaged USB chip — or a native-USB board stuck mid-crash. Here's how to tell.
- [“avrdude: warning: cannot set sck period. please check for usbasp firmware update.”](https://flashready.in/fix/usbasp-cannot-set-sck-period): A harmless warning from USBasp clones with old firmware. Programming still works; if it fails, set the slow-clock jumper. Updating firmware removes the warning.
- [Fix VL53L0X “Failed to detect and initialize sensor!” / “Failed to boot VL53L0X”](https://flashready.in/fix/vl53l0x-failed-to-detect-and-initialize): The VL53L0X didn’t answer at 0x29. Check SDA/SCL, VIN and the XSHUT pin, and give each sensor its own address when using two or more.
- [Fix “was not declared in this scope” in Arduino](https://flashready.in/fix/was-not-declared-in-this-scope): The compiler met a name it does not know: a typo, a missing #include or library, a variable defined inside another block, or a pin name your board lacks.
- [Fix “Failed to execute 'open' on 'SerialPort': Failed to open serial port”](https://flashready.in/fix/web-serial-failed-to-open-serial-port): A browser flasher or serial monitor can't open the port. Another program has it, the driver is missing, or (Linux) your user lacks permission.
- [Fix WiFi.status() = 4 “WL_CONNECT_FAILED” (wrong password?)](https://flashready.in/fix/wifi-status-wl-connect-failed): The board found your network but the login failed: wrong password, WPA3-only security, MAC filtering or a router that is full. Check in that order.
- [Fix WiFi.status() = 1 “WL_NO_SSID_AVAIL” on ESP32 / ESP8266](https://flashready.in/fix/wifi-status-wl-no-ssid-avail): The board cannot see your network at all: 5 GHz-only band, a typo in the SSID, a hidden network, channel 12–13, or weak signal. Scan first, then fix the one that fails.
- [Fix “File … will not fit in 2097152 bytes of flash” (esptool)](https://flashready.in/fix/will-not-fit-in-bytes-of-flash): The image is bigger than the flash size esptool was told about. Pick the right Flash Size and partition scheme, or flash a merged binary at 0x0.
- [Fix ESP32 “[E][Wire.cpp] requestFrom(): i2cRead returned Error 263”](https://flashready.in/fix/wire-requestfrom-i2cread-error-263): Error 263 is an I2C timeout (ESP_ERR_TIMEOUT): the device didn’t answer or held the clock too long. Check wiring and pull-ups, slow the bus, raise the timeout.
- [Fix “Wrong boot mode detected (0x13)! The chip needs to be in download mode”](https://flashready.in/fix/wrong-boot-mode-detected): esptool reset the ESP32 but it booted your sketch instead of the bootloader. GPIO0 was not held low — fix auto-reset or press BOOT while connecting.
- [Fix ESP32 stuck on “waiting for download”](https://flashready.in/fix/wrong-boot-mode-waiting-for-download): Serial Monitor shows boot:0x3 DOWNLOAD_BOOT and “waiting for download”. GPIO0 is held LOW at reset — usually the BOOT button or wiring on IO0.

## Comparisons and buying guides

- [Best microcontroller boards for battery projects (India, 2026)](https://flashready.in/best/best-board-for-battery-projects): Which boards really last on batteries — XIAO ESP32C3, Pro Mini 3.3 V, C3 SuperMini, bare modules, DevKit V1, Pico W — with honest sleep-current maths and Indian prices.
- [Best Arduino and ESP32 display under ₹300 in India](https://flashready.in/best/best-display-under-300): OLED, 16×2 LCD, TM1637, MAX7219 and 1.8-inch TFT compared for projects under ₹300 — readability in sunlight, wiring, libraries and which suits clocks, sensors and graphs.
- [Best sensor kit for beginners in India — big kit or pick your own?](https://flashready.in/best/best-sensor-kit-india): 37-in-1 sensor kits vs starter kits vs a hand-picked set of 12 modules, with honest pros, cons and Indian price ranges, and a shopping list that covers most projects.
- [Best soil moisture sensor in India — resistive vs capacitive vs RS485](https://flashready.in/best/best-soil-moisture-sensor): Resistive, capacitive and RS485 soil moisture probes compared on lifespan, accuracy and price in India, plus how to spot a bad capacitive v1.2 board and seal it.
- [Best temperature sensor for Arduino and ESP32 in India](https://flashready.in/best/best-temperature-sensor): DS18B20, DHT22, SHT31, BME280, LM35, NTC thermistor, MAX6675 thermocouple and MLX90614 compared on range, accuracy, interface and price, with a pick for each use.
- [Best microcontroller boards for beginners in India (2026)](https://flashready.in/best/starter-boards-india): The best first boards for Indian students and hobbyists — Arduino Uno, Nano, ESP32 DevKit V1 and Pico W — with honest pros, cons and price ranges.
- [Compare boards and buying guides](https://flashready.in/compare): Honest, datasheet-based comparisons of ESP32, ESP8266, ESP32-S3, ESP32-C3, Arduino and Pico boards, plus buying guides for India.
- [A4988 vs DRV8825 vs TB6612FNG — stepper and motor drivers compared](https://flashready.in/compare/a4988-vs-drv8825-vs-tb6612fng): A4988, DRV8825 and TB6612FNG compared on voltage, current, microstepping and current limiting, with Vref setup tips and which driver suits steppers or DC motors.
- [Arduino Nano vs Pro Mini — same chip, different jobs](https://flashready.in/compare/arduino-nano-vs-pro-mini): Nano and Pro Mini compared on USB, 3.3 V and 5 V versions, size, power draw and total cost in India, and why the Pro Mini wins for battery-powered builds.
- [Arduino Uno vs Nano — same chip, which board to buy?](https://flashready.in/compare/arduino-uno-vs-nano): Arduino Uno R3 and Nano compared on pins, size, power input, shields, USB and price in India, plus a note on the Uno R4. Pick the right form factor for your project.
- [Arduino vs Raspberry Pi — microcontroller or mini computer?](https://flashready.in/compare/arduino-vs-raspberry-pi): Arduino and Raspberry Pi compared on what they run, boot time, power cuts, GPIO, analog input, cost and use cases in India — and why many projects use both.
- [DHT11 vs DHT22 — which temperature and humidity sensor to buy?](https://flashready.in/compare/dht11-vs-dht22): DHT11 and DHT22 (AM2302) compared on range, accuracy, resolution, read speed and price in India — and why the DHT11 falls short in an Indian summer.
- [DHT22 vs BME280 vs SHT31 — best temperature and humidity sensor](https://flashready.in/compare/dht22-vs-bme280-vs-sht31): DHT22, BME280 and SHT31 compared on accuracy, interface, speed, pressure sensing and price in India, plus how to spot a BMP280 sold as a BME280.
- [ESP32-C3 vs ESP8266 — is it time to replace your NodeMCU?](https://flashready.in/compare/esp32-c3-vs-esp8266): ESP32-C3 and ESP8266 compared on CPU, RAM, Bluetooth, ADC, USB, security and price in India — and what changes when you port a NodeMCU project to a C3.
- [ESP32-C6 vs ESP32-C3 — Wi-Fi 6, Thread and Zigbee worth paying for?](https://flashready.in/compare/esp32-c6-vs-esp32-c3): ESP32-C6 and ESP32-C3 compared on Wi-Fi 6, Thread/Zigbee, low-power core, RAM, pins, Arduino support and Indian prices, with who actually needs the C6.
- [ESP32 DevKit V1 (30-pin) vs DevKitC (38-pin) — what the extra pins are](https://flashready.in/compare/esp32-devkit-v1-vs-devkitc-38-pin): The 30-pin ESP32 DevKit V1 and 38-pin DevKitC-style boards compared — which extra pins you really get, breadboard fit, power pins and which to buy in India.
- [ESP32-S3 vs ESP32-C3 — which newer ESP32 to buy](https://flashready.in/compare/esp32-s3-vs-esp32-c3): ESP32-S3 and ESP32-C3 compared on cores, memory, USB, pins and price in India, with which projects suit each chip.
- [ESP32-S3 vs ESP32-S2 — USB boards compared](https://flashready.in/compare/esp32-s3-vs-esp32-s2): ESP32-S3 and ESP32-S2 compared on cores, RAM, Bluetooth, USB, ADC and DAC, and boards like the LOLIN S2 Mini and S3 DevKitC-1 at Indian prices.
- [ESP32 vs Arduino Uno — which should you learn and build with?](https://flashready.in/compare/esp32-vs-arduino-uno): ESP32 DevKit V1 and Arduino Uno R3 compared on speed, memory, Wi-Fi, 5 V vs 3.3 V logic and price in India, with a clear pick for students and project builders.
- [ESP32 vs ESP8266 — which should you use in 2026?](https://flashready.in/compare/esp32-vs-esp8266): ESP32 and ESP8266 compared on CPU, memory, Bluetooth, ADC and price in India, with a clear recommendation for new projects.
- [HC-SR04 vs VL53L0X vs JSN-SR04T — which distance sensor?](https://flashready.in/compare/hc-sr04-vs-vl53l0x-vs-jsn-sr04t): Ultrasonic HC-SR04, laser ToF VL53L0X and waterproof JSN-SR04T compared on range, beam, blind zone, weatherproofing and price — with the right pick for tanks and robots.
- [I2C vs SPI displays — wiring, speed and which to choose](https://flashready.in/compare/i2c-vs-spi-displays): I2C and SPI displays compared on wires, refresh speed, sharing pins and common modules (SSD1306, 16×2 LCD, ST7735, ILI9341), with a pick for each kind of project.
- [L298N vs TB6612FNG — best motor driver for a small robot](https://flashready.in/compare/l298n-vs-tb6612fng): L298N and TB6612FNG DC motor drivers compared on voltage drop, current, heat, logic level and price in India, with the right pick for BO-motor robot cars.
- [LoRa vs HC-12 vs nRF24L01 — long-range wireless modules compared](https://flashready.in/compare/lora-vs-hc-12-vs-nrf24l01): SX1278 LoRa, HC-12 and nRF24L01 radios compared on range, data rate, band, power and price in India, with notes on licence-free bands and antennas.
- [MicroPython vs Arduino C++ — which should you learn first?](https://flashready.in/compare/micropython-vs-arduino-cpp): MicroPython and Arduino C++ compared on workflow, speed, memory, supported boards, libraries and timing, with honest advice for students and hobbyists in India.
- [MQ-2 vs MQ-6 vs MQ-135 — which gas sensor for LPG, smoke or air?](https://flashready.in/compare/mq2-vs-mq135-vs-mq6): MQ-2, MQ-6 and MQ-135 gas sensors compared on target gases, heater power, warm-up and accuracy, with LPG safety advice for Indian kitchens.
- [Raspberry Pi Pico W vs ESP32 — which Wi-Fi board to buy?](https://flashready.in/compare/pico-w-vs-esp32): Pico W and ESP32 DevKit V1 compared on CPU, RAM, Wi-Fi, ADC, PIO, MicroPython support, battery use and price in India, with a pick for each kind of project.
- [Relay vs SSR vs MOSFET — how to switch loads safely](https://flashready.in/compare/relay-vs-ssr-vs-mosfet): Relay modules, solid-state relays and MOSFETs compared on AC/DC, isolation, speed, heat, leakage and price, with mains safety rules for Indian 230 V homes.
- [SG90 vs MG996R servo — torque, power and which one you need](https://flashready.in/compare/sg90-vs-mg996r): SG90 and MG996R servos compared on torque, weight, gears, current draw and price in India, plus how to power them without resetting your board.
- [SSD1306 vs SH1106 — why your 1.3-inch OLED shows garbage](https://flashready.in/compare/ssd1306-vs-sh1106): SSD1306 and SH1106 OLED controllers compared — sizes, RAM width, libraries for Arduino and MicroPython, and how to tell which one your OLED module has.
- [XIAO ESP32C3 vs ESP32-C3 SuperMini — is the extra cost worth it?](https://flashready.in/compare/xiao-esp32c3-vs-esp32-c3-supermini): Seeed XIAO ESP32C3 and the unbranded C3 SuperMini compared on antenna, battery charging, pins, LED, documentation and price in India. Same chip, very different boards.

## 30-day course

- [Learn: a 30-day path from blink to Wi-Fi](https://flashready.in/learn): A free 30-day microcontroller course for beginners: Arduino Uno first, then ESP32 Wi-Fi and Pico W MicroPython, with compile-checked code each day.
- [Day 1 — What is a microcontroller? Install the Arduino IDE and upload Blink](https://flashready.in/learn/day-01): Pick a first board, install Arduino IDE 2, add the board package and USB driver, choose the port and upload Blink to prove your toolchain works.
- [Day 2 — Your first program: blink an LED](https://flashready.in/learn/day-02): Write Blink yourself on an Arduino Uno, learn what setup() and loop() do line by line, wire your first LED on a breadboard and make a heartbeat.
- [Day 3 — Buttons and INPUT_PULLUP](https://flashready.in/learn/day-03): Read a push button with INPUT_PULLUP and no resistor, light an LED while it's pressed, see a floating pin and bounce for yourself, and count presses once.
- [Day 4 — analogRead and a potentiometer](https://flashready.in/learn/day-04): Read a potentiometer with analogRead, turn 0–1023 into volts, dim an LED with PWM and analogWrite, and see why only the ~ pins can dim.
- [Day 5 — Serial Monitor and debugging](https://flashready.in/learn/day-05): Send commands to your board from the Serial Monitor, learn baud rate and line endings, hunt a planted bug with debug prints and add a command of your own.
- [Day 6 — Buzzers and tone(): build a doorbell](https://flashready.in/learn/day-06): Make sound with a passive buzzer and tone(), learn why active and passive buzzers differ, and build a two-note doorbell on a push button.
- [Day 7 — Timing without delay(): millis()](https://flashready.in/learn/day-07): Replace delay() with millis() so your board can blink two LEDs at different speeds and still react instantly. The pattern behind every real project.
- [Day 8 — Arrays and for-loops: a light chaser](https://flashready.in/learn/day-08): Store six LED pins in an array and drive them with for-loops to build a back-and-forth light chaser. Learn sizeof, indexes and loop bounds.
- [Day 9 — Functions that tidy your code: a Morse sender](https://flashready.in/learn/day-09): Write your own functions with parameters and return values, then use them to turn anything you type in the Serial Monitor into Morse code on an LED and buzzer.
- [Day 10 — Temperature and humidity with a DHT22](https://flashready.in/learn/day-10): Wire a DHT22 to an Arduino Uno, install your first library, and print temperature, humidity and a feels-like heat index. Plus why reads sometimes fail.
- [Day 11 — 3.3 V vs 5 V: level shifting and safe wiring](https://flashready.in/learn/day-11): Why 5 V signals damage ESP32 and Pico pins, how a 1 k / 2 k voltage divider fixes one-way signals, and when you need a real level shifter instead.
- [Day 12 — I2C and the 16×2 LCD](https://flashready.in/learn/day-12): Connect a 16×2 LCD with an I2C backpack using just four wires, find its address automatically, draw a custom character and show a running clock.
- [Day 13 — Ultrasonic distance with the HC-SR04: a parking sensor](https://flashready.in/learn/day-13): Measure distance with an HC-SR04 using pulseIn and the speed of sound, then build a parking sensor that beeps faster as you get closer.
- [Day 14 — Servo motors: a pointer gauge](https://flashready.in/learn/day-14): Drive an SG90 servo with the Servo library, turn a potentiometer into a needle gauge, and learn why servos make boards reset and how to power them.
- [Day 15 — Week-two project: a desk weather display](https://flashready.in/learn/day-15): Combine the DHT22, I2C LCD, millis() timing and functions into one finished project that shows temperature, humidity, today's min/max and feels-like.
- [Day 16 — Meet the ESP32](https://flashready.in/learn/day-16): Set up the ESP32 DevKit V1, blink its GPIO 2 LED, print chip details at 115200 baud and use a bare wire as a touch button. What changes coming from the Uno.
- [Day 17 — Wi-Fi: connect and reconnect](https://flashready.in/learn/day-17): Connect an ESP32 to your Wi-Fi, read its IP address and signal strength, and handle router restarts and power cuts so it reconnects on its own.
- [Day 18 — Internet time with NTP: an IST clock](https://flashready.in/learn/day-18): Get the exact time from NTP servers on an ESP32, set India's UTC+5:30 offset, and print a live IST date and clock with strftime — no RTC module needed.
- [Day 19 — A tiny web server: control an LED from your phone](https://flashready.in/learn/day-19): Run a web server on the ESP32 that serves a page with On and Off buttons, so any phone on your Wi-Fi can switch an LED. Routes, forms and redirects.
- [Day 20 — OLED graphics: a mini dashboard](https://flashready.in/learn/day-20): Drive a 0.96-inch SSD1306 OLED from an ESP32 to draw text, a bar and a scrolling graph. Frame buffers, ring buffers and 3.3 V wiring explained.
- [Day 21 — Saving settings in flash with Preferences](https://flashready.in/learn/day-21): Store values that survive resets and power cuts on the ESP32 using the Preferences library — a boot counter and a blink speed you set over Serial.
- [Day 22 — Deep sleep and batteries](https://flashready.in/learn/day-22): Put an ESP32 into deep sleep, wake it on a timer or a button, keep a counter in RTC memory, and estimate how long a battery really lasts.
- [Day 23 — MQTT basics: publish and subscribe](https://flashready.in/learn/day-23): Learn MQTT topics, publish and subscribe on an ESP32 with PubSubClient, send status as JSON and switch an LED from your phone through a broker.
- [Day 24 — Phone alerts: a push notification doorbell](https://flashready.in/learn/day-24): Send a push notification to your phone from an ESP32 using ntfy and HTTPClient. A Wi-Fi doorbell with a cool-down so it never spams you.
- [Day 25 — Relays and safety: switching a 12 V lamp](https://flashready.in/learn/day-25): Use a relay module to switch a 12 V DC lamp from an Arduino Uno, learn active-LOW inputs, COM/NO/NC contacts, and the safety rules before you ever touch 230 V.
- [Day 26 — MicroPython on the Pico W](https://flashready.in/learn/day-26): Flash MicroPython onto a Raspberry Pi Pico W, use the REPL in Thonny, blink the LED in Python and read the RP2040's built-in temperature sensor.
- [Day 27 — Reading the error message: fixing five common errors](https://flashready.in/learn/day-27): Learn to read compiler and upload errors line by line, then fix the five errors beginners hit most — missing semicolons, scope, libraries, ports and sync.
- [Day 28 — Planning a real project: parts list and wiring plan](https://flashready.in/learn/day-28): Plan the water tank alarm before building it — define what it must do, choose parts, check voltages and current, assign pins and write a wiring table.
- [Day 29 — Build day: your water tank alarm (low-voltage side)](https://flashready.in/learn/day-29): Build yesterday's plan on an Arduino Uno — ultrasonic level, LCD percentage, overflow beep, pump indicator with hysteresis and a fail-safe on sensor errors.
- [Day 30 — Ship it: enclosure, labels and a demo](https://flashready.in/learn/day-30): Turn the breadboard tank alarm into something that survives a rooftop — enclosure, soldered wiring, labels, power, monsoon-proofing — then demo it and plan what's next.

## Tools (simulator, flasher, calculators)

- [Flash firmware from your browser](https://flashready.in/flash): Flash tested, prebuilt firmware to an ESP32, ESP8266, Arduino Uno / Nano or Pico W straight from Chrome or Edge — no IDE needed.
- [Playground](https://flashready.in/playground): Write Arduino code, wire a circuit and run it in your browser — then flash a real board.
- [Maker tools — code generator, pin checker, calculators, serial monitor](https://flashready.in/tools): Free browser tools for ESP32, Arduino and Pico: code generator, pin checker, resistor, RC, stepper, solar, wire-gauge and battery calculators, and a serial monitor.
- [Battery life calculator — ESP32 deep sleep, Pico W and Arduino](https://flashready.in/tools/battery-life): Estimate battery life in days from wake/sleep currents, wake-up interval, regulator quiescent current and self-discharge, with presets for ESP32 deep sleep, Pico W and Arduino Uno.
- [Code generator — ESP32, Arduino Uno and Pico W sketches from tested templates](https://flashready.in/tools/code-generator): Pick a board, a sensor and outputs (LED, relay, buzzer, LCD, OLED, Serial) and get a complete sketch assembled from compile-tested templates, with an accurate wiring table and a parts list in ₹.
- [Current budget calculator — will your ESP32 regulator cope?](https://flashready.in/tools/current-budget): Add your board, sensors, displays, relays and servos to see steady and peak current on the 3.3 V and 5 V rails against what the regulator or USB port can safely supply.
- [I2C address table — LCD, OLED, BME280, MPU6050, DS3231 and more](https://flashready.in/tools/i2c-addresses): Default and alternate I2C addresses of common maker modules — PCF8574 LCD backpacks, SSD1306 OLED, BME280, MPU6050, DS3231, ADS1115, INA219, PCA9685 — with known conflicts and how to change them.
- [LED resistor calculator — E12 values for 3.3 V and 5 V](https://flashready.in/tools/led-resistor): Work out the series resistor for an LED from the supply voltage, LED colour and current, rounded up to a standard E12 value, with power rating.
- [Pin conflict checker — ESP32, Arduino Uno and Pico W](https://flashready.in/tools/pin-checker): Check the pins you plan to use on an ESP32 DevKit V1, Arduino Uno or Pico W for boot-strapping pins, input-only pins, ADC2 with Wi-Fi, bus conflicts and 5 V signals on 3.3 V boards.
- [ESP32 PWM / LEDC calculator — frequency vs resolution](https://flashready.in/tools/pwm-ledc): Find the maximum PWM duty resolution for a given frequency on ESP32, ESP32-S3, C3 and C6 LEDC timers, and the highest frequency for a given resolution.
- [RC time constant calculator — charge time, filter and button debounce](https://flashready.in/tools/rc-time-constant): Work out an RC time constant, the time to charge or discharge to a voltage, the filter corner, and the capacitor for a hardware button debounce on ESP32, Uno or Pico.
- [Resistor colour code calculator — 4, 5 and 6 band decoder & encoder](https://flashready.in/tools/resistor-color-code): Decode 4, 5 and 6-band resistor colours to ohms and tolerance, or turn a value like 4k7 into its bands, with the nearest E12/E24 standard value.
- [Serial monitor & plotter in the browser — ESP32, Arduino, Pico](https://flashready.in/tools/serial-monitor): A Web Serial monitor and live plotter that runs in Chrome or Edge: pick a baud rate, read and send lines, add timestamps, save the log and plot numbers or key:value data from your ESP32, Arduino or Pico.
- [Solar panel and battery sizing calculator for ESP32 / Arduino projects in India](https://flashready.in/tools/solar-battery-sizing): Size the solar panel (W) and battery (Ah) for an ESP32 or Arduino project from its current draw, approximate sun hours for your part of India and days of autonomy.
- [Stepper motor calculator — microstepping, RPM, steps/mm and A4988 Vref](https://flashready.in/tools/stepper-calculator): Microstep pins for A4988, DRV8825 and TMC2208, RPM to step rate, steps/mm for GT2 belts and lead screws, and Vref for R050/R068/R100/R200 driver modules.
- [Voltage divider calculator — 5 V to 3.3 V for ESP32 and Pico](https://flashready.in/tools/voltage-divider): Calculate a resistor divider's output voltage, or find standard E12/E24 resistor pairs that bring a 5 V signal down to a safe 3.3 V GPIO level.
- [Wire gauge calculator — AWG and mm², current and voltage drop for 3.3–24 V](https://flashready.in/tools/wire-gauge): Pick the wire for a low-voltage DC project: current rating and voltage drop for AWG and mm² sizes sold in India, over your cable length at 3.3, 5, 12 or 24 V.

## News

- [News — new boards and FlashReady updates](https://flashready.in/news): New microcontroller boards and chips explained for makers, plus updates on FlashReady's verified code, Playground and flasher.
- [FlashReady update: compile-verified badges and a real browser flasher are live](https://flashready.in/news/compile-verified-badges-live): Every code block on FlashReady is now compiled on pinned core versions, re-checked nightly, and flashable from Chrome with SHA-256-checked firmware.
- [ESP32-C5: dual-band Wi-Fi 6 on a RISC-V ESP32 — what makers should know](https://flashready.in/news/esp32-c5-what-makers-should-know): The ESP32-C5 brings 5 GHz Wi-Fi 6, Bluetooth LE and Thread/Zigbee radios to a RISC-V ESP32. What it means for your projects and when to buy.

## Hindi pages (हिंदी)

- [Arduino Nano पिनआउट, सेटअप और प्रोजेक्ट](https://flashready.in/hi/boards/arduino-nano): Arduino Nano का इंटरैक्टिव पिनआउट — PWM, I2C, SPI और सिर्फ़-analog A6/A7, old bootloader वाली अपलोड समस्या का हल, और कंपाइल-जाँचा blink।
- [Arduino Uno R3 पिनआउट, सेटअप और प्रोजेक्ट](https://flashready.in/hi/boards/arduino-uno-r3): Arduino Uno R3 का इंटरैक्टिव पिनआउट — PWM, I2C, SPI और analog पिन, करंट की सीमा, Arduino IDE और PlatformIO सेटअप, और कंपाइल-जाँचा कोड।
- [ESP32-C3 SuperMini पिनआउट, सेटअप और प्रोजेक्ट](https://flashready.in/hi/boards/esp32-c3-supermini): ESP32-C3 SuperMini का इंटरैक्टिव पिनआउट — LED, BOOT और स्ट्रैपिंग पिन चिह्नित, Arduino IDE व PlatformIO के लिए USB CDC सेटअप, और कंपाइल-जाँचा blink।
- [ESP32 DevKit V1 पिनआउट, सेटअप और प्रोजेक्ट](https://flashready.in/hi/boards/esp32-devkit-v1): ESP32 DevKit V1 (30-pin) का इंटरैक्टिव पिनआउट — सुरक्षित पिन, बूट-स्ट्रैपिंग चेतावनियाँ, Arduino IDE, PlatformIO और MicroPython सेटअप, और कंपाइल-जाँचा कोड।
- [ESP32 के साथ DHT22 — वायरिंग और Arduino कोड](https://flashready.in/hi/boards/esp32-devkit-v1/dht22/arduino): DHT22 / AM2302 को ESP32 DevKit V1 के GPIO4 पर 3.3 V से जोड़ें, ज़रूरी pull-up के साथ, और Arduino C++ में तापमान व नमी पढ़ें।
- [NodeMCU ESP8266 पिनआउट, सेटअप और प्रोजेक्ट](https://flashready.in/hi/boards/nodemcu-esp8266): NodeMCU ESP8266 का इंटरैक्टिव पिनआउट: D-पिन से GPIO मैपिंग, बूट पिन D3/D4/D8, 0–3.2 V वाला A0 इनपुट, Arduino IDE सेटअप और कंपाइल-जाँचा blink।
- [Raspberry Pi Pico W पिनआउट, सेटअप और प्रोजेक्ट](https://flashready.in/hi/boards/pico-w): Raspberry Pi Pico W का इंटरैक्टिव पिनआउट — I2C, SPI, UART और ADC पिन, MicroPython और Arduino सेटअप, पावर टिप्स और कंपाइल-जाँचा कोड।
- [Components for ESP32, Arduino and Pico](https://flashready.in/hi/components): Sensors, displays and relays with real pinouts, 3.3 V vs 5 V guidance, I2C addresses and the libraries to use — each linked to board-specific wiring guides.
- [कैपेसिटिव सॉइल मॉइस्चर सेंसर v1.2 — पिनआउट, वायरिंग और कैलिब्रेशन](https://flashready.in/hi/components/capacitive-soil-moisture): कैपेसिटिव सॉइल मॉइस्चर सेंसर v1.2 का पिनआउट, 3.3 V और 5 V वायरिंग, सूखी और गीली रीडिंग से कैलिब्रेशन, और सस्ते मॉड्यूल की आम ख़राबियाँ।
- [DHT11 तापमान और नमी सेंसर — पिनआउट, सीमाएँ और वायरिंग](https://flashready.in/hi/components/dht11): DHT11 मॉड्यूल का पिनआउट, यह DHT22 से कैसे अलग है, सेकंड में एक रीडिंग की लिमिट, 3.3 V और 5 V बोर्ड पर वायरिंग, और आम रीड एरर।
- [DHT22 (AM2302) तापमान और नमी सेंसर — पिनआउट और वायरिंग](https://flashready.in/hi/components/dht22): DHT22 / AM2302 का पिनआउट, 3.3 V और 5 V वायरिंग, ज़रूरी pull-up, 2 सेकंड की रीडिंग लिमिट, और “Failed to read from DHT sensor” का हल।
- [HC-SR04 अल्ट्रासोनिक दूरी सेंसर — पिनआउट, 3.3 V वायरिंग और कोड](https://flashready.in/hi/components/hc-sr04): HC-SR04 का पिनआउट, echo के समय से दूरी कैसे निकलती है, ESP32 और Pico पर ज़रूरी 1 kΩ / 2 kΩ डिवाइडर, और 0 cm या उलटी-सीधी रीडिंग का हल।
- [IR obstacle सेंसर (FC-51) — पिनआउट, रेंज और वायरिंग](https://flashready.in/hi/components/ir-obstacle-sensor): FC-51 IR obstacle सेंसर का पिनआउट (VCC, GND, OUT), active-LOW आउटपुट, pot से 2–30 cm रेंज सेट करना, और काली चीज़ें व धूप इसे क्यों धोखा देती हैं।
- [I2C backpack (PCF8574) वाला 16×2 LCD — पिनआउट, एड्रेस और वायरिंग](https://flashready.in/hi/components/lcd-16x2-i2c): PCF8574 I2C backpack वाले 16×2 LCD को कैसे जोड़ें: पिनों का क्रम, 0x27 या 0x3F, contrast, और 3.3 V बोर्ड पर ज़रूरी लेवल शिफ़्टर।
- [MQ-2 गैस सेंसर मॉड्यूल — पिनआउट, हीटर पावर, warm-up और वायरिंग](https://flashready.in/hi/components/mq-2): MQ-2 मॉड्यूल का पिनआउट, 5 V हीटर करंट, burn-in और warm-up का समय, AO को 3.3 V ADC की रेंज में रखना, और यह प्रमाणित अलार्म क्यों नहीं है।
- [पुश बटन (tactile switch) — वायरिंग, INPUT_PULLUP और debouncing](https://flashready.in/hi/components/push-button): 4 टाँग वाले tactile पुश बटन को कैसे जोड़ें: कौन-सी टाँगें आपस में जुड़ी हैं, INPUT_PULLUP के साथ GND वायरिंग, और Arduino, ESP32 व Pico पर debouncing।
- [1-channel रिले मॉड्यूल — पिनआउट, 3.3 V ट्रिगर और मेन्स सुरक्षा](https://flashready.in/hi/components/relay-module): रिले मॉड्यूल का पिनआउट (DC+, DC−, IN, NO/COM/NC), active-LOW लॉजिक, ESP32 और Pico पर 3.3 V ट्रिगर, और मोटर-पंप के लिए कॉन्टैक्टर क्यों ज़रूरी है।
- [SG90 माइक्रो सर्वो — पिनआउट, तारों के रंग, पावर और वायरिंग](https://flashready.in/hi/components/sg90-servo): SG90 9 g माइक्रो सर्वो: भूरा, लाल और नारंगी तार, इसे अलग 5 V सप्लाई क्यों चाहिए, ESP32 पर 3.3 V सिग्नल, और Servo / ESP32Servo लाइब्रेरी।
- [SSD1306 0.96″ OLED (I2C) — पिनआउट, एड्रेस और वायरिंग](https://flashready.in/hi/components/ssd1306-oled): 128×64 SSD1306 OLED को I2C पर जोड़ें: पिनों का क्रम (VCC/GND ज़रूर जाँचें — क्लोन अलग होते हैं), 0x3C या 0x3D, 3.3 V या 5 V, और Adafruit SSD1306 लाइब्रेरी।
- [ESP32, Arduino and Pico error fixes](https://flashready.in/hi/fix): Step-by-step fixes for upload errors, reset loops, I2C problems and other common ESP32, Arduino and Raspberry Pi Pico errors — checked against current cores.
- [“avrdude: stk500_getsync(): not in sync: resp=0x00” ठीक करें](https://flashready.in/hi/fix/avrdude-stk500-getsync-not-in-sync): Uno या Nano पर अपलोड stk500_getsync के साथ अटक जाता है। आमतौर पर गलत पोर्ट या processor, पिन 0/1 पर कुछ जुड़ा होना, या क्लोन को old bootloader चाहिए।
- [CH340 ड्राइवर इंस्टॉल नहीं है (USB2.0-Serial, Code 28) — ठीक करें](https://flashready.in/hi/fix/ch340-driver-not-installed): Windows में “USB2.0-Serial” पीली चेतावनी के साथ दिखता है और कोई COM पोर्ट नहीं बनता। WCH का आधिकारिक CH340/CH341 ड्राइवर डालें, पोर्ट आ जाएगा।
- [Arduino IDE में COM port नहीं दिख रहा? ऐसे ठीक करें](https://flashready.in/hi/fix/com-port-not-showing): बोर्ड की LED जल रही है पर Tools → Port ख़ाली या धुंधला है। क्रम से ठीक करें: पहले डेटा केबल, फिर USB-serial ड्राइवर, फिर ख़ुद बोर्ड।
- [“Failed to read from DHT sensor!” ठीक करें (DHT22 / DHT11)](https://flashready.in/hi/fix/dht-failed-to-read-from-sensor): DHT लाइब्रेरी को सेंसर से सही जवाब नहीं मिला। data पिन, pull-up रेज़िस्टर, कोड में सेंसर का टाइप, पावर और दो रीडिंग के बीच 2 सेकंड का अंतर जाँचें।
- [“exit status 1” / “Compilation error: exit status 1” ठीक करें](https://flashready.in/hi/fix/exit-status-1-compilation-error): “exit status 1” बस इतना बताता है कि कंपाइल फ़ेल हुआ। असली एरर आउटपुट में ऊपर कहीं लिखा होता है — उसे ढूँढना और पढ़ना यहाँ सीखें।
- [“fatal error: XYZ.h: No such file or directory” ठीक करें](https://flashready.in/hi/fix/no-such-file-or-directory-library): स्केच ऐसी लाइब्रेरी का header include कर रहा है जो इंस्टॉल नहीं है, या किसी दूसरे नाम से है। Library Manager से सही लाइब्रेरी इंस्टॉल करें।
- [ESP32 पर “Timed out waiting for packet header” ठीक करें](https://flashready.in/hi/fix/timed-out-waiting-for-packet-header): PC को ESP32 दिख रहा है पर bootloader जवाब नहीं दे रहा। दस में से नौ बार वजह BOOT बटन, USB केबल या ड्राइवर होती है — एक मिनट में ठीक करें।
- [प्रोजेक्ट — ESP32, Arduino और Pico, जाँचे हुए कोड के साथ](https://flashready.in/hi/projects): पूरे मेकर प्रोजेक्ट: ₹ में पार्ट्स लिस्ट, सही वायरिंग डायग्राम और कंपाइल-जाँचा कोड — पावर-कट अलर्ट, गैस अलार्म, स्ट्रीट लाइट और भी।
- [LDR से ऑटोमैटिक स्ट्रीट / गेट लाइट (ESP32)](https://flashready.in/hi/projects/auto-street-light): LDR से गेट या स्ट्रीट लैंप शाम को अपने-आप चालू और सुबह बंद करें। hysteresis और एक मिनट की देरी से हेडलाइट या बादल से लाइट टिमटिमाती नहीं।
- [LPG गैस लीक अलार्म, SMS अलर्ट के साथ (Arduino Uno + MQ-6)](https://flashready.in/hi/projects/gas-leak-alarm): रसोई के लिए LPG लीक अलार्म: MQ-6 सेंसर सायरन बजाता है और SIM800L से आपके फ़ोन पर SMS भेजता है। वार्म-अप और कैलिब्रेशन के स्टेप भी शामिल।
- [दो IR सेंसर वाला लाइन फ़ॉलोअर रोबोट (Arduino Uno)](https://flashready.in/hi/projects/line-follower-robot): पुराना और भरोसेमंद दो-सेंसर लाइन फ़ॉलोअर: काली लाइन के दोनों तरफ़ TCRT5000 IR सेंसर, एक L298N मोटर ड्राइवर और Arduino Uno।
- [पौधों को अपने-आप पानी देने वाला सिस्टम (ESP32)](https://flashready.in/hi/projects/plant-watering-system): Capacitive soil sensor बताता है कि ESP32 कब छोटा 5 V पंप चलाए — छोटे-छोटे बर्स्ट, सोखने का समय और एक सेफ़्टी लिमिट, ताकि ख़राबी में गमला न डूबे।
- [बिजली जाते ही फ़ोन पर अलर्ट — बिना मेन्स वायरिंग (Pico W)](https://flashready.in/hi/projects/power-cut-alert): बिजली जाते ही पता चले: बैटरी वाला Raspberry Pi Pico W अपने USB चार्जर पर नज़र रखता है, बीप करता है और फ़ोन पर अलर्ट भेजता है — 230 V को छुए बिना।
- [OLED के साथ RFID अटेंडेंस सिस्टम (ESP32 + RC522)](https://flashready.in/hi/projects/rfid-attendance): कार्ड टैप करके IN या OUT लगाएँ: ESP32 RC522 RFID रीडर पढ़ता है, OLED पर नाम दिखाता है, बीप करता है और USB पर CSV लॉग देता है — Google Sheets के लिए तैयार।
- [टच-फ़्री स्मार्ट डस्टबिन (Arduino Uno + HC-SR04 + servo)](https://flashready.in/hi/projects/smart-dustbin): हाथ पास लाते ही डस्टबिन का ढक्कन खुलता है और 3 सेकंड बाद बंद। Arduino Uno पर HC-SR04 से दूरी नापना और SG90 servo से ढक्कन चलाना।
- [मिट्टी की नमी मॉनिटर, फ़ोन अलर्ट के साथ (Pico W, MicroPython)](https://flashready.in/hi/projects/soil-moisture): Raspberry Pi Pico W एक capacitive soil moisture sensor पढ़ता है, जाँचों के बीच sleep करता है, और पौधे को पानी चाहिए हो तो ntfy.sh से फ़ोन पर नोटिफ़िकेशन भेजता है।
- [पानी की टंकी का लेवल अलार्म और पंप कट-ऑफ़ (ESP32)](https://flashready.in/hi/projects/water-tank-alarm): LCD पर अल्ट्रासोनिक टंकी लेवल, ओवरफ़्लो बज़र और कॉन्टैक्टर के ज़रिए सुरक्षित ऑटोमैटिक पंप कट-ऑफ़। ESP32 कोड CI में कंपाइल-जाँचा गया।

## About FlashReady

- [FlashReady — tested code for ESP32, Arduino & Pico](https://flashready.in/): Tested code you can flash in one click: ESP32, Arduino and Raspberry Pi Pico projects with compile-verified code, accurate wiring, a browser simulator and flasher.
- [About FlashReady](https://flashready.in/about): FlashReady is DVM Techno's library of tested ESP32, Arduino and Raspberry Pi Pico code — compile-verified, honestly labelled and built for Indian makers.
- [Affiliate disclosure](https://flashready.in/affiliate-disclosure): How FlashReady earns money from affiliate links in parts lists, and why that never changes what we recommend.
- [Contact us](https://flashready.in/contact): Report a mistake in a guide, ask about a project, or get in touch with the FlashReady team at DVM Techno.
- [Hire DVM Techno for custom IoT](https://flashready.in/hire): Custom IoT prototypes, ESP32 and Pico firmware, PCB design and industrial monitoring from DVM Techno, the team behind FlashReady.
- [How we verify code](https://flashready.in/how-we-verify): How FlashReady compiles every sketch on pinned core versions, re-checks nightly against the latest cores, and labels what was really tested.
- [Privacy policy](https://flashready.in/privacy): What FlashReady collects (almost nothing), what stays in your browser, and your rights under India's Digital Personal Data Protection Act, 2023.
- [Terms of use](https://flashready.in/terms): The rules for using FlashReady: code licences, electrical and mains safety, no warranty, acceptable use and blocked project types.
