Thanks to visit codestin.com
Credit goes to github.com

Skip to content

way2pramil/KiNotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

91 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

KiNotes โ€” Smart Engineering Notes for KiCad 9+

KiNotes

======= Version 1.5.2 โ€” Your design decisions shouldn't live in a separate notepad. KiNotes keeps engineering notes right inside KiCadโ€”where they belong.

dev

License KiCad 9.0+ Sponsor

๐ŸŽฏ For KiCad 9.0+ โ€” Built for modern KiCad with Python 3 and wxPython 4.


The Problem We Solve

Every PCB designer has been there:

"Why did I choose this capacitor value?"
"What was wrong with Rev A again?"
"Where did I write down that test result?"

Design notes end up scattered across text files, sticky notes, emails, and memory. When you need them months laterโ€”during a redesign or debugging sessionโ€”they're either lost or useless without context.

KiNotes fixes this by keeping notes where they matter: inside your KiCad project.


๐Ÿ”— Smart-Link: Click to Highlight

This is what makes KiNotes different. When you mention a component or net in your notes, it becomes clickable.

Type naturally:

"The filtering on the ADC input needs work. R23 and C45 values might be too aggressive for the signal bandwidth we need."

Click R23 โ†’ that resistor lights up on your PCB. No searching. No scrolling through the schematic. One click.

This works with:

  • Component designators: R1, C5, U3, LED1, SW2, Q7...
  • Net names: VCC, GND, SDA, UART_TX, Motor_PWM...
  • Custom prefixes: Add your own (MOV, NTC, PTC, whatever you use)

The link works both waysโ€”your notes stay connected to your design, not floating in a separate file. image


๐Ÿ“‹ Task Tracking That Stays With Your PCB

Hardware projects have TODOs that span weeks or months. "Fix thermal relief on U5" doesn't belong in a generic task appโ€”it belongs with the board.

KiNotes includes a simple todo list:

  • Tasks saved in .kinotes/ folder alongside your project
  • Check off items as you complete them
  • Optional time tracking per task (for billing or personal records)
  • Everything stays localโ€”no cloud, no accounts, no sync issues

๐Ÿ’พ Stay Local, Stay With Your PCB

KiNotes stores everything in a .kinotes/ folder inside your project directory:

my_project/
โ”œโ”€โ”€ my_project.kicad_pcb
โ”œโ”€โ”€ my_project.kicad_sch
โ””โ”€โ”€ .kinotes/
    โ”œโ”€โ”€ KiNotes_my_project.md    โ† Your notes
    โ”œโ”€โ”€ todos.json                โ† Task list
    โ”œโ”€โ”€ settings.json             โ† Preferences
    โ””โ”€โ”€ images/                   โ† Pasted images (Beta)

What each file contains :

  • KiNotes_<projectname>.md โ€” Your KiNotes in Markdown format (supports both visual editor and raw markdown editing) with Autosave
  • todos.json โ€” Task list with completion status, optional time tracking data, and session history with Autosave
  • settings.json โ€” Your UI preferences (theme, panel size, editor mode, Smart-Link options, beta toggles)

๐Ÿ’ก Tip: Tip: The Export Diary button in the Todo tab creates a clean work-log summary (time spent per task, session details) and inserts it directly into your Markdown notes. Perfect for quick reports or timesheets.

Why this matters:

  • Git-friendly: Notes version with your design
  • Portable: Move project = move notes
  • No cloud dependency: Works offline, forever
  • No accounts: Just files on your disk
  • Plain Markdown format: Notes readable by any text editor, easy for future tools and analysis

๐Ÿง  Auto-Save (Because Engineers Forget)

"Ctrl+S? What's that?" โ€” Me, while mentally routing a 4-layer stackup

Let's be honest. Pressing Ctrl+S takes half a second. It's the easiest thing in the world. And yet... ๐Ÿคท

When your brain is juggling impedance calculations, component placement, thermal reliefs, and that one via that refuses to fitโ€”saving is the last thing you remember. You close KiCad, realize you lost an hour of notes, and stare at the ceiling questioning your life choices.

KiNotes just saves. ๐Ÿ’พ Every edit, automatically. No popup asking "Do you want to save?" No panic when KiCad crashes. Your notes survive your forgetting.

Built by someone who has lost notes too many times to admit. ๐Ÿ˜…


โœจ Features

Core (Stable)

