🧮 CalcDocs — Instantly See What Your Firmware REALLY Computes
Reveal hidden firmware values directly inside VS Code.
Inline calculations • Macro value expansion • Engineering formulas • Unit conversions
Live engineering knowledge embedded directly into firmware.
Stop rebuilding firmware formulas in Excel ➡️ Reuse the originals directly.

CalcDocs is the first VS Code extension focused on understanding firmware engineering calculations instead of source code syntax.
Firmware logic is often invisible.
Values are buried behind:
- chained macros
- scaling constants
- unit conversions
- spreadsheet calculations
- scattered documentation
👉 CalcDocs makes those values visible instantly.
⚡ What CalcDocs does
CalcDocs transforms VS Code into a live engineering calculation explorer.
Instead of manually expanding macros, opening Excel files, or mentally resolving formulas:
✅ Hover a value
✅ See the final computed result
✅ Understand firmware logic instantly
No build. No flashing. No debugger required.
1️⃣ Coding Evaluator
| Write this... |
...and will instantly appear |
 |
 |
✅ Real-time evaluation
✅ Inline resolved values
✅ No manual calculations
2️⃣ Realtime Engineering Notes
| Write this... |
...and will instantly appear |
 |
 |
- Realtime calculations directly in comments
- Unit conversion (
rpm -> rad/s, atm -> Pa, etc.)
- Keep formulas near the actual firmware logic
- Eliminate scattered Excel and text notes
👉 Inline Calculations
Keep engineering calculations close to the firmware logic instead of:
- external spreadsheets
- random
.txt files
- disconnected documentation
Your firmware becomes self-documented.
Explore firmware formulas as a live dependency graph directly inside VS Code.
Check whether the measured value matches your expectations.



CalcDocs keeps formulas and firmware intrinsically synchronized.
The same engineering logic can now:
✅ live next to production code
✅ be evaluated in real time
✅ be reused during debugging
✅ propagate through dependencies automatically
✅ stay permanently aligned with the firmware implementation
✅ visualize real output distributions with Monte Carlo sampling and a new Distribution tab
✅ propagate uncertainty through dependency graphs using probabilistic models
✅ estimate output distributions via Monte Carlo sampling
✅ model engineering uncertainty with uncertainty, distribution, and automatic propagation
No duplicated engineering logic.
No spreadsheet drift.
No parallel maintenance.
📖 Learn more
4️⃣ Macro Chain Revelation
| File |
Preview |
| Inside C code |
 |
| Inside formulas*.yaml |
 |
👉 Interactive Formula Viewer
🚀 Try It Yourself
The fastest way to discover what CalcDocs can do is to open the built-in example workspace.
After installing the extension:
- Open the Command Palette (
Ctrl+Shift+P)
- Run:
CalcDocs: Open Extension Test Folder
This opens a ready-to-use project demonstrating:
- ✅ Inline engineering calculations
- ✅ Ghost values
- ✅ Macro chain revelation
- ✅ Interactive Formula Viewer
- ✅ YAML ↔ C synchronization
- ✅ Unit conversions
- ✅ Tolerance propagation
- ✅ Probabilistic modeling examples
Explore the sample files, visualize Monte Carlo tolerance propagation, modify engineering formulas, and see how results update instantly in real time.
👀 Firmware Blindness — Before vs After
| Before |
After |
 |
 |
| Header generation |
 |
| Quick menu |
 |
🔥 Why this matters
Firmware development is rarely difficult because of syntax.
It becomes difficult because:
- values are hidden
- formulas are fragmented
- scaling is implicit
- engineering decisions live outside the codebase
Understanding a single value may require:
- opening multiple headers
- expanding macro chains
- checking documentation
- validating unit conversions
- searching old spreadsheets
Most firmware projects suffer from:
- duplicated formulas
- stale spreadsheets
- undocumented scaling
- hidden assumptions
These issues create real bugs.
CalcDocs removes that friction.
Instead of navigating half the project:
👉 you immediately see what the firmware computes.
🔗 YAML ↔ C Synchronization
Define formulas once:
power:
formula: vin * current
unit: W
Use them everywhere.
CalcDocs:
✅ evaluates formulas
✅ syncs YAML with C/C++
✅ prevents formula drift
✅ shows results inline
👉 Formula YAML Guide
⚖️ Built-In Validation
Detect issues early:
- Unit mismatches
- Overflow risks
- Invalid conversions
- YAML/C inconsistencies
👉 Features Overview
CalcDocs is designed for real embedded firmware workflows.
💡 Real use cases
🔍 Understand code instantly
No more jumping across headers to resolve macros
⚠️ Catch bugs early
See wrong values before flashing your MCU
🔄 Eliminate Excel drift
Formulas stay aligned with firmware
🧪 Debug faster
Know values before runtime
📖 Learn more
📚 Create Self-Documenting Firmware
Engineering decisions stay inside the source code.
CalcDocs focuses on one thing:
making firmware numeric logic visible.
⚙️ Recommended setup (optional)
CalcDocs works standalone.
For best results, combine it with:
clangd (recommended)
ms-vscode.cpptools
CMake Tools
CalcDocs integrates without conflicts.
👉 Configuration
CalcDocs supports engineering prefixes automatically:
mV, uV, nV, kV, MHz, mA, etc.
❤️ Support
If CalcDocs saves you time:
📚 Documentation
Start here:
Reference:
Design & Scope:
🧠 Final thought
Spreadsheets hide logic.
Code hides values.
CalcDocs reveals both.