Documentation

ShillehTek 6mm 650nm 5mW Red Laser Diode Module for Arduino Pi | ShillehTek Product Manual
Documentation / ShillehTek 6mm 650nm 5mW Red Laser Diode Module for Arduino Pi | ShillehTek Product Manual

ShillehTek 6mm 650nm 5mW Red Laser Diode Module for Arduino Pi | ShillehTek Product Manual

Overview

This 6mm 650nm 5mW red laser diode module is the smallest, simplest laser source you can drop into a project. It produces a focused red dot at 650 nm — clearly visible at typical room distances — and runs from a 5V supply. The module ships with a brass barrel housing and two pre-soldered wires (red for 5V, blue for GND), so it's plug-and-play.

Use it for line-of-sight tripwires, laser-tag receivers, optical alignment fixtures, photoresistor circuits, robotics homing beacons, and tutorial Arduino projects that need a visible light source. With only two wires and 25 mA current draw, it works directly off any GPIO that can handle ~5V via a transistor or relay — or off the Arduino 5V pin for always-on operation.

The module is class IIIA equivalent (under 5 mW). Always avoid pointing it at eyes — even at 5 mW the focused beam can damage retinas if directed straight at them.

At a Glance

Wavelength
650 nm (red)
Output Power
5 mW (Class IIIA)
Operating Voltage
5V DC
Operating Current
~25 mA
Pre-soldered
2 wires (5V + GND)
Diameter
6 mm brass barrel

Specifications

Parameter Value
Wavelength 650 nm (visible red)
Output Power 5 mW (Class IIIA)
Operating Voltage 3V - 5V DC (optimal: 5V)
Operating Current ~25 mA at 5V
Beam Type Focused dot (focus is fixed)
Beam Divergence ~1 mrad
Operating Temperature -10°C to +40°C
Module Body Brass barrel, 6 mm diameter
Wire Length ~15 cm (red = +5V, blue = GND)
Lifespan ~5,000 hours typical

Pinout Diagram

6mm 650nm 5mW red laser diode module pinout diagram showing the two pre-soldered wires: red wire connects to 5V power and blue wire connects to GND, with the brass barrel laser housing on the right

Wiring Guide

Arduino — Always On

The simplest setup: connect the laser directly between 5V and GND for continuous operation. Use this when the laser should always be on while the Arduino is powered.

Laser Wire Arduino Pin
Red (+) 5V
Blue (−) GND
Warning: Never look into the beam, and never point it at people or animals. Even at 5 mW the focused beam can cause permanent eye damage. Use a beam stop (a piece of dark cardboard) at the far end of your test setup.

GPIO-Controlled (with Transistor)

To turn the laser on and off in software, drive it through a small NPN transistor (2N2222, BC547, or similar). Direct GPIO drive isn't reliable because the laser draws ~25 mA and most Arduino pins source at most 20-40 mA.

Connection Component
GPIO (e.g. D9) Through 1k resistor → NPN base
NPN collector Laser blue wire (−)
NPN emitter GND
Laser red wire (+) 5V
Tip: A 5V relay also works and is simpler if you don't have a transistor. Just connect the laser in series with the relay's normally-open contacts.

Raspberry Pi — GPIO Controlled

The Pi GPIO is 3.3V and only sources up to 16 mA, so always use a transistor. The same NPN circuit as Arduino works — just connect the base resistor to a GPIO instead.

Connection Component
GPIO (BCM 17 / Pin 11) Through 1k resistor → NPN base
NPN collector Laser blue wire (−)
NPN emitter GND
Laser red wire (+) Pin 2 (5V)

Raspberry Pi Pico — GPIO Controlled

Pico GPIO is 3.3V at 12 mA max sourcing. Use a transistor (or MOSFET like 2N7000) to switch the laser cleanly.

Connection Component
GP15 Through 1k resistor → NPN base
NPN collector Laser blue wire (−)
NPN emitter GND
Laser red wire (+) VBUS (5V from USB) or VSYS

Code Examples

Arduino — Blink the Laser via Transistor

