This is an old revision of the document!
The project represents an intelligent and independent system for controlling the cooling and lighting (ARGB) inside a PC case. It is based on a two-node architecture that communicates wirelessly via Wi-Fi protocol, eliminating the need for long cables and bloatware software installed on the operating system.
The system is divided into two main units working together:
It is the heart of the system, implemented on a T-HMI (ESP32-S3) module with an integrated LCD display.
Built on an ATmega328P Xplained Mini board connected to an ESP-01S module.
The primary purpose is to provide a user-friendly hardware interface that allows users to easily monitor and control fan speeds and ARGB lighting. While connecting a fan directly to the motherboard provides basic cooling, this project focuses on delivering accessible, real-time control without relying on proprietary software. It essentially protects the user from the risk of losing manufacturer support (abandonware), or turning into resource-heavy bloatware over time.
The idea stemmed from the frustration caused by software dependency and forced firmware updates of commercial products, which often break functionality or add unnecessary background processes. I wanted a hardware-level “Plug & Play” device that guarantees longevity and provides clear information on a physical display, completely independent of the PC's software ecosystem.
The Remote Node utilizes an ATmega328P microcontroller communicating with an ESP8266 (ESP-201 breakout format) Wi-Fi module. Voltage regulation from 5V to 3.3V is handled by an AMS1117-3.3V linear regulator.
| ATmega328P Pin (Arduino Label) | Connected To | Component / Signal Description |
|---|---|---|
| PD0 (D0/RX) | ESP8266 TX | UART Serial Data Receive |
| PD1 (D1/TX) | ESP8266 RX | UART Serial Data Transmit |
| PD2 (D2) | Button S1 (Pin 1) | Digital Input for Button 1 (Internal Pull-up) |
| PD3 (D3) | Button S2 (Pin 1) | Digital Input for Button 2 (Internal Pull-up) |
| PD4 (D4) | Button S3 (Pin 1) | Digital Input for Button 3 (Internal Pull-up) |
| PD5 (D5) | Button S4 (Pin 1) | Digital Input for Button 4 (Internal Pull-up) |
| PD6 (D6) | Button S5 (Pin 1) | Digital Input for Button 5 (Internal Pull-up) |
| 5V | AMS1117 IN (Pin 2) | 5V DC Power Source Output from USB |
| GND | Main GND Rail | Common System Ground Reference |
| ESP8266 Pin | Connected To | Signal Description |
|---|---|---|
| TX | ATmega328P PD0 (D0/RX) | Serial Transmit Data |
| RX | ATmega328P PD1 (D1/TX) | Serial Receive Data |
| 3.3V | AMS1117 OUT (Pin 3) | Regulated 3.3V Power Input |
| CHIP_EN | AMS1117 OUT (Pin 3) | Chip Enable Pin (Pulled HIGH to activate) |
| GND | Main GND Rail | System Ground Reference |
| AMS1117 Pin | Connected To | Function |
|---|---|---|
| IN (Pin 2) | ATmega328P 5V | 5V DC Input from Microcontroller |
| OUT (Pin 3) | ESP8266 3.3V & CHIP_EN | 3.3V Regulated Output (Max 800mA) |
| GND (Pin 1) | Main GND Rail | System Ground Reference |
| Button Component | Pin 1 (Green Side) | Pin 2 (Red Side) |
|---|---|---|
| S1 | ATmega328P PD2 (D2) | Main GND Rail |
| S2 | ATmega328P PD3 (D3) | Main GND Rail |
| S3 | ATmega328P PD4 (D4) | Main GND Rail |
| S4 | ATmega328P PD5 (D5) | Main GND Rail |
| S5 | ATmega328P PD6 (D6) | Main GND Rail |
The Controller Node is based on the WiFi LoRa 32 V2 Module. It interfaces with an Addressable RGB LED (ARGB) strip, a DHT22 environment sensor, and a 4-pin PWM fan powered by an external 12V accumulator.
| Module Pin / GPIO | Connected To | Component / Signal Description |
|---|---|---|
| 5V (Pin 20) | ARGB Pin 2 | 5V VCC Power Output for LED Strip |
| 3V3 (Pin 16 / 17) | DHT22 Pin 1 | 3.3V VCC Power Output for Sensor |
| GND (Pin 18 / 19) | System GND Rail | Shared Reference Ground |
| GPIO 16 (Pin 36) | 4 PIN PWM Pin 1 | Fan Control / Tachometer / PWM Output |
| GPIO 21 (Pin 1) | 4 PIN PWM Pin 2 | Fan Control / PWM / Tachometer Output |
| GPIO 17 (Pin 35) | DHT22 Pin 2 | DHT22 Data Signal (Bidirectional) |
| GPIO 18 (Pin 30) | ARGB Pin 4 | ARGB LED Data Signal Output |
DHT22 Sensor
| Sensor Pin | Connected To | Description |
|---|---|---|
| Pin 1 | Module 3V3 | Power Supply Input |
| Pin 2 | Module GPIO 17 | Data Signal Line |
| Pin 4 | Module GND | Ground Reference |
ARGB 3-PIN Connector
| Connector Pin | Connected To | Description |
|---|---|---|
| Pin 1 | System GND | Ground |
| Pin 2 | Module 5V | 5V DC Power Supply |
| Pin 3 | Unused | Not Connected |
| Pin 4 | Module GPIO 18 | Data Signal Line |
4-PIN PWM Fan Header
| Header Pin | Connected To | Description |
|---|---|---|
| Pin 1 | Module GPIO 16 | Control/Feedback Signal 1 |
| Pin 2 | Module GPIO 21 | Control/Feedback Signal 2 |
| Pin 3 | Accumulator (-) / GND | Ground Return Line |
| Pin 4 | Accumulator (+) | +12V Dedicated Power Line |
External Power (Accumulator)
| Terminal | Connected To | Purpose |
|---|---|---|
| Positive (+) | 4 PIN PWM Pin 4 | High-power +12V Supply for the Fan |
| Negative (-) | System GND Rail | Common ground loop safety connection |
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.