Arduino delay() vs millis(): Non-Blocking Scheduling in Practice
delay() freezes the whole sketch, not just one task. Here is how millis()-based elapsed-time checks let a blink pattern and a debounced button run together — and what that costs.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
delay() freezes the whole sketch, not just one task. Here is how millis()-based elapsed-time checks let a blink pattern and a debounced button run together — and what that costs.
Learn how to replace the blocking delay() function with millis() in Arduino to enable multitasking and responsive sensor polling.
Learn how to use Arduino's EEPROM for non-volatile storage without destroying your hardware. We cover the 100k write limit, the critical difference between write() and update(), and how to handle multi-byte data.
Learn how to implement high-frequency pulse counting on Arduino using external interrupts, volatile variables, and atomic access to prevent data corruption and pulse loss.
Using the 1.1 V internal reference on an Arduino boosts ADC resolution from ~4.9 mV to ~1.1 mV per count. Pair it with a 5:1 voltage divider, add a 0.1 µF capacitor, and you can read a 0‑5 V sensor with roughly 4.5× more precision—perfect for temperature probes and precision analog work.
When an Arduino‑based monitoring system placed inside a concrete wall or floor stops transmitting sensor readings, what diagnostic procedure can be followed to determine whether the problem originates from physical damage to the wiring, moisture‑induced corrosion, or a software fault? Outline the steps for visual inspection, continuity testing, isolation of
Applying least privilege to an Arduino‑based IoT device means restricting its credentials and permissions to only those required for its specific telemetry and control functions when connecting to a cloud service. This raises questions about where to store device‑specific keys or certificates on the microcontroller, how to generate scoped access tokens that
When working with Arduino boards, updating the bootloader or sketch firmware can introduce incompatibilities or unexpected behavior. What are the recommended steps to perform a safe upgrade, including how to back up the current firmware, verify the new image, and test functionality before committing? If the upgrade causes issues, what reliable rollback proce
Goal: Choose a diagnostic method that reveals why a sketch fails to deploy without consuming excessive resources or disrupting the bootloader upload process on AVR‑based Arduino boards. Constraints: Serial‑based debugging adds flash and RAM overhead proportional to the number of log strings and can delay boot‑up when placed in setup() . The Watchdog Timer ca