Notes on building 02_08_03 firmware - CBC.h workaround

If you’re building the firmware from source using PlatformIO, you may hit a compile error:

fatal error: CBC.h: No such file or directory

The root cause: platformio.ini references the rweather arduinolibs repo as a dependency, which pulls in the Crypto library. However, CBC.h lives in a separate library called CryptoLegacy in the same repo, and PlatformIO doesn’t pull it automatically.

Fix: manually copy both libraries into the project’s local lib/ folder so PlatformIO finds them without fetching from the remote.

  1. Clone the arduinolibs repo somewhere temporary:
    git clone GitHub - rweather/arduinolibs: Arduino Cryptography Library · GitHub
  2. Copy both library folders into Firmware/lib/:
    cp -r arduinolibs/libraries/Crypto /Firmware/lib/Crypto
    cp -r arduinolibs/libraries/CryptoLegacy /Firmware/lib/CryptoLegacy
  3. Delete the cloned repo — it’s no longer needed.

PlatformIO’s local lib/ directory takes precedence over remote dependencies, so the build will now find both Crypto.h and CBC.h and complete successfully.

1 Like