Air quality sensor module for monitoring environmental conditions including temperature, humidity, and air quality metrics.
- Function: Environmental monitoring module combining temperature, humidity, and air quality sensing
- Key Features:
- DHT22 temperature and humidity sensor
- Air quality sensing capability
- Compact design suitable for integration into larger systems
- PlatformIO-based firmware for configuration and operation
-
Sensors:
- DHT22 temperature/humidity sensor
- Air quality sensor module
-
Connectors:
- JST XH 4-pin connectors for power and signal distribution
This project uses the consolidated TrailCurrentKiCADLibraries.
Setup:
# Clone the library
git clone git@github.com:trailcurrentoss/TrailCurrentKiCADLibraries.git
# Set environment variables (add to ~/.bashrc or ~/.zshrc)
export TRAILCURRENT_SYMBOL_DIR="/path/to/TrailCurrentKiCADLibraries/symbols"
export TRAILCURRENT_FOOTPRINT_DIR="/path/to/TrailCurrentKiCADLibraries/footprints"
export TRAILCURRENT_3DMODEL_DIR="/path/to/TrailCurrentKiCADLibraries/3d_models"See KICAD_ENVIRONMENT_SETUP.md in the library repository for detailed setup instructions.
- Set up environment variables (see Library Dependencies above)
- Open KiCAD:
kicad /path/to/EDA/TrailCurrentAirQualityModule/TrailCurrentAirQualityModule.kicad_pro
- Verify libraries load - All symbol and footprint libraries should resolve without errors
- View 3D models - Open PCB and press
Alt+3to view the 3D visualization- All 3D models should load from the consolidated library path
- Models use relative
${TRAILCURRENT_3DMODEL_DIR}references
See src/ directory for PlatformIO-based firmware.
Setup:
# Install PlatformIO (if not already installed)
pip install platformio
# Build firmware
pio run -d /path/to/project
# Upload to board
pio run -t upload -d /path/to/projectThis firmware depends on the following public libraries:
- C6SuperMiniRgbLedLibrary (v0.0.1) - RGB LED status indicator driver
- Esp32C6OtaUpdateLibrary (v0.0.1) - Over-the-air firmware update functionality
- Esp32C6TwaiTaskBasedLibrary (v0.0.3) - CAN bus communication interface
- Adafruit DHT sensor library (v1.4.6+) - Temperature and humidity sensor
All dependencies are automatically resolved by PlatformIO during the build process.
WiFi Credentials:
- Firmware receives WiFi credentials via CAN Bus (ID 0x01) from the TrailCurrent system
- For standalone development/testing without the TrailCurrent system, create a
secrets.hfile insrc/:// Copy to src/secrets.h for local development only // NEVER commit this file - it's in .gitignore const char* ssid = "YOUR_SSID_HERE"; const char* password = "YOUR_PASSWORD_HERE";
Future Enhancement: WiFi credential configuration will be fully implemented via CAN Bus protocol, allowing credentials to be distributed from the TrailCurrent system without firmware modifications.
- PCB Files: Ready for fabrication via standard PCB services (JLCPCB, OSH Park, etc.)
- BOM Generation: Export BOM from KiCAD schematic (Tools → Generate BOM)
- JLCPCB Assembly: This project supports automated assembly using JLCPCB
- See BOM_ASSEMBLY_WORKFLOW.md for detailed assembly workflow
- Component library includes LCSC, Mouser, and DigiKey part numbers for flexible sourcing
- Schematic: EDA/TrailCurrentAirQualityModule/TrailCurrentAirQualityModule.kicad_sch
- PCB Layout: EDA/TrailCurrentAirQualityModule/TrailCurrentAirQualityModule.kicad_pcb
MIT License - See LICENSE file for details
This is open source hardware. You are free to use, modify, and distribute these designs for personal or commercial purposes.
Improvements and contributions are welcome! Please submit issues or pull requests to the main repository.
For questions about:
- KiCAD setup: See KICAD_ENVIRONMENT_SETUP.md
- Library consolidation: See CONNECTOR_CONSOLIDATION_SUMMARY.md
- Assembly workflow: See BOM_ASSEMBLY_WORKFLOW.md