2.4 KiB
Voron filament dryer
Arduino Nano firmware for a chamber dryer with four SHT31 humidity/temperature sensors, PID heater control, and PWM fan mixing.
Pinout (Arduino Nano)
All settings below are defined in include/config.h.
| Signal | Nano pin | Notes |
|---|---|---|
| I2C SDA | A4 | Shared bus (Wire) |
| I2C SCL | A5 | Shared bus (Wire) |
| TCA9548A mux | I2C 0x70 |
8-channel I2C multiplexer |
| SHT31 sensors | Mux channels 2, 3, 4, 5 | One sensor per channel |
| SHT31 address | 0x44 |
ADDR pin low; use 0x45 if ADDR is high |
| Fan | D5 | 24 V fan via N-channel MOSFET (hardware PWM) |
| Heater | A2 | Solid-state relay (burst control) |
USB serial: 115200 baud.
Dev setup
PlatformIO
This repo uses the PlatformIO CLI (see .vscode/tasks.json). If PlatformIO is already installed under ~/.platformio/penv/, use that directly — you do not need to run the web installer again.
~/.platformio/penv/bin/pio --version
~/.platformio/penv/bin/pio run # build
~/.platformio/penv/bin/pio run -t upload # flash
~/.platformio/penv/bin/pio device monitor # serial monitor
On Arch Linux / CachyOS, install via the package manager if you prefer:
sudo pacman -S platformio
If upload cannot find the port, add to platformio.ini:
upload_port = /dev/ttyUSB0 ; or /dev/ttyACM0, or a /dev/serial/by-id/... path
monitor_port = /dev/ttyUSB0
List available ports:
ls -la /dev/serial/by-id/
Serial port permissions (Linux)
| Distribution | Group for serial access |
|---|---|
| Debian, Ubuntu, Raspberry Pi OS | dialout |
| Arch Linux, CachyOS | uucp |
# Debian / Ubuntu / Pi
sudo usermod -aG dialout $USER
# Arch / CachyOS
sudo usermod -aG uucp $USER
Log out and back in after adding your user to the group.
First run
-
Flash firmware and open the serial monitor at 115200 baud.
-
Confirm
TCA9548A detectedand four valid sensor channels (ch2–ch5). -
Run PID autotune once per physical unit (values are stored in EEPROM):
target 0 autotune 45 -
Start drying:
target 55
Send help over serial for all commands (target, fan on/off, log on/off, status, pid, etc.).
Raspberry Pi logging
Optional CSV capture over USB is documented in pi-instructions.md.