Files
arduino/docs/howto-compile.md
samuelbles07 e0720ac580 Add notes about arduino-esp32 version compatibility
Adding how to contribute section
2025-02-28 15:59:46 +07:00

3.5 KiB
Raw Blame History

How to compile AirGradient firmware on Arduino IDE

Prequisite

Arduino IDE version 2.x (download)

For AirGradient model ONE and Open Air, the codebase WILL NOT work on the latest major version of arduino-esp32 which is 3.x . This related to when installing "esp32 by Espressif Systems" in board manager. Instead use version 2.0.17, please follow the first step carefully.

Steps for ESP32C3 based board (ONE and Open Air Model)

  1. Install "esp32 by Espressif Systems" in board manager with version 2.0.17 (Tools ➝ Board ➝ Boards Manager ➝ search for "espressif")

board manager

  1. Install AirGradient library on library manager using the latest version (Tools ➝ Manage Libraries... ➝ search for "airgradient")

Aigradient Library

  1. On tools tab, follow settings below
Board ➝ ESP32C3 Dev Module
USB CDC On Boot ➝ Enabled
CPU Frequency ➝ 160MHz (WiFi)
Core Debug Level ➝ None (or choose as needed)
Erase All Flash Before Sketch Upload ➝ Enabled (or choose as needed)
Flash Frequency ➝ 80MHz
Flash Mode ➝ QIO
Flash Size ➝ 4MB (32Mb)
JTAG Adapter ➝ Disabled
Partition Scheme ➝ Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
Upload Speed ➝ 921600

Compile Settings

  1. Open sketch to compile (File ➝ Examples ➝ AirGradient Air Quality Sensor ➝ OneOpenAir). This sketch for AirGradient ONE and Open Air monitor model
  2. Compile

compiled esp32

Steps for ESP8266 based board (DIY model)

  1. Add esp8266 board by adding http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field (File ➝ Preferences ➝ Additional boards manager URLs)

additional-board

  1. Install esp8266 board on board manager with version 3.1.2 (Tools ➝ Board ➝ Boards Manager ➝ search for "esp8266")

board manager

  1. Install AirGradient library on library manager using the latest version (Tools ➝ Manage Libraries... ➝ search for "airgradient")

Aigradient Library

  1. On tools tab, set board to LOLIN(WEMOS) D1 R2 & mini, and let other settings to default

settings esp8266

  1. Open sketch to compile (File ➝ Examples ➝ AirGradient Air Quality Sensor ➝ <Model Option>). Depends on the DIY model, either BASIC, DiyProIndoorV3_3 and DiyProIndoorV4_2
  2. Compile

compiled esp8266

Notes

To modify codes from examples

Possible Issues

Linux (Debian)

ModuleNotFoundError: No module named serial

Linux Failed

Make sure python pyserial module installed globally in the environment by executing:

$ sudo apt install -y python3-pyserial

or

$ pip install pyserial

Choose based on how python installed on your machine. But most user, using apt is better.

How to contribute

Please follow github contributing to a project tutorial to contribute to this project.

There are 2 environment options to compile this project, PlatformIO and ArduinoIDE.

  • For PlatformIO, it should work out of the box
  • For arduino, files in src folder and also from Examples can be modified at Documents/Arduino/libraries for windows and mac, and ~/Arduino/Libraries for linux