An open-source, smart, RGB laptop cooling dock engineered from the ground up with 3D-printed components, a custom-designed PCB, and embedded C firmware on an STM32 Microcontroller. It features PID-controlled fan speed regulation based on real-time temperature sensing, ensuring optimal cooling performance. With individually addressable RGB lighting, tactile rotary encoder input, and an OLED display interface, this dock balances function and flair for any gaming or productivity setup.
📦 Proudly sponsored by PCBWay — all PCBs in this project were professionally fabricated through their prototyping service.
📺 Click below to watch the full project video on YouTube
- 🌬️ PID-Controlled Dual Fan System — Intelligent fan speed adjustment using a PID algorithm for stable thermal regulation
- 🌡️ Temperature Monitoring — Real-time temperature sensing feeds the PID loop for adaptive cooling
- 💡 RGB Illumination — Individually addressable WS2812B LEDs with programmable visual effects
- 🌀 Custom PCB — Professionally designed circuit board integrating power regulation, sensors, encoder, and display
- 🔁 Rotary Encoder Input — Allows cycling between lighting modes, adjusting target temperature, or manual override
- 📟 OLED Display — Shows current temperature, fan speed, and system status
- 🧠 STM32F103C8 MCU — Affordable 32-bit microcontroller running robust, well-structured embedded firmware
- 🧱 3D-Printed Enclosure — Custom-designed chassis optimized for airflow, electronics mounting, and cable routing
Category | Item |
---|---|
Microcontroller | STM32F103C8T6 |
Cooling | Computer Fans |
Lighting | WS2812B RGB LED Strip |
Input | Rotary Encoder |
Display | OLED Screen |
Power Reg. | Buck-Boost Converter |
Sensors | Temperature Sensor |
Housing | 3D Printed (PLA) |
Fastening | Heat Inserts |
All mechanical parts were modeled in SolidWorks and 3D printed on an Ender 3.
🔗 Thingiverse Model Files
Schematics and PCB were designed in KiCad, and manufactured via PCBWay.
🧾 Get $5 off your first order at PCBWay:
👉 https://pcbway.com/g/QN1n73
📄 Public PCB project link
The embedded control firmware is written in C and built with STM32CubeIDE, running on the STM32F103C8T6 microcontroller. It includes:
- ✅ PID Temperature Control Loop: A closed-loop control system that modulates fan speed based on measured temperature vs. target setpoint (in progress)
- ✅ I²C OLED UI Module: Live system readouts including temp, PWM duty, and user settings
- ✅ Rotary Encoder with Debounce: Interrupt-driven input for precise user interactions
- ✅ WS2812B LED Control: Uses DMA and timer peripherals to generate precise LED signal without CPU-intensive bit-banging
- ✅ BME280 Sensor via I²C: Interfaces with an external BME280 sensor to measure ambient temperature (and optionally humidity/pressure)
- ✅ Modular Code Structure: Organized into reusable drivers and logic layers for easy expansion
🎯 Source code is modular and documented in the /Core
folder.
-
Clone the repo:
git clone https://github.com/marcuslechner/Lechnology-Smart_RGB_Laptop_Cooling_Dock.git
-
Open the
.ioc
file in STM32CubeIDE -
Compile and flash the firmware using a ST-Link or USB-UART bootloader
This project is licensed under the Lechnology Non-Commercial MIT + Beerware License:
If you use this and we meet in person, you're invited to buy me a coffee or beer ☕🍺
Commercial use is prohibited without prior approval.
See LICENSE.md for full terms.
Using these links helps support Lechnology Engineering at no cost to you:
🛠️ Recommended Tools
🔌 Electronics Kits
🎥 More Projects on YouTube