Required Libraries¶
Libraries required for the IoT Toolkit.
Core Libraries¶
WiFi (Built-in)¶
- Source: Included with ESP32 board support - Purpose: WiFi connectivity - Required: YesWire (Built-in)¶
- Source: Arduino core - Purpose: I2C communication - Required: YesSPI (Built-in)¶
- Source: Arduino core - Purpose: SPI communication - Required: Yes (for TFT display)Sensor Libraries¶
DHT Sensor (Temp/Humidity)¶
- Install: Arduino Library Manager - Search: "DHT sensor library" (by Adafruit) - Dependency: Also install "Adafruit Unified Sensor" if prompted.Vibration/Accelerometer¶
// For MPU6050 (Recommended)
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
// For ADXL335 (Analog)
// No specific library required; use analogRead().
Acoustic Sensor¶
- Install: Arduino Library Manager - Search:Display Libraries¶
LCD (I2C)¶
- Install: Arduino Library Manager - Search: "LiquidCrystal I2C" - Author: Frank de Brabander - Purpose: I2C LCD controlTFT Display¶
Options: -Adafruit_ST7735 - for ST7735-based displays - Adafruit_ILI9341 - for ILI9341-based displays - TFT_eSPI - Universal TFT library (recommended) Install TFT_eSPI: 1. Arduino Library Manager 2. Search: "TFT_eSPI" 3. Author: Bodmer 4. Click Install
Communication Libraries¶
MQTT¶
- Install: Arduino Library Manager - Search: "PubSubClient" - Author: Nick O'Leary - Purpose: MQTT clientHTTP¶
Built-in with ESP32:
CoAP¶
- Install: Arduino Library Manager - Search: "coap-simple" - Purpose: CoAP clientWiFiClientSecure (for TLS)¶
- Source: Built-in with ESP32JSON Processing¶
ArduinoJson¶
- Install: Arduino Library Manager - Search: "ArduinoJson" - Author: Benoit Blanchon - Version: 6.x recommended - Purpose: JSON encoding/decodingInstallation Guide¶
Method 1: Library Manager (Recommended)¶
- Open Arduino IDE
- Go to Sketch > Include Library > Manage Libraries
- Search for library name
- Select library and version
- Click Install
Method 2: ZIP File¶
- Download library as ZIP
- Arduino IDE: Sketch > Include Library > Add .ZIP Library
- Select downloaded ZIP file
Method 3: Manual Installation¶
- Download and extract library
- Copy to Arduino libraries folder:
- Windows:
Documents\Arduino\libraries\ - macOS:
~/Documents/Arduino/libraries/ - Linux:
~/Arduino/libraries/ - Restart Arduino IDE
Library Verification¶
Check Installed Libraries¶
Arduino IDE: Sketch > Include Library
Or check libraries folder:
Documents/Arduino/libraries/
├── Adafruit_GFX_Library
├── ArduinoJson
├── LiquidCrystal_I2C
├── PubSubClient
├── TFT_eSPI
└── ...
Test Include¶
Create a test sketch:
// Test all includes
#include <WiFi.h>
#include <Wire.h>
#include <SPI.h>
#include <LiquidCrystal_I2C.h>
#include <PubSubClient.h>
#include <ArduinoJson.h>
void setup() {
Serial.begin(115200);
Serial.println("All libraries loaded successfully!");
}
void loop() {
// Empty
}
Compile (Ctrl+R) to verify all libraries are found.
Complete Library List¶
| Library | Version | Required | Install Source |
|---|---|---|---|
| WiFi | Built-in | Yes | ESP32 core |
| Wire | Built-in | Yes | ESP32 core |
| SPI | Built-in | Yes | ESP32 core |
| HTTPClient | Built-in | Yes | ESP32 core |
| WiFiClientSecure | Built-in | Optional | ESP32 core |
| LiquidCrystal_I2C | Latest | Yes | Library Manager |
| TFT_eSPI | Latest | Yes | Library Manager |
| PubSubClient | Latest | Yes (MQTT) | Library Manager |
| ArduinoJson | 6.x | Recommended | Library Manager |
Troubleshooting¶
| Issue | Solution |
|---|---|
| Library not found | Verify correct name, check installation |
| Version conflict | Install specific version via Library Manager |
| Multiple versions | Remove old versions from libraries folder |
| Compilation errors | Update to latest library version |
Library Updates¶
Check for Updates¶
- Tools > Manage Libraries
- Look for "Updateable" filter
- Select libraries to update
- Click Update
Keep Updated¶
Regularly update libraries for: - Bug fixes - New features - Security patches
Next Steps¶
- View code examples
- Set up hardware components
- Proceed to integration