Components Reference
All 21 hardware components supported by ArduinoStudio — with wiring guides and specs. Click any component for its full documentation page.
Motion / Output
DC Motor
DC Motor 4VDC 11A
A brushed DC motor that converts electrical energy into mechanical rotation. Perfect for wheels, fans, and simple rotating mechanisms.
Wiring: Connect motor terminals to an H-Bridge (L298N or L293D). IN1/IN2 pins to Arduino digital pins for direction control. EN pin to PWM pin for speed control. External power supply recommended for motors over 200mA.
4V DC, 11,000 RPM (no load), 0.7A stall current
Servo
Servo Motor SG90
A precise position-controlled motor. Rotates to specific angles (0-180°). Ideal for robotic arms, steering, and pan-tilt mechanisms.
Wiring: Red wire → 5V, Brown/Black wire → GND, Orange/Yellow wire → Arduino PWM pin (e.g., pin 9). Use the Servo library. For multiple servos, use external 5V power supply.
4.8-6V, 180° rotation, 1.8kg/cm torque
Relay
Relay Module 5V
An electrically operated switch. Controls high-voltage/high-current devices (lamps, motors, pumps) from Arduino logic-level signals. Supports Normally Open (NO) and Normally Closed (NC) wiring.
Wiring: VCC → 5V, GND → GND, IN → Arduino digital pin. Connect your device to COM and either NO (open by default) or NC (closed by default). Never exceed relay rated current.
5V coil, 10A/250VAC or 10A/30VDC max load
Piezo Buzzer
Piezo Buzzer / Speaker
A piezoelectric buzzer that produces tones, songs, or noise. Great for alerts, melodies, and audio feedback. Supports custom frequency, duration, and song sequences.
Wiring: Positive leg → Arduino digital pin. Negative leg → GND. No resistor needed for passive buzzers. For active buzzers (built-in oscillator), just toggle the pin HIGH/LOW.
Frequency range: 20Hz–20kHz. Operating voltage: 3.3–5V.
ESC
Electronic Speed Controller
Controls brushless motors used in drones, RC cars, and robots. Translates PWM throttle signals into 3-phase power. Calibrate the ESC before first use.
Wiring: Signal wire (usually white/yellow) → Arduino PWM pin. Red → 5V BEC output (or external). Black → GND. Connect ESC power leads to LiPo battery. Never power ESC from Arduino 5V.
Input: 7.4–11.1V (2–3S LiPo). Signal: standard 1000–2000µs PWM.
LED
RGB LED
RGB LED (Common Cathode)
A multi-color LED that can produce any color by mixing Red, Green, and Blue light intensities using PWM.
Wiring: Longest pin (cathode) → GND. Red pin → 220Ω resistor → Arduino PWM pin. Green pin → 220Ω resistor → Arduino PWM pin. Blue pin → 220Ω resistor → Arduino PWM pin.
Forward voltage: R=2.0V, G=3.2V, B=3.2V. Max 20mA per color.
Standard LED
Standard LED 5mm
A basic single-color LED. Available in red, green, yellow, blue, and white. The simplest output component for visual feedback.
Wiring: Long leg (Anode, +) → 220Ω resistor → Arduino digital pin. Short leg (Cathode, -) → GND. Use analogWrite() on PWM pins for brightness control.
Forward voltage: 1.8-3.3V (varies by color). Max 20mA.
Inputs
Photoresistor
Photoresistor (LDR)
A light-dependent resistor (LDR). Resistance decreases with increasing light intensity. Use for light-sensing projects like automatic lights.
Wiring: One leg → 5V. Other leg → Arduino analog pin (A0-A5) AND to GND through a 10kΩ resistor (voltage divider). Read with analogRead().
Dark resistance: ~1MΩ, Light resistance: ~10kΩ. 5V max.
Potentiometer
Potentiometer 10kΩ
A variable resistor with a rotating knob. Outputs analog voltage proportional to rotation. Great for controlling speed, brightness, or position.
Wiring: Left pin → 5V, Right pin → GND, Middle pin (wiper) → Arduino analog pin (A0-A5). Read with analogRead() for 0-1023 range.
10kΩ, linear taper, 300° rotation.
Button
Tactile Push Button
A momentary push button that closes a circuit when pressed. The most basic digital input for user interaction.
Wiring: One leg → Arduino digital pin (with INPUT_PULLUP). Opposite leg → GND. Or: One leg → 5V, other leg → Arduino digital pin AND to GND through 10kΩ pulldown resistor.
Rated 12V/50mA. Bounce time: ~5ms.
IR Motion
PIR Motion Sensor HC-SR501
A passive infrared sensor that detects motion from warm bodies (humans, animals). Output goes HIGH when motion is detected.
Wiring: VCC → 5V, GND → GND, OUT → Arduino digital pin. Adjust sensitivity and delay with onboard potentiometers. Allow 30-60s warm-up time on startup.
Detection range: 3-7m, angle: 120°. Output: 3.3V HIGH.
Switch
Toggle / Slide Switch
A latching on/off switch. Unlike a button, it stays in position. Triggers open/close events for conditional logic.
Wiring: One terminal → Arduino digital pin. Other terminal → GND. Internal pullup handles the HIGH state — no external resistor needed.
Rated 0.3A/30VDC typical.
Proximity
IR Proximity / Ultrasonic Sensor
Measures distance to the nearest object. Supports infrared (GP2Y) and ultrasonic (HC-SR04, MB1000) sensors. Triggers when object crosses threshold distance.
Wiring: GP2Y0A21YK: VCC → 5V, GND → GND, Vo → Arduino analog pin. HC-SR04: VCC → 5V, GND → GND, Trig & Echo → digital pins (use controller HCSR04).
GP2Y0A21YK: 10–80cm range. HC-SR04: 2–400cm range.
Joystick
Analog Joystick Module
A dual-axis analog joystick. Reads X and Y positions (0–1023). Emits sensor-data events with x/y values when moved. Great for robot control and game-like interfaces.
Wiring: VCC → 5V, GND → GND, VRx → Arduino analog pin (X), VRy → Arduino analog pin (Y). SW (button) → digital pin (optional).
Output: 0–5V per axis. Operating voltage: 3.3–5V.
Environmental Sensors
Thermometer
Temperature Sensor
Measures ambient temperature. Supports LM35, TMP36 (analog), DS18B20 (1-Wire digital), and MCP9808 (I²C). Emits sensor-data events with °C and °F readings.
Wiring: LM35: VCC → 5V, GND → GND, Vout → analog pin. DS18B20: VCC → 5V, GND → GND, Data → digital pin with 4.7kΩ pullup to 5V. MCP9808: VCC → 3.3V, SDA/SCL → I²C pins.
LM35: −55°C to +150°C, 10mV/°C. DS18B20: −55°C to +125°C, ±0.5°C accuracy.
Barometer
Barometric Pressure Sensor
Measures atmospheric pressure and altitude. I²C sensors (BMP180, BMP085, MPL3115A2). Emits pressure (hPa) and calculated altitude (m) as sensor-data events.
Wiring: VCC → 3.3V (BMP180) or 3.3–5V (MPL3115A2), GND → GND, SDA → A4, SCL → A5 (Uno). Use 3.3V logic — do not connect BMP180 directly to 5V pins.
BMP180: 300–1100hPa, ±0.12hPa accuracy. Altitude resolution: 0.17m.
Hygrometer
Humidity Sensor
Measures relative humidity (and optionally temperature). Supports DHT11, DHT21, DHT22, and SHT31. Emits sensor-data events with relativeHumidity percentage.
Wiring: VCC → 5V (DHT11/22) or 3.3V (SHT31), GND → GND, Data → Arduino digital pin with 10kΩ pullup to VCC. SHT31: uses I²C (SDA/SCL).
DHT11: 20–90% RH ±5%. DHT22: 0–100% RH ±2–5%. SHT31: 0–100% RH ±2%.
IMU / Motion Sensing
Accelerometer
Accelerometer (I²C)
Measures linear acceleration on X, Y, Z axes in g-force. Trigger actions when acceleration on a selected axis exceeds a threshold. Ideal for tilt detection, tap sensing, and vibration monitoring.
Wiring: ADXL345: VCC → 3.3V, GND → GND, SDA → A4, SCL → A5, CS → 3.3V (I²C mode). SDO → GND sets address 0x53, SDO → 3.3V sets 0x1D.
ADXL345: ±2/4/8/16g range, 13-bit resolution, 3.3V.
Gyro
Gyroscope (I²C)
Measures rotational rate (degrees/second) on X, Y, Z axes. Emits angular rate data as sensor-data events. Use for stabilization and rotation tracking.
Wiring: ITG3200: VCC → 3.3V, GND → GND, SDA → A4, SCL → A5. INT → optional interrupt pin. 3.3V only — use level shifter for 5V Arduino.
ITG3200: ±2000°/s range, 14.375 LSB/°/s sensitivity.
IMU
Inertial Measurement Unit
Combines accelerometer, gyroscope, and temperature sensor in one I²C module. MPU6050 is the most common. Emits combined sensor-data events with all readings.
Wiring: MPU6050: VCC → 3.3V or 5V, GND → GND, SDA → A4, SCL → A5. AD0 → GND sets address 0x68, AD0 → 3.3V sets 0x69.
MPU6050: Accel ±2–16g, Gyro ±250–2000°/s, integrated DMP.
Compass
Digital Compass / Magnetometer
Measures magnetic field to determine heading/bearing. Emits heading (0–360°) and bearing (cardinal direction) as sensor-data events. Use for navigation and orientation.
Wiring: HMC5883L: VCC → 3.3V, GND → GND, SDA → A4, SCL → A5. Keep away from motors and magnetic materials. 3.3V only — use level shifter with 5V Arduinos.
HMC5883L: ±1.3–8 Gauss, 1–2° heading accuracy, I²C address 0x1E.