Arduino Giga R1 WiFi LED Module
In this guide, we will learn how to use the 10mm LED module with the Arduino Giga R1 WiFi to make a status light that you can switch and dim. In detail, we will learn:
- What is on the small LED module board, and why it needs no extra resistor.
- How to connect the LED module to a 3.3V pin of the Arduino Giga R1 WiFi with just three wires.
- How to write a program for the Arduino Giga R1 WiFi that blinks the module once per second.
- How to write a second program that makes the LED glow brighter and dimmer with PWM.

The Giga R1 WiFi has dozens of free pins. So once one module works, you can put a red one next to a green one and build a full status panel for your project: "WiFi connected", "sensor error", "pump running", and so on.
Hardware Preparation
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Additionally, some of these links are for products from our own brand, DIYables .
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Overview of LED Module
Think of this module as an LED that already has its resistor and its driver soldered on. A 10mm diffused round LED sits on a small 20mm x 20mm black board. Next to it are a 330Ω resistor that limits the LED current, a 1KΩ resistor on the input line, and a tiny transistor that acts as a switch. The LED takes its power from the VCC pin. The IN pin only tells the transistor to open or close.
This is good news for the Giga, because every Giga pin works at 3.3V and can give only a small current. The pin does not have to feed the LED. It only sends a weak control signal, so the LED shines with the same brightness as on a 5V board.
The modules come in a pack of 5 colors: red, yellow, blue, green and white.
| LED Module | |
|---|---|
| LED | 10mm, diffused, round |
| Board size | 20mm x 20mm |
| Operating voltage | 3.3V to 5V DC |
| Input logic | active HIGH (HIGH = ON, LOW = OFF) |
| Onboard parts | 330Ω LED resistor, 1KΩ input resistor, transistor switch |
| Brightness control | yes, with PWM on the IN pin |
| Connector | 3-pin 2.54mm right-angle male header (presoldered) |
| Colors in a pack | red, yellow, blue, green, white |
Pinout

The header has three pins. They are printed on the board in this order:
- GND pin: connect to a GND pin of the Arduino Giga R1 WiFi (0V)
- VCC pin: connect to the 3.3V pin or the 5V pin of the Arduino Giga R1 WiFi
- IN pin: connect to a digital output pin of the Arduino Giga R1 WiFi. Pick a PWM pin if you want to change the brightness.
How the IN pin acts:
- IN gets HIGH (3.3V): the transistor turns on, and the LED lights up.
- IN gets LOW (0V): the transistor turns off, and the LED goes dark.
- IN gets a PWM signal: the LED turns on and off very fast, and your eye sees a dimmer light.
Why not just use a bare LED? A bare LED has a long leg and a short leg. You must put it in the right way round, and you must add a resistor, or the LED (or the pin) can be damaged. The module removes both jobs: the resistor is already there, and the pins have clear labels.
Wiring Diagram
Only three wires go between the module and the Giga R1 WiFi. You do not need a breadboard, because the module has its own header.

This image is created using Fritzing. Click to enlarge image
| LED Module Pin | Arduino Giga R1 WiFi Pin |
|---|---|
| GND | GND |
| VCC | 3.3V |
| IN | Pin 9 (PWM) |
The current-limiting resistor is already on the module, so there's no need to add one. This makes wiring or soldering easier. You can also take VCC from the 5V pin for a little more light. The IN pin is still safe, because it only drives the transistor through the 1KΩ resistor.
How To Program For LED Module
The module needs no library. Two built-in Arduino functions are enough.
- Choose the Giga pin that goes to the IN pin of the module:
- Set this pin as an output in setup():
- Turn the LED on or off:
- Set a brightness from 0 (off) to 255 (full):
Arduino Giga R1 WiFi Code - LED Module Blink
This first sketch is the "hello world" of lights. It turns the module on for one second, then off for one second, and tells you each change on the Serial Monitor.
Detailed Instructions
Follow these instructions step by step:
- First time with this board? Set it up with the Arduino Giga R1 WiFi getting started guide.
- Wire the components according to the provided diagram: GND to GND, VCC to 3.3V, IN to pin 9.
- Plug the Giga R1 WiFi into your computer with the USB Type-C cable.
- Launch the Arduino IDE on your computer.
- Select the appropriate Arduino Giga R1 WiFi board (e.g., Arduino Giga R1 WiFi) and COM port.
- Paste the code above into a new sketch.
- Click the Upload button and wait for the upload to finish.
- Open the Serial Monitor and set it to 9600 baud.
- Look at the module. The LED should flash once every two seconds: one second on, one second off.
The LED stays dark? Check that VCC goes to 3.3V (not to a signal pin) and that IN is really on pin 9. The labels on the header are the best guide, so read them again before you move any wire.
To change the speed, edit the two delay(1000) lines. For example, delay(250) gives a fast warning flash.
Arduino Giga R1 WiFi Code - LED Module Fade
The second sketch uses PWM. The brightness climbs from 0 to 255 in steps of 15, then falls back to 0. The result is a soft "breathing" light, often used to show that a device is alive but idle.
Detailed Instructions
- Keep the same wiring. Pin 9 is a PWM pin on the Giga, so the fade works without any change.
- Paste the new code into the Arduino IDE and click Upload.
- Open the Serial Monitor at 9600 baud.
- Watch the LED slowly glow brighter, then slowly fade out, then rest for half a second.
Want a slower breath? Make the STEP value smaller, or raise delay(60). If the LED looks almost the same at the top levels, that is normal: our eyes notice changes in dim light much more than in bright light.
Next idea: wire a second module in another color to a different PWM pin, and let one show "OK" while the other shows "error". For a ready-made three-color project, see the Arduino Giga R1 WiFi - Traffic Light tutorial. For a plain LED with a resistor, see the Arduino Giga R1 WiFi LED blink tutorial.