# ThinkCentre Fan Control: recovering fan telemetry and modes from the M70t Gen 6

> ThinkCentre Fan Control uses findings from M70t Gen 6 embedded-controller probing and ACPI table analysis to show fan RPM and offer firmware fan modes. The Windows tray app reads the EC tachometer through PawnIO, obtains per-core temperatures from CPU registers and changes supported modes through Lenovo WMI.

- Type: Case study
- Targets: Firmware
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/blazingphoenix7/thinkcentre-fan-control>
- Primary source: <https://github.com/blazingphoenix7/thinkcentre-fan-control/blob/8c77f976f0e7945ac4dcc26126631e1dcae2b1d0/README.md>
- Catalog page: <https://awesomerea.org/resources/thinkcentre-fan-control-case/>
- Record JSON: <https://awesomerea.org/resources/thinkcentre-fan-control-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/thinkcentre-fan-control-case/index.md)

## Requirements & limits

- **Prerequisites:** Requires Windows 10 or 11, Administrator rights, and the PawnIO driver; building from source requires the .NET 8 SDK.
- **Limits:** The author reports support for fan modes, including Full Speed, on ThinkCentre M70t Gen 6 board 3376. Other boards use its EC layout as a fallback, so readings may be inaccurate; mode writes are disabled.
- **Limits:** Exact RPM setting is not supported.
- **License:** MIT license.

## Primary sources

1. <https://github.com/blazingphoenix7/thinkcentre-fan-control/blob/8c77f976f0e7945ac4dcc26126631e1dcae2b1d0/README.md>
2. <https://github.com/blazingphoenix7/thinkcentre-fan-control/blob/8c77f976f0e7945ac4dcc26126631e1dcae2b1d0/docs/research/ec-decode-m70t.md>

## More in Firmware and hardware

- [strix-890m-macos: investigating Radeon 890M display bring-up](https://awesomerea.org/resources/strix-890m-macos-case/index.md) · Case study
- [Twin Famicom: reconstructing the console power board](https://awesomerea.org/resources/twin-famicom-case/index.md) · Case study
- [EasyRazer: reconstructing Razer analog keyboard controls](https://awesomerea.org/resources/easyrazer-keyboard-case/index.md) · Case study
- [Sisu DCP-3: reconstructing Nokia 3210 firmware behavior](https://awesomerea.org/resources/sisu-dcp-3-case/index.md) · Case study
- [vxp: reconstructing VideoNow disc playback and branching](https://awesomerea.org/resources/vxp-videonow-case/index.md) · Case study
- [Zamphenom: running Kemper Profiler firmware in a DSP emulator](https://awesomerea.org/resources/zamphenom-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
