A lightweight Windows 11 taskbar monitor for CPU, memory, disk, network, GPU, temperatures and ping.
Install · Overlay · Popups · Details window · Use · Sensor service · Troubleshooting
Pulsar puts live graphs or compact text for your system's vital signs right on the Windows 11 taskbar. Rest the mouse on an item for a detailed popup, or open a full view of the whole machine.
- Graphs or text, with one of twenty graph styles, a color and a popup detail chosen per item.
- Hover popups at three levels of detail, with a translucent background that blurs what is behind them.
- A system details window: processor, memory modules, graphics, drives, network, motherboard and every live sensor.
- GPU monitoring for any vendor, read the way Task Manager does, with no drivers or vendor SDKs.
- CPU temperature and power, if you opt in, through an optional sensor service.
- A desktop widget with sparklines, tiles, meters or dials, and themes you can save and share, or design on Pulsar Themes.
- Frame rates and game sessions: the frame rate of the app in front, a strip on the game's monitor while you play, and a summary when the game closes.
- Light: about 20 MB of memory and well under 1% CPU, and it pauses while nobody can see it. No admin rights, no drivers and no background services unless you add the sensor service.
- No telemetry. See Privacy.
Pulsar needs Windows 11.
| Method | How |
|---|---|
| winget | winget install oMaN-Rod.Pulsar |
| Installer | Download pulsar-<version>-setup.exe from Releases. It installs for your user only, adds a Start Menu entry, and can start Pulsar when you sign in. |
| Portable | Download the zip from Releases, extract it anywhere and run pulsar.exe. |
| Cargo | cargo install --locked pulsar-monitor, then run pulsar. |
Warning
Releases are not code-signed yet, so SmartScreen may warn that the installer is from an unknown publisher. Choose More info → Run anyway. Signing through the SignPath Foundation is planned.
More about installing with Cargo
cargo install puts pulsar.exe, pulsar-settings.exe, pulsar-details.exe and pulsar-sensors.exe in %USERPROFILE%\.cargo\bin. Building needs Rust 1.92+, the MSVC build tools and the Windows SDK.
To remove it, turn off Start with Windows in Settings, exit Pulsar, then run cargo uninstall pulsar-monitor. If you set up the sensor service, remove it first.
Pulsar sits beside the tray or at the left edge of the taskbar, nudged by an offset if you like, or floats anywhere on screen. It survives Explorer restarts, taskbar moves, auto-hide, DPI changes and multiple monitors, and fades out while a fullscreen game or video is in front. On the taskbar its items are attached as a child window, which keeps them visible while Start is open; if that ever causes trouble, turn off Attach to the taskbar in Settings.
| Graphs | ![]() |
| Graphs with icons | |
| One-letter labels | ![]() |
| Single-line graphs, for short taskbars | ![]() |
| Vertical labels, with the value beside them | ![]() |
| Text | ![]() |
| Text, one-letter labels | ![]() |
| Text, icons alone |
Each item draws an area graph, a line, bars, a dot matrix, a level meter, a segment meter, a bullet meter with its recent peak and thresholds, a heat strip of its recent samples, a range rail from its recent low to high, a spark underline, a ring, or just its text. Items with a load scale can also tint their tile or show a status bubble beside the text, in the color of their load. Network can mirror download and upload around a center line, ping can show an uptime strip that marks lost packets, and the battery can show a cell that fills with its charge. The CPU and GPU can combine load bars with a temperature dot, the CPU can show meters per core type on hybrid processors, and any item can add a trend arrow. The CPU can also show a bar or a heat cell per core, with peak marks and efficient cores set apart on the bars. It can use its own color, your Windows accent color, or a color that turns green, yellow, orange and red as its load rises, at thresholds you can set.
Tip
Right-click an item on the taskbar to change its style, color and popup detail, swap it with its neighbour, or hide it.
CPU, CPU temperature, CPU power, CPU clock, memory, chipset temperature, GPU, GPU temperature, GPU memory, GPU power, disk, drive temperature, network, ping, battery and frame rate. Show any of them, in any order: drag an item along the taskbar to move it, or drag its handle in Settings → Items.
GPU power is in watts, for NVIDIA cards, read through the management library their driver installs; no sensor service is needed. With several cards it adds up those that report their power. A laptop GPU that Windows has powered down counts as 0 W and is not woken to ask.
Detach Pulsar from the taskbar, drag it anywhere and lock it in place, here with a panel background.
Pulsar stays where you put it until it would cover a taskbar button. Then its items get more compact and go one at a time, from the side you choose. With no room for any, it floats above the taskbar, shows a reading in its tray icon, or stays hidden, as you prefer; items return once there is room. Pulsar asks Windows where the buttons are and never touches the taskbar itself, so a custom taskbar that does not report them keeps Pulsar in its usual place, where it can cover them.
A panel on the desktop with a section per item, like a popup that stays open. It sits behind your windows and comes forward when you show the desktop, or stays on top if you prefer. Choose sparklines, tiles, meters or dials and how much detail it shows, for all items or per item, and drag it anywhere. Set its background color and opacity, and give it an order of its own by dragging the handles in Settings → Widget, or by holding Shift and dragging an item on the widget (no Shift needed once it is locked). The CPU can also show a core wall: a tall bar per logical processor with its peak, with performance and efficient cores apart. Turn it on in Settings → Widget or from the menu.
| Sparklines | Tiles | Meters |
|---|---|---|
![]() |
![]() |
![]() |
| Dials | Core wall | Detailed |
![]() |
![]() |
![]() |
Two options in Settings → Sensors, both off until you turn them on:
-
A strip in games: while a game is in front, its frame rate and your taskbar items appear as one line of text in the top-left corner of its monitor. Clicks pass through it to the game. Windows does not let anything draw over exclusive fullscreen, so this works for borderless and windowed games.
-
A summary when a game closes: a notification with the time played, average frame rate, 1% low and peak CPU and GPU temperatures. Each session is also added to
sessions.csvin the logs folder.
The frame rate and temperatures need the sensor service. A game is any app Windows recognises as one, as Game Bar does. To change that for an app, bring it to the front, right-click Pulsar and choose Count … as a game.
Pulsar can warn you with a notification when the CPU or GPU stays above a temperature for half a minute, when the battery runs low while unplugged, or when a drive is nearly full. Each alert is off until you turn it on in Settings → General, and fires again only once its reading has recovered. The CPU temperature alert needs the sensor service.
Set keyboard shortcuts in Settings → General to show or hide Pulsar, turn the desktop widget on or off, open the system details window, start or stop recording, and switch to the next profile. They work anywhere in Windows and are not set until you choose them.
Choose Record to CSV from the menu to write every sample to a new file in Documents\Pulsar, until you choose it again. Each reading Pulsar is sampling gets a column named for it and its unit, such as cpu_temp_c or net_down_bps; rates are in bytes per second and sizes in bytes.
Save the current setup as a named profile in Settings → Profiles, such as one for gaming and one for the desk, and switch between them there or from Profiles in the menu. A profile keeps the items, layout, theme, popups, widget, units, drives and network. Language, startup, the update interval, games, alerts and shortcuts are the same in every profile. The menu ticks the profile that matches the current settings. A keyboard shortcut, set in Settings → General, switches to the next profile.
| Settings | Menu |
|---|---|
![]() |
![]() |
Eight built-in themes set the item, label, value, tile and panel colors, each with a variant for light taskbars. Click one in Settings → Theme to apply it, change any color on top, and save the result as your own theme: a small file in %APPDATA%\Pulsar\themes you can share.
For more, open Pulsar Themes, or More themes in Settings → Theme. It shows Pulsar's overlay, popups and widget on an emulated Windows 11 desktop, so you can:
- try the built-in and community themes, and change every color and setting live, in night and day
- generate a theme from a color or from your wallpaper
- export the theme, and a profile with your items, styles and layout, ready for Pulsar's themes and profiles folders
- share your theme with the community gallery through a GitHub issue
While the display is off, the PC is locked or the session is disconnected, Pulsar stops sampling and pinging, and resumes within a couple of seconds of your return. It keeps sampling if an alert is on, a recording is running or a game session is open, so those have no gaps. It asks Windows to run it in efficiency mode, and Update interval on battery in Settings → General can slow its readings while unplugged.
- label, value and item colors, with separate label and value colors for a light taskbar
- tile and panel backgrounds, which help on Windhawk, TranslucentTB and similar
- any installed font, bold optional
- temperatures in °C or °F, memory and GPU memory as a percentage or the amount in use, network rates in bytes or bits per second, a minimum speed below which the taskbar and widget show 0, and upload shown above download if you prefer
- a dot before the network arrows in the color of the connection: internet, the local network only, or none, as Windows judges it for the tray's network icon
- network as download, upload or both, on one graph tile or a tile for each, with a separate choice for the popup
- each drive as its own item, showing its activity or used space; each GPU with its own load, temperature and memory; and all physical network adapters, one, or several side by side
Rest the mouse on an item to see its graph and details. Choose how much each popup shows, for all items or per item:
| Simple | Standard | Detailed |
|---|---|---|
![]() |
![]() |
![]() |
| The value and its graph | The main readings and top processes | Everything Pulsar reads, plus the low, average and high of the graph |
Popups are translucent by default, blurring what is behind them, or solid if you prefer:
| Translucent | Solid |
|---|---|
![]() |
![]() |
What each popup shows
| Item | Standard | Detailed adds |
|---|---|---|
| CPU | clock speed, per-core load, top processes, and with the sensor service temperature, power, hottest core and thermal throttling | process, thread and handle counts, and up time |
| CPU temperature | temperature, power, hottest core, thermal throttling | per-core temperatures |
| CPU power | temperature, power, hottest core, thermal throttling | cores, graphics and memory power, TDP, sustained and burst limits, and per-core power |
| CPU clock | average and fastest core | per-core clocks |
| Memory | in use, available, committed, top processes | in use, modified, standby and free as a bar, and the kernel pools |
| Chipset temperature | chipset, CPU, GPU and hottest drive | |
| GPU | temperature, dedicated and shared memory, each GPU's load, memory and temperature, top processes | engines, fan, power, memory clock, and hot spot and memory temperature where the card has them |
| GPU temperature | fan, power, memory clock, hot spot, memory temperature, each GPU's temperature | |
| GPU memory | dedicated memory in use out of the total, shared memory, how full each GPU's memory is | |
| GPU power | share of the power limit, load and temperature, while the GPU and GPU temperature items are on | |
| Disk | read and write rates, chosen drives, top processes by I/O | free space per drive |
| Drive temperature | each drive, by letter and model; hard drives are read at most every 5 minutes and show the reading's age, or that they are asleep | |
| Network | whether there is a connection to the internet, traffic per adapter, numbered when each has its own cells | totals since Pulsar started |
| Ping | host, min/avg/max, packet loss | jitter |
| Battery | state, time remaining | charge rate, energy, capacity when new, health, charge cycles, voltage |
| Frame rate | application, frame time, 1% and 0.1% lows, how often its monitor's picture changed | min/avg/max |
Every Detailed popup except Network also shows the low, average and high of its graph.
Every popup, Detailed
![]() |
![]() |
![]() |
| CPU | CPU temperature | CPU power |
![]() |
![]() |
![]() |
| CPU clock | Memory | Chipset temperature |
![]() |
![]() |
![]() |
| GPU | GPU temperature | Disk |
![]() |
![]() |
![]() |
| Drive temperature | Network | Ping |
![]() |
![]() |
|
| Frame rate | GPU memory |
Ctrl+click the overlay, or choose System details… from its menu, for a CPU-Z-style view of the whole machine. It opens on the clicked item's page, with the hover graphs and their full history.
| Page | What it shows |
|---|---|
| Overview | a summary of the machine, live graphs for every item, and temperatures, power and up time |
| Processor | per-core load, clock and temperature as a matrix, strips, rings or a graph per thread, with power, voltage, caches and instruction sets |
| Memory | usage, commit, timings and each module |
| Graphics | utilisation, temperature, engines, graphics memory and every adapter with its PCIe link |
| Storage | activity, transfer rate, and each drive's temperature, limits and free space |
| Network | traffic and latency history, and every adapter's link speed and addresses |
| System | motherboard, chipset, BIOS and Windows |
| Sensors | every reading in a collapsible tree, with its current value, low and high |
| Where | Action | What happens |
|---|---|---|
| Overlay | Rest the mouse on an item | its popup |
| Overlay | Left-click | opens Task Manager |
| Overlay | Ctrl+click | opens the system details window on that item's page |
| Overlay | Right-click | the menu, with the clicked item's own options at the top |
| Overlay | Drag an item | moves the item among the others |
| Overlay, floating and unlocked | Drag | moves the overlay; hold Shift to move an item instead |
| Tray icon | Left-click | opens Settings |
| Tray icon | Right-click | the menu |
| Start menu | Launch Pulsar while it runs | opens Settings |
The tray icon can be turned off in Settings → General. It then appears only while a notification is showing, and the overlay's right-click menu still reaches Settings.
Switch between graphs and text, show or hide items, and set popup detail, units, the update interval, profiles, labels, icons and floating mode, all without opening Settings.
| The clicked item's options | Popups |
|---|---|
![]() |
![]() |
Every option, applied as you change it.
Settings pages
Items: which items show, their order (drag a handle or use the arrows) and color, and each item's graph style, coloring and popup detail
Open an item's options for its graph style, trend arrow, tile size and popup.
Layout: graphs or text, labels, icons, the font, and where the overlay sits
Theme: themes, custom colors, and tile and panel backgrounds
Popups: details on hover, detail, background, graph and top processes
Widget: placement, style, detail, width, background color and opacity, and which items it shows, in what order
Sensors: the sensor service, frame rate, games and the temperature unit
Devices: drives, GPUs, network adapters, rates and minimum speeds, and the ping host
Profiles: save, apply and delete profiles
General: language, start with Windows, update checks, the tray icon, shortcuts, alerts, how often Pulsar samples, on mains and on battery, and resetting everything
Everything Pulsar shows by default is read without administrator rights. A few readings need kernel access, which Pulsar does not have and does not ask for by default. Two optional pieces provide them, and both need administrator rights:
- PawnIO (source), an open-source signed driver by namazso. It only runs modules signed by its author, and the ones Pulsar uses can read a fixed list of registers.
- The Pulsar sensor service (
pulsar-sensors.exe), which reads temperatures and power draw through PawnIO once a second and publishes those numbers. It runs as a Windows service from%ProgramFiles%\Pulsar. Pulsar itself stays unelevated. The only input the service takes is a yes-or-no request for frame rates.
Pulsar falls back to what Windows itself publishes:
- CPU power comes from the Energy Meter Interface, on many recent Intel and AMD systems. It reads the same counters as the service, including the cores, graphics and memory parts.
- CPU temperature comes from the ACPI thermal zones. Many desktops only publish placeholders there, so Pulsar ignores readings that can't be a running CPU and shows a dash instead.
The Frame rate item needs the service, but not PawnIO.
- How it's measured: the service listens to the present events that DXGI, Direct3D 9 and the graphics kernel already log through Event Tracing for Windows, which only an administrator can do. The trace stops a few seconds after the item is turned off.
- Nothing touches the game: nothing is loaded into it or read from its memory, which is what anti-cheat software looks for.
- What it shows: how often the app in front hands a frame to Windows, counting the GPU process that browsers draw from. An app that isn't drawing shows 0 fps.
- Monitor rate: the popup also shows how often the picture changed on that app's monitor. Windows combines every app into one picture per refresh, so this never exceeds the refresh rate, except for a fullscreen game with V-Sync off.
- A game on another monitor: to watch it while you work elsewhere, choose its monitor under Settings → Sensors → Frame rate.
- Install the pieces:
- Installer: tick the boxes on its CPU temperature page. Run the installer again to add or remove them later.
- winget:
winget installruns the installer silently, which never asks for administrator rights and so skips that page. Runwinget install -i oMaN-Rod.Pulsarto see it, or follow the next step using%LOCALAPPDATA%\Programs\Pulsar\pulsar-sensors.exe. - Portable zip or Cargo: install PawnIO (
winget install namazso.PawnIO), then runpulsar-sensors.exe --installfrom an administrator terminal.
- Turn on CPU temperature, CPU power, Chipset temperature or Frame rate in Settings → Items.
Note
The service runs from its own copy of pulsar-sensors.exe. The installer's wizard refreshes that copy, but a silent upgrade (winget upgrade) and cargo install do not, so run pulsar-sensors.exe --install again after those if Pulsar says the service needs updating.
To remove the service, run pulsar-sensors.exe --uninstall from an administrator terminal. Uninstalling Pulsar from Windows Settings or winget does this for you; cargo uninstall and deleting the portable folder do not.
Without the service, the CPU temperature, CPU power, Chipset temperature and Frame rate items show "—" and their popup says what is missing; the other readings are simply left out.
What needs the sensor service
| Reading | Built in | With the sensor service |
|---|---|---|
| CPU usage, clock speed, per-core load, top processes | ✓ | |
| Memory, disk, network and ping | ✓ | |
| Drive temperature, for drives that report one | ✓ | |
| GPU board maker and PCIe link, chipset model (details window) | ✓ | |
| GPU usage, VRAM, temperature, fan and power | ✓ | |
| CPU temperature | Intel, and AMD Ryzen (Zen and later) | |
| CPU power | Intel, and AMD Ryzen (Zen and later) | |
| Chipset temperature | Intel, chipsets from the 8 series on | |
| TDP and power limits (details window, CPU power popup) | Intel | |
| Multiplier range and ring clock (details window) | Intel | |
| Memory timings and clocks (details window) | Intel 12th–14th gen; AMD Ryzen without the controller clock | |
| Hottest core (popups) | Intel | |
| Per-core temperature (details window, CPU temperature popup) | Intel | |
| Per-core clock (details window, CPU clock popup) | Intel, and AMD Ryzen | |
| Per-core voltage (details window) | Intel | |
| Per-core power (details window, CPU power popup) | AMD Ryzen | |
| Cores, integrated graphics and memory power (details window, CPU power popup) | Intel; cores only on AMD Ryzen | |
| Thermal throttling (popups) | Intel | |
| GPU hot spot (popups) | NVIDIA RTX 50 series | |
| GPU memory temperature (popups) | NVIDIA RTX 30 series and later | |
| Frame rate | Any CPU, without PawnIO |
The GPU rows appear only where the card has those sensors, and they need one of the supported CPUs.
Pulsar is available in English, Spanish (Español), Simplified Chinese (简体中文), Korean (한국어) and Japanese (日本語). It follows the Windows display language; pick another under Settings → General → Language. To add or improve a translation, see docs/translating.md.
| What | Where |
|---|---|
| Settings, applied live | %APPDATA%\Pulsar\config.toml |
| Logs, crash reports and diagnostics | %LOCALAPPDATA%\Pulsar\logs |
| Game sessions | sessions.csv in the logs folder |
| Recordings | Documents\Pulsar\readings-*.csv |
| Profiles | %APPDATA%\Pulsar\profiles |
| A settings file that could not be read | backed up as config.toml.bak, and defaults are used |
Pulsar makes only two kinds of network request:
- Ping: pings the host you choose. Ping is off until you enable the Ping item.
- Update check: asks GitHub's releases API about new versions once a day. Turn it off in Settings → General. Nothing is ever downloaded or installed automatically.
There is no telemetry.
- Something looks wrong: open Settings → About → Logs and look at
pulsar.log. - Pulsar crashed: it writes a
crash-*.txtreport to the logs folder and offers to open it the next time it starts. - A reading is missing or wrong: Settings → About → Diagnostics → Save report, or
pulsar --diag [file], writes every reading Pulsar can take, and how long each kind takes to read, todiagnostics.txtin the logs folder.
Then open an issue with the log and any crash or diagnostics report attached.
Important
The diagnostics report lists process and network adapter names. Read it before sharing.
cargo build --release
cargo test --workspace
| Script | What it does |
|---|---|
scripts\package.ps1 |
builds the installer, the portable zip and the winget manifests into dist\; needs Inno Setup 7, which ships the Simplified Chinese messages |
scripts\screenshots.ps1 |
captures the overlay in every layout and style, popups, menus, the widget, the game strip, Settings and the details window to target\screenshots\; -Publish refreshes the images in docs\images |
The theme site lives in site/; see site/README.md to run it locally.
Also see the manual testing checklist and the release guide.
Pulsar is free. If it helps you, you can buy me a coffee.
GPL-3.0-or-later. The settings window is built with Slint, used under its GPLv3 option.












































