Feature Function Status
Visual Editor Notion-like rich textโ€”bold, lists, headings โœ… Stable
Smart-Link Designators Click R1, U3, C5 โ†’ highlight on PCB โœ… Stable
Smart-Link Nets Click GND, VCC, SDA โ†’ highlight traces and pads โœ… Stable
Smart-Link Tooltips Hover over R1 โ†’ show Value, MPN, Layer โœ… Stable
Custom Prefixes Add your own designators (MOV, NTC, PTC, etc.) โœ… Stable
Auto-Save Never lose workโ€”saves on every change โœ… Stable
Dark/Light Mode Custom color schemes for both themes โœ… Stable
Import Metadata Pull BOM, stackup, board size into notes โœ… Stable
Export PDF Print-ready documentation โœ… Stable
Task List Simple todos that live with your project โœ… Stable
Time Tracking Per-task stopwatch with session history โœ… Stable
Export Diary Generate work-log summary for timesheets โœ… Stable
Session History Track when and how long you worked โœ… Stable
Keyboard Shortcuts Ctrl+B bold, Ctrl+I italic, Ctrl+S save โœ… Stable
Git-Friendly Storage Plain Markdown files version with your PCB โœ… Stable
Resizable Panel Drag to resize, remembers your preference โœ… Stable
High-DPI Support Sharp UI on 4K and Retina displays โœ… Stable
Crash Recovery Auto-backup prevents data loss โœ… Stable
100% Offline No internet, no cloud, no accounts ever โœ… Stable
Portable Projects Move folder = move everything โœ… Stable
Undo/Redo Full edit history in visual editor โœ… Stable
Settings Persistence Per-project preferences saved automatically โœ… Stable

Beta (Experimental)

Feature Function Status
Markdown Editor Mode Toggle between visual and raw markdown ๐Ÿงช Beta
BOM Tab Dedicated Bill of Materials generator ๐Ÿงช Beta
Version Log Tab Design revision tracking ๐Ÿงช Beta
Debug Panel Event logging for troubleshooting ๐Ÿงช Beta
Image Paste Ctrl+V to paste images โ†’ .kinotes/images/ ๐Ÿงช Beta
Fab Summary Import Import board fabrication info with selection ๐Ÿงช Beta

Planned

Feature Function Status
Slash Commands Type /rev, /date, /company for live KiCad data โœ… v1.5.2
KiCad Settings Sync Autosave interval syncs with KiCad preferences โœ… v1.5.2
Voice Input Add notes hands-free using local speech-to-text ๐Ÿ“‹ Planned

๐Ÿš€ Quick Start

Installation

Manual Installation

  1. Download the latest release from GitHub Releases
  2. Copy KiNotes/ folder to:
    • Windows: %APPDATA%\kicad\9.0\scripting\plugins\
    • macOS: ~/Library/Preferences/kicad/9.0/scripting/plugins/
    • Linux: ~/.config/kicad/9.0/scripting/plugins/
  3. Restart KiCad

โœ… KiCad Plugin Manager โ€” Available now! Search "KiNotes" in KiCad's Plugin Manager (Tools โ†’ Plugin and Content Manager).

First Use

  1. Open any PCB in pcbnew
  2. Click KiNotes button in toolbar (or Tools โ†’ External Plugins โ†’ KiNotes)
  3. Start writing

That's it. Notes auto-save. Links work immediately.


๐Ÿ“– The Story Behind KiNotes

Every hardware project starts with excitementโ€”that rush when a new board idea clicks into place. But somewhere between the first schematic and the final layout, things get messy. You're routing traces at 2 AM, chasing DRC errors, fixing the same footprint issue for the third time.

Here's what I noticed after years of PCB work: the projects that succeeded weren't always the most clever designs. They were the ones with clear notes. The ones where I could remember why I chose that capacitor value, or what test failed on Rev A.

KiNotes started as a simple text file I kept open next to KiCad. Nothing fancyโ€”just a scratch pad for design decisions. But I kept losing it, forgetting to save, opening the wrong version. The notes lived outside the project, and that was the problem.

So I built this. A notes panel that lives inside KiCad, saves automatically with your project, and stays out of your way until you need it. No cloud accounts, no sync conflicts, no friction.

The philosophy hasn't changed: a note written today saves hours tomorrow. A design decision documented now prevents the same argument six months later. It's not about being organizedโ€”it's about not repeating your own mistakes.

KiNotes is open source because good tools should be shared. If it helps you ship better boards, that's the goal.

Built for engineers who've learned that memory is unreliable, but good notes aren't.


๐Ÿ”ง Requirements

  • KiCad 9.0 (Python 3.9+, wxPython 4.2+)
  • Optional: reportlab โ€” for ๐Ÿ’พ PDF Export support โ—‹ ๐Ÿ“ Markdown (Plain text, lightweight) โ— ๐ŸŽจ Formatted (Preserves bold, italic, lists) โ„น๏ธ Formatted export requires 'reportlab'.
    pip install reportlab
    Without it, PDF export falls back to plain text format.

๐Ÿค Contributing

Contributions welcome! The codebase is modularโ€”small, focused files that are easy to understand and modify.

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

๐Ÿ’ Support This Project

If KiNotes helps you ship better boards, consider supporting its development:

Sponsor on GitHub

Your sponsorship helps cover development time and keeps the project actively maintained. Every contributionโ€”big or smallโ€”is deeply appreciated!


๐Ÿ“„ License

Apache License 2.0 โ€” free for personal and commercial use.

SPDX-License-Identifier: Apache-2.0


Built with โค๏ธ for hardware engineers who take notes