This project is a basic controller built around the ESP32-C6-MINI-1, designed for monitoring and managing temperature, humidity, flow, and PWM-based sensors/actuators. It supports direct connection for four NTC thermistors, one DHT21 sensor, a 1-Wire bus with DS18B20, one pulse input for a Hall effect flow sensor, one PWM input, one PWM output, and two relay outputs. Additionally, it includes a USB-C connector for power and communication, supporting USB-CDC (virtual serial) and JTAG debugging.
| Component | Description |
|---|---|
| π‘οΈ 4x NTC Inputs | Analog reading via voltage divider with fixed resistor |
| π 1x DHT21 (AM2301) | Temperature and humidity sensor |
| βοΈ 1x DS18B20 (1-Wire) | Bus for Dallas 1-Wire temperature sensors |
| πΏ 1x Flow Sensor (HALL) | Pulse-based flow measurement |
| ποΈ 1x PWM Input | Frequency or duty-cycle based input |
| π 1x PWM Output | PWM signal output for motor/valve control |
| βοΈ 2x Relay Outputs | Load control (e.g. pump, valve) |
| π 1x USB-C Connector | Power input, USB-CDC serial, and JTAG debug support |
| Function | GPIO Pin | Notes |
|---|---|---|
| NTC1 (analog in) | GPIO1 | ADC1 channel |
| NTC2 | GPIO3 | ADC1 channel |
| NTC3 | GPIO4 | ADC1 channel |
| NTC4 | GPIO5 | ADC1 channel |
| DHT21 / DS18B20 | GPIO6 | 4.7k pull-up to 3.3V |
| Flow Sensor (input) | GPIO7 | Interrupt on rising edge |
| PWM Input | GPIO14 | Timer capture capable |
| PWM Output | GPIO15 | LEDC or MCPWM output |
| Relay 1 (output) | GPIO18 | Load control |
| Relay 2 | GPIO19 | Load control |
| USB D+ | GPIO13 | Native USB data+ (shared with UART RX) |
| USB Dβ | GPIO12 | Native USB dataβ |
- All GPIOs used are considered safe for ESP32-C6-MINI-1 boot operation.
- NTC sensors are read via the internal ADC1.
- DHT21 requires at least a 2-second interval between readings.
- DS18B20 supports multiple sensors on a single 1-Wire bus.
- PWM input can be measured using capture/timer functionality.
- PWM output can be generated via LEDC or MCPWM peripheral.
- Relay outputs can be connected to opto-isolated relay modules.
- USB-C port supports 5V input and USB communication (CDC, JTAG).
- Fermentation controller
- Room temperature and humidity monitoring
- Smart irrigation systems
- General home automation
- Fan or valve modulation via PWM
- USB-connected data acquisition
This hardware project is licensed under the CERN-OHL-P v2 (Permissive).
- You may use, modify, and distribute the design files.
- You are free to create derivative works and even release them under a closed license.
- No warranty is provided.
Full text of the license can be found in the LICENSE file.