List of Arduino sensors and modules by signal type and project use

Quick answer and selection map
A practical list of Arduino sensors and modules is useful only if it helps with selection, not just shopping. Start with four checks: what physical condition you need to measure, what signal the module outputs, whether your Arduino board can read that signal directly, and what power or library requirements apply. Common Arduino projects use temperature and humidity sensors, light sensors, distance modules, motion sensors, inertial measurement units, gas sensors, sound sensors, touch inputs, current and voltage sensors, GPS modules, real-time clocks, displays, storage boards, relay boards and motor drivers. Arduino’s own documentation groups beginner examples into digital, analog, communication, sensor and display topics, which is a practical way to organize the parts below. (docs.arduino.cc)
This guide groups a practical list of Arduino sensors and modules by signal type and project use. For related component notes, see our sensors and modules section.

Sensor, module and shield are not the same thing
A sensor is the element that detects a physical condition, such as light, distance, acceleration, gas concentration or temperature. A module is a small board that makes the sensor easier to connect by adding pins, resistors, regulators, comparators, level shifting, connectors or indicator LEDs. A shield is a larger board designed to plug into an Arduino header layout, often combining several functions such as motor control, wireless communication or data logging.
The distinction matters in real projects because two boards using the same sensor chip can behave differently. A bare light-dependent resistor needs an external resistor to form a voltage divider, while an LDR module may already include a comparator and a sensitivity potentiometer. A BME280 breakout may support I2C, SPI or both, depending on how the manufacturer wired the board. A relay module may include a driver transistor and optocoupler, while a bare relay coil should not be driven directly from an Arduino I/O pin.
Common Arduino sensor and module list
The table below focuses on parts often used in education, prototyping, environmental monitoring, robotics, home automation and smart hardware projects. Interfaces are listed as typical, not universal, because module vendors often sell variants with different pinouts or support circuits.
| Category | Sensor or module | Typical interface | What it is used for | Key selection note |
|---|---|---|---|---|
| Temperature and humidity | DHT11 or DHT22 | Single digital data pin | Basic room temperature and humidity | DHT22 is commonly chosen when better range and resolution are needed than DHT11. |
| Temperature | DS18B20 | 1-Wire digital bus | Waterproof probes, outdoor temperature, equipment monitoring | Often used with a pull-up resistor and longer cable runs than many simple analog sensors. |
| Pressure and environment | BMP280 or BME280 | I2C or SPI | Air pressure, altitude estimation and environmental sensing | BME280 variants include humidity; BMP280 variants do not. |
| Light | LDR or photoresistor module | Analog, sometimes digital | Day/night detection, simple brightness measurement | Analog versions need calibration because resistance varies widely by part and lighting condition. |
| Light | BH1750 | I2C | Digital ambient light measurement | Useful when a numeric lux-style reading is preferable to a raw voltage divider value. |
| Color | TCS34725 color sensor | I2C | Color recognition and reflected light sensing | Check whether the breakout includes illumination LEDs and a suitable logic voltage. |
| Distance | HC-SR04 ultrasonic module | Digital trigger and echo pins | Obstacle distance, simple robotics and tank level experiments | Echo pulse timing uses microcontroller input timing; very noisy environments can affect readings. |
| Distance | VL53L0X or similar time-of-flight module | I2C | Short-range distance sensing | More compact than ultrasonic modules but sensitive to target reflectivity and module limits. |
| Motion | PIR motion sensor | Digital output | Human motion detection for lights, alarms and counters | Measures changes in infrared radiation, not precise distance or identity. |
| Obstacle | Infrared obstacle module | Digital, sometimes analog | Line following, edge detection and simple object detection | Performance depends strongly on surface color, angle and ambient infrared light. |
| Inertial | MPU-6050 accelerometer and gyroscope | I2C | Tilt, vibration, gesture and balancing projects | Requires filtering and calibration for stable motion estimates. |
| Inertial | ADXL345 accelerometer | I2C or SPI | Acceleration, vibration and orientation projects | Choose it when a dedicated accelerometer is enough without a gyroscope. |
| Magnetic | Magnetometer or compass module | I2C | Heading, orientation and magnetic field experiments | Needs calibration and should be kept away from motors and large currents. |
| Gas and air | MQ series gas sensor module | Analog, often digital threshold output | Smoke, LPG, alcohol or gas presence experiments | Requires warm-up, calibration and careful interpretation; not a certified safety detector. |
| Soil and water | Capacitive soil moisture sensor | Analog | Plant watering and irrigation prototypes | Generally preferred over resistive probes for longer life in soil. |
| Rain and leak | Raindrop or water leak module | Analog or digital | Wet surface detection and leak alarms | Exposed conductive traces can corrode, so protect or replace them in long deployments. |
| Sound | Microphone sound sensor module | Analog, sometimes digital threshold | Clap detection, noise level trends and simple audio response | Most low-cost modules are not calibrated sound level meters. |
| Touch and input | TTP223 capacitive touch module | Digital output | Touch buttons and sealed front panels | Mounting material and grounding affect sensitivity. |
| User input | Joystick module | Two analog axes plus digital switch | Robot control, menus and pan-tilt control | Analog readings need dead-zone handling around the center position. |
| Position | Rotary encoder | Digital pulses | Knobs, motor feedback and position counting | Mechanical encoders need debounce; faster encoders may need interrupt-capable pins. |
| Electrical | ACS712 or similar current sensor module | Analog | Current measurement experiments | Choose the current range carefully and observe isolation and wiring limits. |
| Electrical | Voltage divider or voltage sensor module | Analog | Battery and supply voltage monitoring | The divided output must stay within the Arduino board’s analog input range. |
| Location and time | GPS module | UART serial | Position, speed and time data outdoors | Needs sky visibility and a serial parsing library or careful text parsing. |
| Timekeeping | DS3231 RTC module | I2C | Clock, data logging and scheduled control | A backup cell keeps time when main power is removed. |
| Storage | MicroSD card module | SPI | Logging sensor readings | Use stable power and avoid removing power during writes. |
| Display | 16×2 LCD with I2C backpack | I2C | Simple status screens | I2C backpacks save pins compared with parallel LCD wiring. |
| Display | OLED display module | I2C or SPI | Compact dashboards and sensor readouts | Check display voltage, library support and pixel dimensions. |
| Actuator interface | Relay module | Digital control input | Switching lamps, pumps or external circuits | Observe mains safety rules and use properly rated modules and enclosures. |
| Actuator interface | Motor driver module | PWM and digital direction pins | DC motors, robots and fans | Motors need separate power sizing, flyback protection and shared ground where required. |
| Power and logic | Level shifter module | Digital or I2C lines | Connecting 5 V boards to 3.3 V modules | Use it when logic voltage compatibility is uncertain. |
Choose by interface before choosing by part number
Analog output sensors
Analog modules output a voltage that the microcontroller converts into a number. Arduino’s reference documentation states that common Arduino boards include a multichannel analog-to-digital converter, and that on an Arduino UNO the default 10-bit reading maps the operating voltage range into values from 0 to 1023. It also notes that ATmega-based boards such as the UNO, Nano, Mini and Mega take about 100 microseconds for an analog input read, giving a practical maximum of about 10,000 reads per second under that API. (github.com)
Analog sensors are simple to connect, but they are rarely plug-and-forget. The raw value changes with reference voltage, wiring noise, sensor tolerance and calibration method. They are suitable for LDRs, soil moisture sensors, potentiometers, some gas modules, sound envelope modules and voltage dividers. Arduino’s own reference also warns that readings can fluctuate when the analog pin is unconnected, so floating inputs should not be treated as valid sensor data. (github.com)
Digital threshold sensors
Digital modules output HIGH or LOW. Buttons, PIR motion modules, raindrop comparator boards, flame modules, tilt switches and many obstacle detectors fall into this category. They are easy to read, but the result is a decision made by the module, not a precise measurement. If a module includes a small potentiometer, it usually adjusts the threshold at which the digital output switches.
Digital inputs are useful for event detection. However, mechanical switches and encoders often bounce, which means the input may change several times during one physical press or step. Arduino’s built-in examples include digital reading, input pull-up and debounce topics, which are important foundations for these modules. (docs.arduino.cc)
I2C modules
I2C is common in compact sensor boards because several devices can share two signal lines if their addresses do not conflict. Arduino’s Wire documentation describes I2C as a common protocol for reading and sending data to external I2C components, and lists the Arduino UNO R3 default I2C pins as A4 for SDA and A5 for SCL, with I2C also available on the SDA and SCL header pins. (github.com)
I2C is a good fit for BME280, BH1750, MPU-6050, DS3231 RTC modules, I2C LCD backpacks, OLED displays and many time-of-flight sensors. The main checks are address conflicts, pull-up resistors, cable length, voltage level and library support.
SPI and UART modules
SPI is often used when higher throughput or a dedicated chip-select line is acceptable. Arduino’s SPI reference describes the library as a way to communicate with SPI devices with the Arduino acting as the controller device. (github.com) MicroSD modules, some displays, RFID readers and some environmental sensors use SPI. UART serial modules use transmit and receive pins and are common for GPS, Bluetooth serial adapters and some wireless modems. On boards with only one hardware serial port, using USB debugging and a serial module at the same time can require planning.
Power, voltage and wiring checks that prevent failures
Before connecting any sensor, confirm the board voltage, sensor supply voltage, output voltage and current requirement. The Arduino UNO R3 documentation describes the board as using the ATmega328P and having 14 digital input/output pins and 6 analog inputs. The same official material lists 5 V and 3.3 V power rails, and Arduino’s store information for the UNO Rev3 lists 20 mA as the DC current per I/O pin. (github.com) (store-usa.arduino.cc) See also: device architecture.
The practical rule is simple: use Arduino pins for logic signals, not as general-purpose power supplies for motors, solenoids, lamps or relay coils. Use a driver transistor, MOSFET board, motor driver or relay module when the load current exceeds what an I/O pin should handle. When using a separate supply for motors or LED strips, make sure the control circuit has a safe reference, often a common ground for low-voltage DC systems. For mains-voltage switching, use rated hardware, insulation, fusing and an enclosure; if unsure, avoid direct mains work.
Voltage compatibility needs particular attention. Many modern sensor breakouts operate at 3.3 V logic even when they tolerate a 5 V supply through an onboard regulator. Some include level shifting; others do not. If a 5 V Arduino output drives a 3.3 V-only input, a level shifter or voltage divider may be required. If a sensor output exceeds the analog reference or digital input limit of the board, do not connect it directly.
How to build a balanced Arduino sensor kit
A balanced kit should cover different signal types instead of collecting many versions of the same sensor. For learning and prototyping, start with one analog sensor, one digital input, one I2C sensor, one timing or storage module, one display and one safe actuator driver. This combination covers measurement, thresholds, bus communication, data output and control.
- Beginner environmental kit: DHT22 or BME280, LDR module, soil moisture sensor, 16×2 I2C LCD, DS3231 RTC and microSD module.
- Robotics kit: HC-SR04 ultrasonic module, IR obstacle sensors, MPU-6050, rotary encoders, motor driver, servo and battery voltage divider.
- Home automation prototype kit: PIR motion sensor, touch module, relay module, OLED display, current sensor and a safe low-voltage load for testing.
- Data logging kit: BME280, DS18B20, RTC module, microSD module, OLED or LCD display and a stable power supply.
When comparing modules, prioritize a clear pinout, voltage information, library availability and a schematic if available. A cheaper board may cost more time if its pin labels are ambiguous or its library is abandoned. For longer-term use, choose parts with replaceable connectors, stable mechanical mounting and documented electrical limits.
Frequently asked questions
What is the most useful Arduino sensor for beginners?
A potentiometer or LDR is often the easiest first analog sensor because the circuit makes the relationship between voltage and reading visible. For a first digital sensor, a pushbutton or PIR module is simple. For a first I2C sensor, a BME280 or DS3231 module teaches bus wiring and library use without taking many pins.
Can one Arduino use many sensors at the same time?
Yes, but the limit depends on pins, bus addresses, memory, timing and power. I2C modules can share SDA and SCL, but duplicate addresses can cause conflicts. SPI modules can share clock and data lines but need separate chip-select handling. Analog modules consume analog input pins unless you add an external multiplexer.
Are Arduino sensor modules accurate enough for real measurements?
Some are suitable for useful trend monitoring, while others are better for demonstrations. Accuracy depends on the sensor chip, board design, calibration, placement, power stability and code. Gas, sound and low-cost soil moisture modules should be treated carefully because they often indicate relative change rather than certified measurement.
Do all Arduino sensors work with 5 V boards?
No. Many classic Arduino examples assume 5 V boards such as the UNO R3, but many sensors and newer boards use 3.3 V logic. Always check the module’s supply voltage and signal voltage before wiring. If the sensor is 3.3 V-only, use a compatible board or level shifting.
Should I choose analog or digital sensor modules?
Choose analog when you need a variable reading and are prepared to calibrate it. Choose digital when you only need a threshold event such as motion detected, button pressed or obstacle present. Choose I2C or SPI when the module performs internal measurement and reports structured data to the Arduino.
Practical takeaway
The best way to read a list of Arduino sensors and modules is by interface and use case. Analog modules teach raw measurement, digital modules handle events, I2C and SPI modules support device communication, and driver modules help control loads safely. Before buying or wiring, check four items: voltage compatibility, current demand, library support and whether the module outputs a raw signal or a processed value. That approach turns a long component list into a workable project plan.