laser_arduino.ino
// Laser Diode - Blink via NPN transistor on D9
// Wiring: D9 -> 1k resistor -> NPN base
//         NPN collector -> laser GND wire
//         NPN emitter -> Arduino GND
//         Laser +5V wire -> Arduino 5V

const int laserPin = 9;

void setup() {
  pinMode(laserPin, OUTPUT);
}

void loop() {
  digitalWrite(laserPin, HIGH);   // laser ON
  delay(500);
  digitalWrite(laserPin, LOW);    // laser OFF
  delay(500);
}

Arduino — Tripwire with LDR

laser_tripwire.ino
// Laser tripwire: laser hits an LDR; if the beam is broken, the LDR
// reading drops and we trigger an alarm.
// Setup: laser pointed at LDR; LDR in voltage-divider with 10k pull-down on A0.

const int ldrPin = A0;
const int buzzPin = 8;
const int threshold = 600;   // calibrate to your setup

void setup() {
  Serial.begin(9600);
  pinMode(buzzPin, OUTPUT);
}

void loop() {
  int v = analogRead(ldrPin);
  Serial.println(v);
  if (v < threshold) {
    digitalWrite(buzzPin, HIGH);   // alarm
  } else {
    digitalWrite(buzzPin, LOW);
  }
  delay(50);
}

Raspberry Pi (Python) — On / Off

laser_rpi.py
#!/usr/bin/env python3
# Laser Diode - On/Off via transistor on BCM 17

import RPi.GPIO as GPIO
import time

LASER_PIN = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(LASER_PIN, GPIO.OUT)

try:
    while True:
        GPIO.output(LASER_PIN, GPIO.HIGH)   # ON
        time.sleep(0.5)
        GPIO.output(LASER_PIN, GPIO.LOW)    # OFF
        time.sleep(0.5)
except KeyboardInterrupt:
    GPIO.cleanup()

Frequently Asked Questions

Is it safe to look at the laser dot on a wall?
Yes, looking at the diffuse reflection on a wall is safe. What's NOT safe is looking directly into the beam, looking at a mirror reflection of the beam, or pointing it at anyone's eyes. Always treat lasers like guns — never point them at anything you don't intend to "shoot" with light.
Can I control it directly from a GPIO pin?
Possible but not recommended. The laser draws around 25 mA, which is right at the limit of an Arduino GPIO and over the limit of a Raspberry Pi or Pico GPIO. Long-term, the GPIO can fail. Use a small NPN transistor or MOSFET as a switch — that's a 5-cent fix that protects your microcontroller.
Why does it need 5V instead of 3.3V?
The diode itself wants about 2.5-3V across it, but the module includes a series current-limiting resistor sized for 5V. At 3.3V the diode is dimmer (lower output power); at 6V it gets too much current and overheats. Stick with 5V for full brightness and longest lifespan.
Can I focus the dot or change its size?
Most of these modules have a fixed focus. Some allow the front end of the brass barrel to unscrew slightly, which moves the lens and changes focus. Be very careful — the diode is delicate and overrotating the front can crack it. If you need adjustable focus, get a "focusable" laser diode module instead.
How can I PWM the laser to dim it?
Drive the transistor base with a PWM-capable GPIO using analogWrite() (Arduino) or hardware PWM. The laser switches on and off too quickly to flicker visibly, so you get apparent dimming. Don't try to limit current with a series resistor — the diode's I-V curve is non-linear and you can damage it.
Does it work in sunlight?
Yes, but the dot is much harder to see outdoors in bright sunlight. Indoors and at dusk it's clearly visible at 10+ meters. For outdoor use during the day, you may need a more powerful laser (10-50 mW) or a green laser (532 nm), which the eye perceives as much brighter.
What projects pair well with this laser?
Laser tripwires (with LDR), laser tag receivers, optical alignment fixtures (3D printer level checks), photoresistor-based games, surveying setups, robotics homing beacons, and Halloween/security props. Any project that needs a visible-line-of-sight signal benefits from a small laser.

Related Tutorials