Skip to content

F00LM1N4/STemperami

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌌 AERO-CORE: Intelligent Thermal Management System 🚀

License Platform Framework Status

Precision Cooling. Absolute Reliability. Future-Ready Interface.


📡 Mission Overview

Welcome to AERO-CORE, the next-generation firmware solution for the STM32F103C8T6 (Blue Pill). This project transforms your microcontroller into an autonomous, safety-critical thermal regulation unit. Designed for high-performance cooling applications, it leverages advanced PWM modulation, non-volatile memory, and a robust fail-safe architecture to ensure your hardware stays cool under pressure.

Whether you are cooling a server rack, a 3D printer, or a fusion reactor (experimental), AERO-CORE delivers linear precision and instant adaptability.


Core Modules

🌀 Adaptive PWM Airflow Control

Utilizing TIM2 hardware timers, the system drives a low-side MOSFET to modulate fan speed with 1000-step resolution.

  • Idle State: 0% Speed (Below Min Temp)
  • Linear Thrust: Smooth interpolation between Min and Max thresholds.
  • Max Override: 100% Speed (Above Max Temp)

🛡️ Fail-Safe Sentinel

Safety is paramount. The Watchdog (IWDG) continuously monitors system health.

  • Sensor Breach Protocol: If the DS18B20 sensor data line is severed or corrupted, the system immediately engages Emergency Override, locking the fan at 100% capacity to prevent thermal runaway.

💾 NVM Persistence Layer

Configuration is stored in emulated EEPROM (Flash Memory). Your custom temperature thresholds survive power cycles, ensuring the mission profile is always loaded on boot.

📟 Cyber-Link CLI

Interact with the core via the Serial Command Line Interface. The system enumerates as a USB Virtual COM Port (VCP).


🔌 Hardware Interface (Pinout)

Component Pin Function Notes
Fan Control PA1 PWM Output Connect to Gate of N-Ch MOSFET
Thermal Sensor PA0 1-Wire Data DS18B20 (Requires 4.7k Pull-up)
USB Data+ PA12 USB D+ Connect to USB Connector
USB Data- PA11 USB D- Connect to USB Connector
Heartbeat PC13 Status LED Pulses @ 1Hz

(Note: PA9/PA10 are no longer used for Serial Console. Use the USB Port.)


⌨️ Command Manual

Connect via Serial Terminal to the STM32 Virtual COM Port (Baud: Any, e.g. 115200).

Command Parameter Description
help - Display valid directives.
get_temp - Retrieve current core temperature (°C).
get_settings - Display active Min/Max thresholds.
set_min <value> Set activation threshold (e.g., set_min 30.0).
set_max <value> Set max-thrust threshold (e.g., set_max 60.0).

Example Session:

> get_temp
Current Temp: 34.50
> set_min 40.0
Min temp set to: 40.00

🛠️ Deployment Instructions

Prerequisites

  • PlatformIO installed on your workstation.
  • STM32F103C8T6 ("Blue Pill") board.
  • ST-Link V2 or compatible programmer.

Initialization & Compilation

Initialize the neural pathways (build the code):

# Clone the repository
git clone <repo-url>
cd <repo-name>

# Build the firmware
pio run

Flash the Core

Upload the firmware to the target unit:

pio run --target upload

🔮 Future Roadmap

  • PID Control Loop implementation.
  • OLED Display integration (I2C).
  • Remote Telemetry via ESP8266 bridge.

Engineered by Jules. 🤖

About

ST based Temperature controller with CLI control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 96.3%
  • Linker Script 3.4%
  • Other 0.3%