Your laptop. Your fans. Your control.
A modern, elegant CLI wrapper for NBFC — inspired by Acer NitroSense.
Features · Preview · Installation · Commands · Roadmap
NeoSense brings a clean, straightforward command-line experience to NBFC (Notebook FanControl) on Linux.
Control fan speeds, switch performance profiles, manage the NBFC service, and inspect your system's thermal status without memorizing a collection of low-level commands.
Built with modular Bash scripts, NeoSense aims to make laptop thermal management more accessible while keeping the interface lightweight, readable, and extensible.
NeoSense is a wrapper around NBFC, not a replacement for it. Hardware compatibility and low-level fan control depend on your NBFC installation and configuration.
A quick look at the NeoSense command-line interface:
_ _ ____
| \ | | ___ ___ / ___| ___ _ __ ___ ___
| \| |/ _ \/ _ \\___ \ / _ \ '_ \/ __|/ _ \
| |\ | __/ (_) |___) | __/ | | \__ \ __/
|_| \_|\___|\___/|____/ \___|_| |_|___/\___|
NeoSense v1.0
A modern NBFC wrapper
COMMANDS
├─ status System & thermal status
├─ auto / manual Fan control modes
├─ set Manual fan speeds
├─ turbo Maximum fan preset
├─ performance Performance preset
├─ balanced Everyday preset
├─ silent Low-noise preset
├─ daemon Service management
└─ config NBFC profiles
Illustrative layout of the available commands, not a verbatim terminal capture.
| Switch between automatic and manual operation, or set CPU and GPU fan speeds individually or together. | Quickly select Turbo, Performance, Balanced, or Silent fan profiles. |
| Inspect the active configuration, service state, temperatures, and current and target fan speeds. | Enable, disable, restart, and inspect the NBFC systemd service directly from the CLI. |
| List available NBFC profiles, inspect the active profile, and apply a different configuration. | Modular Bash scripts with separate responsibilities for commands, system operations, configuration, and output. |
- A Linux distribution
- Bash and standard system utilities
- NBFC Linux installed and configured
sudoprivileges for operations that require elevated permissions
NBFC support varies by laptop model. Confirm that your hardware is supported and that its configuration works before using NeoSense to control the fans.
On Arch Linux or Manjaro, if the package is available in your configured repositories or AUR helper:
yay -S nbfc-linuxOn other distributions, follow the installation instructions in the official nbfc-linux repository.
Clone the repository:
git clone https://github.com/NeonMC23/NeoSense.git
cd NeoSenseRun the installer:
sudo ./install.shThe installation script is intended to:
- Check that NBFC is installed.
- Install NeoSense files under
/usr/local/share/neosense/. - Create the
neosensecommand under/usr/local/bin/.
After installation, display the available commands:
neosense --helpCheck the installed version:
neosense --versionneosense statusDisplays the active NBFC configuration, service state, autostart state, operating mode, temperatures, and current and target fan speeds when the underlying system exposes those values.
| Command | Description |
|---|---|
neosense auto |
Switch all fans to automatic mode |
neosense manual |
Switch to manual mode while keeping current speeds |
neosense set cpu <0-100> |
Set the CPU fan speed |
neosense set gpu <0-100> |
Set the GPU fan speed |
neosense set both <0-100> |
Set both fan speeds |
Examples:
neosense auto
neosense manual
neosense set cpu 75
neosense set gpu 65
neosense set both 80Choose a preset according to your workload:
| Preset | CPU fan | GPU fan | Typical use |
|---|---|---|---|
| 🔥 Turbo | 100% | 100% | Maximum cooling |
| ⚡ Performance | 80% | 80% | Gaming and heavy workloads |
| ◈ Balanced | 60% | 60% | Everyday use |
| ❄️ Silent | 25% | 25% | Light workloads |
neosense turbo
neosense performance
neosense balanced
neosense silentPreset percentages are the values defined by NeoSense; actual fan behavior depends on hardware and NBFC support.
| Command | Action |
|---|---|
neosense daemon enable |
Enable and start the service |
neosense daemon disable |
Stop and disable the service |
neosense daemon restart |
Restart the service |
neosense daemon status |
Inspect the service state |
| Command | Action |
|---|---|
neosense config current |
Show the active profile |
neosense config list |
List available NBFC profiles |
neosense config use "Acer Nitro AN515-57" |
Apply a profile and restart the service |
Use the exact configuration name reported by neosense config list on your system.
Fan control interacts with hardware-specific behavior. Incorrect settings can lead to excessive temperatures or unnecessary noise.
- Verify that NBFC supports your laptop and that its configuration is correct.
- Monitor CPU and GPU temperatures after changing fan settings.
- Avoid low manual fan speeds under sustained heavy workloads.
- Remember that a requested fan percentage does not guarantee a particular temperature.
- Use elevated privileges only when required by the operation.
NeoSense delegates hardware-level control to NBFC; it cannot guarantee compatibility with every laptop.
NeoSense/
├── README.md
├── LICENSE
├── install.sh
├── uninstall.sh
├── neosense
└── src/
├── commands.sh
├── system.sh
├── config.sh
├── status.sh
└── utils.sh
| File | Responsibility |
|---|---|
neosense |
Main CLI entry point |
src/commands.sh |
Fan control commands and presets |
src/system.sh |
Temperatures and systemd service operations |
src/config.sh |
NBFC configuration profiles |
src/status.sh |
Status parsing and dashboard output |
src/utils.sh |
Colors, logging, and validation |
install.sh |
Installation |
uninstall.sh |
Uninstallation |
The modular structure keeps command handling separate from system operations and configuration management.
“This command requires root privileges”
Some operations require elevated permissions to communicate with the underlying hardware or manage the system service. Run the relevant command with the required privileges and ensure that NBFC is configured correctly.
GPU temperature appears as N/A
Check whether your GPU driver exposes temperature information. On NVIDIA systems, verify that nvidia-smi is available. On AMD systems, check the driver's hardware monitoring interfaces. Not every GPU or driver exposes the same information.
Fan control does not work as expected
Confirm that NBFC is running, the selected profile matches your laptop, and the hardware is supported. Check NBFC's own status and logs before assuming the issue comes from NeoSense.
How do I uninstall NeoSense?
From the cloned repository directory, run:
sudo ./uninstall.shReview the script and its intended changes before running it.
Potential future improvements:
- Interactive TUI — Live status and interactive fan controls.
- GTK interface — A graphical application with a system-tray indicator.
- Custom fan curves — Configure temperature-to-speed profiles.
- Automatic gaming profile — Switch profiles when games launch.
- Smart battery mode — Adapt profiles when unplugging the charger.
- Desktop notifications — Notify users about profile changes and temperature events.
These items are planned possibilities, not promises or implemented features.
Contributions, bug reports, and feature suggestions are welcome.
- Fork the repository.
- Create a feature branch:
git checkout -b feature/my-feature. - Commit your changes.
- Push your branch.
- Open a Pull Request.
For significant changes, open an issue first to discuss the proposed approach.
NeoSense is distributed under the MIT License. See LICENSE for details.
Less command juggling. More control.
NeoSense