Arduino IDE is a desktop workspace for writing a sketch, compiling it for a selected microcontroller board, and uploading the resulting program through USB or another supported connection. A sketch is the source text that describes what the board should do after startup and during its repeating work. Arduino IDE also manages board definitions and reusable libraries, reads text sent by a board, and plots numerical serial data. It does not simulate the physical circuit or prove that sensors and wiring match the sketch.
Select the board
The selected board tells the compiler which processor, memory layout, pin definitions, and upload method to use. Installing a board package adds the definitions for a board family. A connected device can still appear as Unknown, in which case the board must be selected manually.
Board and port are separate choices. The board describes the target, while the port identifies the connected device. Choosing the right port with the wrong board can compile for incompatible hardware, and choosing the right board with no port prevents upload. Check both after reconnecting a board or opening a different project.
Verify the sketch
Verify compiles the sketch without programming the board. This stage checks syntax, resolves library references, and builds machine instructions for the selected target. It is the quickest way to separate a source problem from a cable or connection problem.
The final exit-status line is a summary, not usually the useful diagnosis. Read upward to the first detailed error. It may name an undeclared value, a missing library, a duplicate definition, or source written for another board. Fix the earliest clear error first because later messages can be consequences of it.
Upload over USB
Upload compiles and then sends the program through the selected port. The cable must carry data; many charging cables supply power while exposing no data connection. A board that lights up but never creates a port may therefore need another known data cable rather than another sketch.
A USB hub, a busy port, or another Serial Monitor can interrupt the transfer. Connect the board directly and close other software using that port before changing bootloader settings. Some boards briefly change ports when entering their upload state, so the entry shown before upload may not be the one used a moment later.
Add boards and libraries
Boards Manager installs hardware support, while Library Manager installs reusable source collections for displays, sensors, communication modules, and other components. These managers solve different dependencies. A library can install successfully even when the selected board lacks the memory or hardware it expects.
Examples bundled with a library are useful connection tests, but their pin choices and addresses may not match a particular module. Compare the example with the board diagram and the component label before applying power. Arduino IDE checks source rules, not voltage levels or reversed wiring.
Read serial output
Arduino IDE’s Serial Monitor displays text sent by the running sketch and can send text back when the sketch listens for it. Serial Plotter turns correctly formatted numerical lines into a graph. The baud rate selected in the window must match the rate used by the sketch; a mismatch appears as unreadable characters rather than a meaningful message.
Opening a serial connection can reset some boards. That makes startup messages appear again and can change a time-sensitive test. Debugging inside Arduino IDE is a separate path and needs compatible hardware plus a supported debugger. For most first checks, deliberate serial messages at important points remain the simplest way to see what the board actually reached.






