Circuit Sketcher

by Code Forge Temple
5
4
3
2
1
Score: 49/100

Description

Category: Creative & Writing Tools

The Circuit Sketcher plugin allows users to create and edit circuit diagrams directly within Obsidian. With a responsive canvas interface, it supports saving and loading designs, customizing circuit elements, and managing a reusable library of components. Users can easily connect nodes, add ports, and label elements for detailed circuit layouts.

Reviews

No reviews yet.

Stats

45
stars
7,738
downloads
0
forks
654
days
8
days
8
days
4
total PRs
3
open PRs
1
closed PRs
0
merged PRs
8
total issues
0
open issues
8
closed issues
11
commits

Latest Version

8 days ago

Changelog

What's new in 1.5.4

Circuit pictures on canvases and in Live Preview

  • Drop a .circuit-sketcher file onto a canvas, and its card now shows the circuit's picture, fitted to the card, instead of just the file name.
  • Circuits embedded in a note (![[my-circuit.circuit-sketcher]]) now show their picture in Live Preview too, not only in reading view.
  • The picture updates when you save changes to the circuit.
  • A circuit that doesn't have a picture yet shows its name and a hint to open it once; the picture is made when the circuit is opened and saved.
  • Clicking the picture opens the circuit, and Ctrl/Cmd+click opens it in a new tab. On a canvas, a single click selects the card as usual; the picture opens the circuit once the card is focused (double-click).

Zoom

  • The reset-and-center button in the bottom-right corner now shows four corners, like the "Zoom to fit" button of Obsidian's canvas.

Under the hood

  • Built with circuit-sketcher-core 1.6.4.
  • Canvas cards and Live Preview use a part of Obsidian that isn't officially documented. If a future Obsidian version changes it, those places go back to showing the file name; reading view isn't affected.

Previous releases

1.5.3

Save As Image

  • Right-click the canvas → Save As Image (below Import Node) saves the whole circuit as circuit.png: the entire circuit at 100% on a transparent background, whatever part of it is in view. It's the same picture shown when the circuit is embedded in a note.
  • The item is greyed out while the canvas is empty.

Easier to read when zoomed out

  • The background dots fade as you zoom out, so they no longer drown the circuit. At 100% and zoomed in they look as before.

Fixes

  • Dragging a wire's end handle at the moment the circuit was being saved (about two seconds after a change) could break the canvas. From then on drags didn't finish: a dragged port could be left away from its node with a dashed line, ports stayed oversized, and later changes weren't saved. This no longer happens.
  • Letting go of a drag outside the canvas (over the zoom buttons, the sidebar, or outside the window) now ends the drag. Before, the wire or node you dragged stayed faded, and could be saved that way.
  • Wires and nodes saved faded like this look normal again when the circuit is opened; the file is corrected at your next edit.

Under the hood

  • Built with circuit-sketcher-core 1.6.3.

1.5.2

Settings

  • The settings tab now uses Obsidian's own section headings, and no longer opens with a heading repeating the plugin's name (Obsidian already shows it as the tab title).

Reliability

  • If saving the component library, saving a circuit's embed image, or loading a circuit fails, the plugin now says so in the developer console instead of failing silently.

Under the hood

  • Cleaned up to follow Obsidian's plugin guidelines: Obsidian's DOM helpers, timers that also work in pop-out windows, debug-only logging, and stricter code checks.
  • Built with circuit-sketcher-core 1.6.2.

1.5.1

Fix

  • Zooming or panning no longer reshapes hand-routed wires or leaves diagonal segments that don't end on their ports. Every wire now keeps exactly its shape, and stays routed by hand or automatically as it was.
  • A circuit saved with such broken wires in 1.5.0 has them redrawn attached to their ports when it is opened again.

1.5.0

Organize your component library

  • New Manage Library dialog: right-click the canvas → Library... → Manage Library...
    • Create groups and subgroups, and drag components and groups between them.
    • Rename or delete components and groups. Deleting a group keeps its components; they move up one level.
    • Import... a library or node file into any group; Export... a single component, a group, or the whole library.
  • Groups appear as submenus under Library....
  • Component names only need to be unique within their group.
  • Import Library and Export Library have moved from the right-click menu into the dialog (Import... / Export... on the Library row).

