>>> Join Us in the Fight Against Air Pollution

AirGradient Forum

How to build the firmware?

I have some ideas how the firmware could be improved, however I never worked with Arduino, only esp-idf. Projects written in the latter usually come with a CMake-based build system, allowing me to do the familiar steps of

  1. hack hack hack, with my favorite editor
  2. build
  3. flash

However, I have no idea how to build the Arduino-based Airgradient firmware. I’ve installed the Arduino IDE, selected the OneOpenAir.ino sketch, added the Esspressif Toolchain, and selected “ESP32C3 Dev Module” as board, but once I hit the checkmark button (which, seems to be called “Verify”) I get


OneOpenAir:44:10: fatal error: AgApiClient.h: No such file or directory
   44 | #include "AgApiClient.h"

Someone the IDE, or rather its compiler, has not set the right include directories.

What am I missing? What am I doing wrong?

Thanks in advance.

Did you install the airgradient library from the Arduino library manager?

Some of our developers use visual code with platform I/O which should also work.

The readme section on top of the OneOpenAir.ino sketch give instructions on what libraries and versions need to be installed.

This may be a bit dated, but here are some additional instructions for what to install:

The AirGradient ONE Air Quality Sensor (Presoldered-Version, PCB Version 9)

Install the Arduino Software for the ESP32-C3 (airgradient.com)

I thought you had to also install several libraries manually, but maybe it is part of the AirGradient library now