Languages: English | Русский
⚠️ Disclaimer. Firmware and documentation are an amateur project with no warranties. Mains (~230 V AC) wiring is at your own risk. The author is not liable for injury, fire, equipment damage, or other harm from building, flashing, or operating the device.
Dual-zone climate controller on Arduino Nano ESP32: sensors, OLED menu, SSR/relay outputs, NVS settings, optional Wi‑Fi SoftAP and web UI.
Version: v0.1.0 (FIRMWARE_VERSION in firmware/Psi_Unit_Firmware/config.h)
| Path | Contents |
|---|---|
| firmware/Psi_Unit_Firmware/ | Arduino sketch and all source files — open .ino in Arduino IDE |
| docs/ | Wiring diagrams |
| images/ | Photos for README and BOM |
| sim/ | Desktop UI simulator (SDL2) |
| licenses/ | Third-party license texts |
| File | Contents |
|---|---|
| USER_GUIDE.md | Operation — OLED menu, Wi‑Fi, safety, errors |
| USER_GUIDE (RU) | User guide in Russian |
| HARDWARE.md | Wiring, pins, sensors, libraries, flashing |
| BOM.md | Bill of materials |
| BOM (RU) | Bill of materials in Russian |
| TEST_CHECKLIST.md | Post-flash verification |
| ARCHITECTURE.md | Firmware structure |
| sim/README.md | Desktop UI simulator (SDL2) |
- Sensors: FS400-SHT30 (T/RH), DS18B20 (second zone), DS3231 (RTC)
- Outputs: GRH and INC heating, humidifier, fan (AUTO/MAN/ON/OFF), light (PWM + schedule)
- UI: SH1106 128×64, encoder, RGB status, splash, SYS screen
- Settings: dual-bank NVS (
SETTINGS_VER25) - Serial CLI (115200):
help,dump … - Wi‑Fi SoftAP + web (
http://192.168.4.1): off until SET → WiFi → Wi‑Fi SoftAP → ON - Sensor log in flash + web charts (
SENSOR_LOG_ENABLE) - Output safety: 3 s boot hold, critical fault, failsafe, max-on, over-temp — USER_GUIDE
- UI simulator (SDL2, Windows): sim/README.md
No MQTT or home Wi‑Fi (STA) — SoftAP only.
- Arduino IDE → esp32 core 3.0.7, board Arduino Nano ESP32
- Install libraries from HARDWARE.md
- Open
firmware/Psi_Unit_Firmware/Psi_Unit_Firmware.ino→ Upload - If the old firmware still runs: Tools → Erase All Flash Before Sketch Upload → Enabled, upload again, RST, Serial 115200 — check
FIRMWARE_VERSION,Build:,Features:(TEST_CHECKLIST) - Operation — USER_GUIDE.md
- Update
FIRMWARE_VERSION_*infirmware/Psi_Unit_Firmware/config.h(and-simfor the simulator). - Update the version line in this README.
- Commit
Release vX.Y.Z, taggit tag -a vX.Y.Z, push tag. - Build in Arduino IDE → TEST_CHECKLIST.
Sensor vs library: device uses FS400-SHT30 (chip SHT30); install Adafruit SHT31 Library (I²C 0x44).
Licenses: licenses/. Firmware: LICENSE.
Serial Monitor 115200, line ending Newline. See TEST_CHECKLIST §9.
| Command | Purpose |
|---|---|
help |
Command list |
dump / dump all |
Full snapshot |
dump settings |
NVS setpoints |
dump outputs |
Relay/SSR state |
dump ui |
Current screen |
dump wifi |
SoftAP state |
wifi start / wifi stop |
Enable / disable SoftAP |
Disable: #define SERIAL_CLI_ENABLE 0 in firmware/Psi_Unit_Firmware/config.h.