Default component library with Sync

  • A built-in, read-only default group. Sync... on it downloads the latest components from circuit-sketcher-lib and replaces what is in default.
  • To change a default component, place it on the canvas, edit it and use Save Node to Library: your copy is saved outside default, so a later Sync won't overwrite it.
  • Sync is the only time the plugin goes online, and only when you press it.

Rotate nodes

  • Right-click a node → Rotate → 90° Clockwise or 90° Counterclockwise. The image, ports and port labels turn with it, its wires are routed again, and one undo turns it back.

Zoom

  • Zoom with the mouse wheel (around the pointer), or with the new + / − buttons in the bottom-right corner. The square button below them goes back to 100% and centers the circuit.
  • The zoom is saved with the file, so a circuit opens as you left it.
  • The background dots scale and move with zooming and panning.

Fixes and improvements

  • Obsidian no longer freezes after a circuit has been left open for a while.
  • Fixed a case where a circuit could be saved empty if Obsidian saved it while its view was closing or still loading.
  • Resizing the pane or the window keeps your selection and undo history.
  • A click with a slight mouse movement now stays a click: clicking elsewhere reliably deselects nodes and wires, and parts no longer shift by a pixel or two.
  • Right-click menus no longer flash and close on macOS (#7).
  • Circuit images embedded in notes always show the whole circuit at actual size, whatever the zoom or pan. Parts panned out of view are no longer cut off, ports keep their colour, and the image is only re-created when the circuit changes.
  • Panning with the middle mouse button is smoother on large circuits.

Compatibility

  • Existing circuits and libraries open as before, and library or node files from earlier versions import as before.
  • A circuit saved at a zoom other than 100% contains one extra entry. Earlier plugin versions skip it (with a console error) and open the circuit at 100%; they also show rotated nodes with an unrotated image.

Older releases

See the full release list.

README file from

Github

Circuit Sketcher - Obsidian Plugin

A plugin for Obsidian to draw circuits on a canvas. It is based on the code-forge-temple/circuit-sketcher-core.

⭐️ Love this project? Please consider starring the repository on GitHub and supporting development to help me continue building amazing features!

License: GPL v3

TypeScript React Obsidian Webpack Sass ESLint GitHub Actions

Circuit Sketcher Downloads

Table of Contents

Features

  • Draw and edit circuit diagrams directly within Obsidian.
  • Save and load circuit designs.
  • Customizable component library, organized in groups and subgroups, with the published components one Sync... away.
  • Rotate circuit nodes, zoom and pan the canvas.
  • Save the whole circuit as a PNG image.
  • Responsive design with automatic resizing.
  • Embed circuit diagrams in notes and canvases: Reference .circuit-sketcher files in your notes (e.g., by dragging and dropping the file into a note), or drop them onto a canvas. An image of the circuit is displayed automatically: in reading view, in Live Preview and on canvas cards.

Installation

  1. Open Obsidian and go to Settings ⇒ Community Plugins ⇒ Browse.
  2. Search for Circuit Sketcher.
  3. Select the Circuit Sketcher plugin and press Install, then press Enable.

or

  1. Open Community Plugins Page in browser.
  2. Select Install, then press Enable.

Usage

  1. Use the ribbon icon, command palette, or right-click on a target folder in the file explorer and select Create new Circuit Sketcher file to create a new circuit sketcher file.
  2. Start drawing your circuit on the canvas:
    • On the canvas, right-click to show the canvas menu, and select Create Node.
    • Right-click on the node to show the node menu, select Change Image, and choose an image relevant to your circuit node.
    • Right-click on the node to show the node menu, select Add Port..., and choose the port location and type.
    • You can rename the circuit node label or port label by double-clicking on the label. The port or port label can also be deleted (right-click on the port to show the port menu and proceed from there).
    • You can relocate ports, either to a different node side or rearrange the ports on the same side, by dragging and dropping the port to the desired location within the dotted blue area.
    • You can rotate a circuit node by right-clicking on it and selecting Rotate, then 90° Clockwise or 90° Counterclockwise. Its ports turn with it and its connections are routed again.
    • After you are satisfied with your changes to the circuit node, and if you wish to save the circuit node to reuse it in the current or a different .circuit-sketcher file, you can right-click on the circuit node and press Save Node to Library (this will update the vault's .circuit-sketcher/circuit-sketcher.lib file).
    • You can reuse the node by right-clicking on the canvas and selecting Library..., then the desired node (nodes in a group are in that group's submenu).
    • To organize the library, right-click on the canvas and select Library... -> Manage Library.... There you can create groups and subgroups (New subgroup), drag nodes and groups into other groups, rename or delete them (deleting a group keeps its nodes: they move up a level), Import... a library or node file into any group, and Export... a node, a group or the whole library. The default group is read-only and only offers Sync... (see Component Library).
    • Connections between circuit nodes can be made by dragging and dropping one port to the destination port (if it is a compatible port). You can delete a connection by selecting it and then pressing the Delete key.
    • You can drag the entire circuit by holding the mouse scroll button and moving the mouse.
    • You can zoom with the mouse wheel (around the mouse pointer), or with the + and - buttons in the bottom-right corner of the canvas. The square button below them goes back to 100% and centers the circuit. The zoom is saved with the file.
    • To save the whole circuit as a picture, right-click on the canvas and select Save As Image. You get circuit.png: the entire circuit at 100% on a transparent background, whatever part of it is in view.

A short video tutorial on how to use the plugin:

Component Library

To help you get started with Circuit Sketcher, we provide a curated library of circuit components at circuit-sketcher-lib.

Quick Start with Pre-built Components

Sync the default library (quickest):

  • Right click on canvas to show the menu, then Library... -> Manage Library... -> Sync... on the default group. It downloads the latest components from circuit-sketcher-lib into default; press Sync... again any time to pick up new ones.
  • default is read-only: every sync replaces its content. To change one of its components, place it on the canvas, edit it and use Save Node to Library - your version is saved outside default.
  • Network use: this is the only time the plugin goes online. Sync... downloads library.json from GitHub; nothing is ever uploaded.

Import the entire library:

  • Download the complete component library: library.json
  • Import it directly into Circuit Sketcher to get access to all available components (right click on canvas to show the menu, then Library... -> Manage Library... -> Import... on the Library row, or on any group to import into that group)

Import individual components:

  • Browse individual components: assets/nodes
  • Download specific .json files for the components you need
  • Import them one by one into your Circuit Sketcher workspace (right click on canvas to show the menu, then Import Node)

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.

✨ My Other Projects

✦ Agentic Signal – Visual AI agent workflow automation platform with local LLM integration - build intelligent workflows using drag-and-drop interface, no cloud dependencies required.

✦ ScribePal - An Open Source intelligent browser extension that leverages AI to empower your web experience by providing contextual insights, efficient content summarization, and seamless interaction while you browse.

✦ Local LLM NPC An interactive educational game built for the Google Gemma 3n Impact Challenge.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Canvas Presentation
4 years ago by Boninall
A plugin to help you display cards based on sequence.
Canvas Random Note
4 years ago by jmilldotdev
Random notes from search on the Obsidian canvas
Canvas Conversation
4 years ago by André Baltazar
A plugin for Obsidian that allows you to create a canvas conversation using ChatGPT.
Canvas Mindmap
4 years ago by Boninall
A plugin to make your canvas work like a mindmap.
Link Exploder
4 years ago by Ben Hughes
Canvas Filter
4 years ago by Ivan Koshelev
Obsidian Canvas plugin that let's you show only pages / arrows with specific tags / colors / connections.
Optimize Canvas Connections
4 years ago by Félix Chénier
An Obsidian plugin that declutters a canvas by reconnecting notes using their nearest edges
Canvas Links
3 years ago by aqav
Show the links between "Canvas" and "File"
Simple CanvaSearch
3 years ago by ddalexb
Index Checker
3 years ago by Pavlo Deshko
Repo for Index Checker plugin for Obsidian
Lovely-Mindmap
3 years ago by shaun
Build your own knowledge graph with smiles :-)
Canvas Send to Back
3 years ago by Zachatoo
Send a card in Obsidian Canvas to be behind all other cards.
Collapse Node
3 years ago by Boninall
A node collapsing plugin for Canvas in Obsidian.
Canvas LLM Extender
3 years ago by Pasi Saarinen
Let the OpenAI LLM add nodes to your Obsidian canvas
Better Canvas Lock
3 years ago by Mara-Li
An Obsidian plugin that improve the read-only mode of Canvas.
Canvas Card Background Remover
3 years ago by luxmargos
This Obsidian plugin allows you to make the background of cards transparent in the Canvas for specific embed types, including Image (png), Canvas, and even Markdown.
Canvas Daily Note
3 years ago by Andrew McGivery
A plugin for Obsidian that allows you to add a daily note node to the canvas that will always show todays note.
CardNote
3 years ago by cycsd
Help you extract your thoughts more quickly in canvas
Canvas Link Optimizer
3 years ago by khaelar
An Obsidian plugin that optimizes canvas links by displaying a page thumbnail.
Augmented Canvas
3 years ago by Léopold Szabatura
Supercharge your Obsidian canvas experience with AI features.
Canvas Mindmap Helper
3 years ago by Tim Smart
Advanced Canvas
3 years ago by Developer-Mike
⚡ Supercharge your canvas experience! Graph view integration and unlimited styling options empower flowcharts, dynamic presentations, and interconnected knowledge.
Crafty
3 years ago by liolle
Add tooltip to your obsidian canvas's nodes and navigate between nodes
Canvas minimap
3 years ago by ifree
Obsidian canvas minimap
Semantic Canvas
3 years ago by Aaron Gillespie
An Obsidian Plugin to update note properties using links on Canvases
Canvas2Document
3 years ago by slnsys
Plugin for Obsidian to convert a complete Canvas to a long form document
Search In Canvas
2 years ago by Boninall
Node Auto Resize
2 years ago by Boninall
Caret
2 years ago by Jake Colling
Caret, an Obsidian Plugin
Canvas Picture in Picture
2 years ago by hypersphere
Canvas Explorer
2 years ago by Henri Jamet
A plugin that enables users to explore their vault by iteratively adding or ignoring linked notes, ultimately generating a customizable canvas that visually represents the preserved notes and their connections.
PlantUML
6 years ago by Johannes Theiner
Generate PlantUML Diagrams inside Obsidian.md
Excalidraw
6 years ago by Zsolt Viczian
A plugin to edit and view Excalidraw drawings in Obsidian
Folder Canvas
2 years ago by Nancy Lee
Generate a canvas view of your folder structure
Enhanced Canvas
2 years ago by RobertttBS
When editing on Canvas, properties and Markdown links to notes are automatically updated, enabling backlinks in Canvas.
Attachments MD Indexer
2 years ago by Ian Inkov
Converts Obsidian canvas files to markdown index files, making canvas content searchable and graph-viewable within Obsidian.
Canvas Format Brush
2 years ago by wenlzhang
An Obsidian plugin that allows you to copy and paste formatting attributes (size and color) between canvas elements, similar to the format painter in Word.
Canvas Connect
a year ago by camadkins
Dynamically optimize connection anchors in Obsidian Canvas view
Timeline Canvas Creator
a year ago by chris-codes1
Quickly create timeline structured canvases in Obsidian.
Send to Canvas
a year ago by wenlzhang
An Obsidian plugin that allows you to send tasks, blocks, and notes to Canvas files as plain text, links, and embeds.
Canvas Link to Group
a year ago by TGRRRR
Plugin for Obsidian Canvas enabling direct links to specific groups within canvas files for improved navigation
Breadcrumbs
5 months ago by skepticmystic
Add typed-links to your Obsidian notes
draw.io
5 months ago by somesanity
A plugin for Obsidian that integrates the draw.io editor into Obsidian.
Charted Roots
4 months ago by John Banister
Professional genealogical tools for Obsidian. Interactive family charts, geographic maps, PDF reports, GEDCOM/Gramps import-export, evidence tracking, and fictional calendar support. Built for genealogists, historians, and worldbuilders.
Galaxy View
3 months ago by Rick
Discourse Graph
3 months ago by discoursegraphs
Canvas Bases
3 months ago by callumalpass
Canvas-style layouts and JSON Canvas materialization for Obsidian Bases.
Tabula Rasa
3 months ago by Jeremiah Beatham
Canvas Folding
2 months ago by hkohlhoff
Collapse and expand hierarchical branches in Obsidian Canvas.
ICOR for Life - PDF Annotation
2 months ago by Thomas Roedl
Highlight text or draw a box on a PDF and get a note in the vault for it, with a deep link back, a card on any canvas by drag and drop, and a sidebar of every highlight in the open PDF. Part of the ICOR for Life suite.
Mappy
a month ago by hiroyaiizuka
An Obsidian plugin to view and edit Markdown notes as linked, illustrated mind maps.