| Physical | Sensor | Library | Comment | Reference |
|---|---|---|---|---|
| Sound | Microphone | Nil | Use analog inputs | LastMinuteEngineers |
| Light | Light Dependent Resistor | Nil | Use analog inputs LDR 5516 with 5K Resistor | CircuitDigest |
| Distance | IR LED (5cm) | Nil | Use digital inputs | |
| Ultrasonic (2-50cm) HC-SR04 Ultrasonic Sensor | NewPing (Tim Eckel) | Can also use trigger and pulsewidth measurement | LastMinuteEngineers | |
| PIR (>50cm) HC-SR501 Motion Sensor | Nil | Use digital inputs | LastMinuteEngineers | |
| RCWL-0516 - Doppler Radar Distance | Nil | Use digital inputs | Dronebotworkshop | |
| Weight | Load Cell (up to 5Kg) | HX711_ADC | Use HX-711 4-wire amplifier | CircuitJournal |
| Temperature | LM35 | Nil | Use analog input and multiply with factor | Dronebotworkshop |
| DS18B20 | Dallas Temperature | Need to install 1Wire Library | LastMinuteEngineers | |
| DHT-11, DHT-22 | DHT sensor library (Adafruit) | Need to install Adafruit Unified Sensor Library | LastMinuteEngineers | |
| Adafruit | ||||
| Movement | Accelerometer | |||
| Gyroscope | Adafruit MPU6050 Library (Adafruit) | MPU-6050 Accelerometer Gyroscope | LastMinuteEngineers | |
| Gas | ||||
| Water | Water Level | Nil | Use digital output and analog input | LastMinuteEngineeers |
| Touch | Touch Switch | Nil | Use digital inputs | ArduinoGettingStarted |
| Push Button Switch | Nil | Use digital inputs | ||
| Variable Resistor | Nil | Use analog input | Arduino | |
| Rotary Encoder | Nil | Use digital inputs | Dronebotworkshop | |
| RotaryEncoder (Matthias Hertel) | Arduino | Improved version, takes care of debouncing Alternative: Rotary - Ben Buxton |
||
| LastMinuteEngineers | ||||
| 4X4 Membrane Keyboard | Keypad (Mark Stanley, etc) | Read/Write Operations | LastMinueEngineers | |
| Memory | MicroSD Card Module | CardInfo Library | Arduino System Library, requires SPI library | LastMinuteEngineers |
| Time | DS3231 RTC | RTClib library | Requires Wire.h | LastMinuteEngineers |
| Communications | Bluetooth HC-05 module | SoftwareSerial | Uses Tx/Rx | Arduino |
| SoftwareSerial | System Library | ExploreEmbedded |
| Physical | Sensor | Library | Comment | Reference |
|---|---|---|---|---|
| Movement | DC Motor | Nil | Use L298N for control | LastMinuteEngineers |
| Servo Motor - Angular | Servo | Arduino system library | DroneBotworkshop | |
| Servo Motor - Rotational | ||||
| Stepper Motor 28BYJ-48 with ULN2003 | Stepper | Arduino system library | LastMinuteEngineers | |
| NEMA Stepper Motor with L298N | Stepper | Arduino system library | LastMinuteEngineers | |
| AccelStepper (Mike McCauley) | More refined library | LastMinuteEngineers | ||
| Voltages | Transistor | Nil | ||
| Relay | Nil | use digital outputs | DroneBotworkshop | |
| LastMinuteEngineers | ||||
| Light | LED | Nil | ||
| RGB LED | Nil | Use analog (PWM) outputs | EngineersGarage | |
| Neopixel WS2818 | Adafruit NeoPixel (Adafruit) | Full-featured | Adafruit | |
| Complete Neopixel Guide | Arduino | |||
| LCD 1602 with I2C | LiquidCrystal_PCF8574 (Matthias Hertel) | Improved libaray using Wire.h | LastMinuteEngineers | |
| Matthias Hertel | ||||
| 4 Digit LED Tube (TM1637) | TM1637 driver (Avishay Orpaz) | LastMinuteEngineers | ||
| Makerguides Tutorial | ||||
| MAX7219 Dot Matrix Display | MD_MAX72XX (MajicDesigns) | LastMinuteEngineers | ||
| OLED Graphic Display SSD1306 | Adafruit SSD1306 (Adafruit) | Requires Wire.h | LastMinuteEngineers | |
| Sound | Speaker/Buzzer | Nil | use tone() | Adafruit |
| DFPlayer module | Nil | Standalone | ElectronicsLab |
Updated: Jan 2021