Source Repository

The firmware lives in a public repository next to this documentation.

ItemValue
Repositoryisarwar93/kitchenAnalyzer
Clonegit clone https://github.com/isarwar93/kitchenAnalyzer.git
PlatformPlatformIO, espressif32 platform
Boardlolin32 (ESP32)
FrameworkArduino

Repository layout

kitchenAnalyzer/
├── include/
│   ├── config.h        pin macros and device configuration
│   └── README          placeholder kept for the include folder
├── src/
│   └── main.cpp        the whole device firmware
├── lib/
│   └── README          placeholder for project-local libraries
├── test/
├── platformio.ini      board, framework and library dependencies
└── README.md

The firmware is small on purpose. Almost all behaviour lives in src/main.cpp, and every pin number lives in include/config.h, so a board change is a one-file edit. See the Software chapter.

Library dependencies

platformio.ini pulls three libraries:

DependencyPurpose
liquidcrystal_i2cdrives the 16x2 I2C LCD through its PCF8574 backpack
adafruit/DHT sensor library@^1.4.4reads the DHT22 temperature and humidity sensor
https://github.com/miguel5612/MQSensorsLib.gitreads the MQ-2 gas sensor

Building and flashing

cd kitchenAnalyzer
python3 -m venv .venv && source .venv/bin/activate
pip install platformio
pio run                 # build only
pio run --target upload # build, flash and reset

PlatformIO installs the ESP32 toolchain on first run, so no separate IDE setup is needed.