├── .gitignore ├── PCM └── Schematic_Block_Plugin_v0.1.zip ├── PythonTest ├── schematic_blocks_pluging_action_v4.py └── schematic_blocks_pluging_action_v5.py ├── README.md ├── Sample_Blocks ├── 12V Power In Circuit.kicad_pack ├── 7805 power circuit.kicad_pack └── Capacitor Line 0805.kicad_pack ├── assets ├── install.png ├── launcher.png ├── logo.png └── ss.png ├── metadata.json ├── plugins ├── __init__.py ├── icon.png └── schematic_blocks_pluging_action.py └── resources └── icon.png /.gitignore: -------------------------------------------------------------------------------- 1 | *.ini -------------------------------------------------------------------------------- /PCM/Schematic_Block_Plugin_v0.1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/802e16b5631c68acc901331c2c6fff90d9cc1c54/PCM/Schematic_Block_Plugin_v0.1.zip -------------------------------------------------------------------------------- /PythonTest/schematic_blocks_pluging_action_v4.py: -------------------------------------------------------------------------------- 1 | import wx 2 | import os 3 | import subprocess 4 | import platform 5 | import shutil 6 | import configparser 7 | 8 | class SchematicBlockSaverPlugin(wx.App): 9 | def OnInit(self): 10 | self.frame = SchematicBlockSaverFrame(None, title="Schematic Block Saver",size=(400, 600)) 11 | self.SetTopWindow(self.frame) 12 | self.frame.Show() 13 | return True 14 | 15 | class SchematicBlockSaverFrame(wx.Frame): 16 | def __init__(self, *args, **kwargs): 17 | super(SchematicBlockSaverFrame, self).__init__(*args, **kwargs) 18 | 19 | self.InitUI() 20 | 21 | def InitUI(self): 22 | 23 | self.Bind(wx.EVT_CLOSE, self.OnExit) 24 | load_config() 25 | 26 | panel = wx.Panel(self) 27 | 28 | vbox = wx.BoxSizer(wx.VERTICAL) 29 | 30 | label1 = wx.StaticText(panel, label="Enter Schematic Block name:") 31 | vbox.Add(label1, flag=wx.TOP | wx.LEFT | wx.RIGHT, border=10) 32 | 33 | self.filename_input = wx.TextCtrl(panel) 34 | vbox.Add(self.filename_input, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 35 | 36 | save_button = wx.Button(panel, label="Save Block") 37 | vbox.Add(save_button, flag=wx.EXPAND | wx.ALL, border=10) 38 | 39 | label2 = wx.StaticText(panel, label="Select a .kicad_pack file to import:") 40 | vbox.Add(label2, flag=wx.TOP | wx.LEFT | wx.RIGHT, border=10) 41 | 42 | self.search_bar = wx.SearchCtrl(panel, style=wx.TE_PROCESS_ENTER) 43 | vbox.Add(self.search_bar, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 44 | 45 | self.file_list = wx.ListBox(panel) 46 | vbox.Add(self.file_list, proportion=1, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 47 | 48 | import_button = wx.Button(panel, label="Import Selected Block to Clipboard") 49 | vbox.Add(import_button, flag=wx.EXPAND | wx.ALL, border=10) 50 | 51 | import_to_dir_button = wx.Button(panel, label="Import Block") 52 | vbox.Add(import_to_dir_button, flag=wx.EXPAND | wx.ALL, border=10) 53 | 54 | dir_button = wx.Button(panel, label="Change Working Directory") 55 | vbox.Add(dir_button, flag=wx.EXPAND | wx.ALL, border=10) 56 | 57 | open_dir_button = wx.Button(panel, label="Open Working Directory") 58 | vbox.Add(open_dir_button, flag=wx.EXPAND | wx.ALL, border=10) 59 | 60 | delete_button = wx.Button(panel, label="Delete Selected Block") 61 | delete_button.SetForegroundColour(wx.Colour(255, 0, 0)) # Set text color to red 62 | vbox.Add(delete_button, flag=wx.EXPAND | wx.ALL, border=10) 63 | 64 | 65 | 66 | panel.SetSizer(vbox) 67 | 68 | save_button.Bind(wx.EVT_BUTTON, self.OnSave) 69 | import_button.Bind(wx.EVT_BUTTON, self.OnImport) 70 | import_to_dir_button.Bind(wx.EVT_BUTTON, self.OnImportToDirectory) 71 | dir_button.Bind(wx.EVT_BUTTON, self.OnChangeDirectory) 72 | open_dir_button.Bind(wx.EVT_BUTTON, self.OnOpenDirectory) 73 | delete_button.Bind(wx.EVT_BUTTON, self.OnDeleteFile) 74 | self.search_bar.Bind(wx.EVT_TEXT, self.OnSearch) 75 | self.search_bar.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.OnCancelSearch) 76 | 77 | self.UpdateFileList() 78 | 79 | def OnExit(self, event): 80 | save_config() 81 | self.Destroy() 82 | 83 | 84 | def UpdateFileList(self, search_text=""): 85 | kicad_pack_files = [filename for filename in os.listdir() if filename.endswith(".kicad_pack")] 86 | if search_text: 87 | kicad_pack_files = [filename for filename in kicad_pack_files if search_text.lower() in filename.lower()] 88 | display_files = [f"📦 {filename}" for filename in kicad_pack_files] 89 | self.file_list.Set(display_files) 90 | 91 | def OnSearch(self, event): 92 | search_text = self.search_bar.GetValue() 93 | self.UpdateFileList(search_text) 94 | 95 | def OnCancelSearch(self, event): 96 | self.search_bar.SetValue("") 97 | self.UpdateFileList() 98 | 99 | def OnSave(self, event): 100 | filename = self.filename_input.GetValue() 101 | if filename: 102 | clipboard = wx.Clipboard.Get() 103 | clipboard.Open() 104 | data = wx.TextDataObject() 105 | clipboard.GetData(data) 106 | clipboard.Close() 107 | 108 | clipboard_text = data.GetText() 109 | 110 | if clipboard_text: 111 | if not filename.endswith(".kicad_pack"): 112 | filename += ".kicad_pack" 113 | packed_data = f"packSch:[{clipboard_text}]" 114 | with open(filename, "w") as file: 115 | file.write(packed_data) 116 | wx.MessageBox("Clipboard content saved successfully as a Block!", "Success") 117 | self.UpdateFileList() 118 | self.filename_input.Clear() 119 | else: 120 | wx.MessageBox("Clipboard is empty!", "Error") 121 | else: 122 | wx.MessageBox("Please enter a valid Block name.", "Error") 123 | 124 | def OnImport(self, event): 125 | selected_file = self.file_list.GetStringSelection()[2:] 126 | if selected_file: 127 | with open(selected_file, "r") as file: 128 | file_content = file.read() 129 | start = file_content.find("[") + 1 130 | end = file_content.rfind("]") 131 | if start != -1 and end != -1: 132 | clipboard_text = file_content[start:end] 133 | clipboard = wx.Clipboard.Get() 134 | clipboard.Open() 135 | data = wx.TextDataObject(clipboard_text) 136 | clipboard.SetData(data) 137 | clipboard.Close() 138 | wx.MessageBox("Block content imported to clipboard!", "Success") 139 | else: 140 | wx.MessageBox("Invalid file format.", "Error") 141 | else: 142 | wx.MessageBox("Please select a Block to import.", "Error") 143 | 144 | def OnChangeDirectory(self, event): 145 | dialog = wx.DirDialog(self, "Choose a directory:", style=wx.DD_DEFAULT_STYLE | wx.DD_DIR_MUST_EXIST) 146 | if dialog.ShowModal() == wx.ID_OK: 147 | new_directory = dialog.GetPath() 148 | os.chdir(new_directory) 149 | self.UpdateFileList() 150 | save_config() 151 | dialog.Destroy() 152 | 153 | def OnOpenDirectory(self, event): 154 | # current_directory = os.getcwd()+'/' 155 | # #print("+++++++++" + current_directory) 156 | # subprocess.Popen(["xdg-open", current_directory]) # Open directory in file explorer 157 | current_directory = os.getcwd() 158 | if platform.system() == "Windows": 159 | subprocess.Popen(["explorer", current_directory]) # Open directory in file explorer (Windows) 160 | elif platform.system() == "Darwin": 161 | subprocess.Popen(["open", current_directory]) # Open directory in Finder (macOS) 162 | else: # Assuming it's Linux or other Unix-like OS 163 | subprocess.Popen(["xdg-open", current_directory]) # Open directory in default file manager (Linux) 164 | 165 | 166 | def OnDeleteFile(self, event): 167 | selected_file = self.file_list.GetStringSelection() 168 | if selected_file: 169 | selected_file = selected_file.replace("📦 ", "") # Remove the 📦 character 170 | try: 171 | os.remove(selected_file) 172 | wx.MessageBox("File deleted successfully!", "Success") 173 | self.UpdateFileList() 174 | except Exception as e: 175 | wx.MessageBox(f"Error deleting file: {str(e)}", "Error") 176 | else: 177 | wx.MessageBox("Please select a file to delete.", "Error") 178 | 179 | def OnImportToDirectory(self, event): 180 | dialog = wx.FileDialog(self, "Select a .kicad_pack file to import:", style=wx.FD_OPEN) 181 | if dialog.ShowModal() == wx.ID_OK: 182 | source_file = dialog.GetPath() 183 | filename = os.path.basename(source_file) 184 | new_file_path = os.path.join(os.getcwd(), filename) 185 | try: 186 | shutil.copy(source_file, new_file_path) 187 | wx.MessageBox("File imported to current directory successfully!", "Success") 188 | self.UpdateFileList() 189 | except Exception as e: 190 | wx.MessageBox(f"Error importing file: {str(e)}", "Error") 191 | dialog.Destroy() 192 | 193 | def load_config(): 194 | config = configparser.ConfigParser() 195 | config_file_path = os.path.join(os.path.dirname(__file__), "config.ini") # Use absolute path 196 | config.read(config_file_path) 197 | if "General" in config: 198 | os.chdir(config["General"]["WorkingDirectory"]) 199 | 200 | def save_config(): 201 | config = configparser.ConfigParser() 202 | config["General"] = {"WorkingDirectory": os.getcwd()} 203 | config_file_path = os.path.join(os.path.dirname(__file__), "config.ini") # Use absolute path 204 | with open(config_file_path, "w") as configfile: 205 | config.write(configfile) 206 | 207 | if __name__ == "__main__": 208 | app = SchematicBlockSaverPlugin(False) 209 | app.MainLoop() 210 | -------------------------------------------------------------------------------- /PythonTest/schematic_blocks_pluging_action_v5.py: -------------------------------------------------------------------------------- 1 | import wx 2 | import os 3 | import subprocess 4 | import platform 5 | import shutil 6 | import configparser 7 | 8 | 9 | class ClipboardSaverApp(wx.App): 10 | def OnInit(self): 11 | self.frame = ClipboardSaverFrame(None, title="Clipboard Saver",size=(400, 600)) 12 | self.SetTopWindow(self.frame) 13 | self.frame.Show() 14 | return True 15 | 16 | class ClipboardSaverFrame(wx.Frame): 17 | def __init__(self, *args, **kwargs): 18 | super(ClipboardSaverFrame, self).__init__(*args, **kwargs) 19 | 20 | self.InitUI() 21 | 22 | def InitUI(self): 23 | 24 | self.Bind(wx.EVT_CLOSE, self.OnExit) 25 | load_config() 26 | 27 | panel = wx.Panel(self) 28 | 29 | vbox = wx.BoxSizer(wx.VERTICAL) 30 | 31 | label1 = wx.StaticText(panel, label="Enter file name:") 32 | vbox.Add(label1, flag=wx.TOP | wx.LEFT | wx.RIGHT, border=10) 33 | 34 | self.filename_input = wx.TextCtrl(panel) 35 | vbox.Add(self.filename_input, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 36 | 37 | save_button = wx.Button(panel, label="Save Clipboard to .kicad_pack") 38 | vbox.Add(save_button, flag=wx.EXPAND | wx.ALL, border=10) 39 | 40 | label2 = wx.StaticText(panel, label="Select a .kicad_pack file to import:") 41 | vbox.Add(label2, flag=wx.TOP | wx.LEFT | wx.RIGHT, border=10) 42 | 43 | self.search_bar = wx.SearchCtrl(panel, style=wx.TE_PROCESS_ENTER) 44 | vbox.Add(self.search_bar, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 45 | 46 | self.file_list = wx.ListBox(panel) 47 | vbox.Add(self.file_list, proportion=1, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 48 | 49 | import_button = wx.Button(panel, label="Import Selected File to Clipboard") 50 | vbox.Add(import_button, flag=wx.EXPAND | wx.ALL, border=10) 51 | 52 | import_to_dir_button = wx.Button(panel, label="Import to Current Directory") 53 | vbox.Add(import_to_dir_button, flag=wx.EXPAND | wx.ALL, border=10) 54 | 55 | dir_button = wx.Button(panel, label="Change Working Directory") 56 | vbox.Add(dir_button, flag=wx.EXPAND | wx.ALL, border=10) 57 | 58 | open_dir_button = wx.Button(panel, label="Open Working Directory") 59 | vbox.Add(open_dir_button, flag=wx.EXPAND | wx.ALL, border=10) 60 | 61 | delete_button = wx.Button(panel, label="Delete Selected File") 62 | delete_button.SetForegroundColour(wx.Colour(255, 0, 0)) # Set text color to red 63 | vbox.Add(delete_button, flag=wx.EXPAND | wx.ALL, border=10) 64 | 65 | 66 | 67 | panel.SetSizer(vbox) 68 | 69 | save_button.Bind(wx.EVT_BUTTON, self.OnSave) 70 | import_button.Bind(wx.EVT_BUTTON, self.OnImport) 71 | import_to_dir_button.Bind(wx.EVT_BUTTON, self.OnImportToDirectory) 72 | dir_button.Bind(wx.EVT_BUTTON, self.OnChangeDirectory) 73 | open_dir_button.Bind(wx.EVT_BUTTON, self.OnOpenDirectory) 74 | delete_button.Bind(wx.EVT_BUTTON, self.OnDeleteFile) 75 | self.search_bar.Bind(wx.EVT_TEXT, self.OnSearch) 76 | self.search_bar.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.OnCancelSearch) 77 | 78 | self.UpdateFileList() 79 | 80 | def OnExit(self, event): 81 | save_config() 82 | self.Destroy() 83 | 84 | 85 | def UpdateFileList(self, search_text=""): 86 | kicad_pack_files = [filename for filename in os.listdir() if filename.endswith(".kicad_pack")] 87 | if search_text: 88 | kicad_pack_files = [filename for filename in kicad_pack_files if search_text.lower() in filename.lower()] 89 | display_files = [f"📦 {filename}" for filename in kicad_pack_files] 90 | 91 | self.file_list.Set(display_files) 92 | self.file_list.Set(display_files) 93 | # print(display_files) 94 | # print(self.file_list.GetStrings()) 95 | 96 | def OnSearch(self, event): 97 | search_text = self.search_bar.GetValue() 98 | self.UpdateFileList(search_text) 99 | 100 | def OnCancelSearch(self, event): 101 | self.search_bar.SetValue("") 102 | self.UpdateFileList() 103 | 104 | def OnSave(self, event): 105 | filename = self.filename_input.GetValue() 106 | if filename: 107 | clipboard = wx.Clipboard.Get() 108 | clipboard.Open() 109 | data = wx.TextDataObject() 110 | clipboard.GetData(data) 111 | clipboard.Close() 112 | 113 | clipboard_text = data.GetText() 114 | 115 | if clipboard_text: 116 | if not filename.endswith(".kicad_pack"): 117 | filename += ".kicad_pack" 118 | packed_data = f"packSch:[{clipboard_text}]" 119 | with open(filename, "w") as file: 120 | file.write(packed_data) 121 | wx.MessageBox("Clipboard content saved successfully!", "Success") 122 | self.UpdateFileList() 123 | else: 124 | wx.MessageBox("Clipboard is empty!", "Error") 125 | else: 126 | wx.MessageBox("Please enter a valid file name.", "Error") 127 | 128 | def OnImport(self, event): 129 | selected_file = self.file_list.GetStringSelection()[2:] 130 | if selected_file[-1] != 'k': 131 | selected_file = selected_file + 'k' 132 | if selected_file: 133 | with open(selected_file, "r") as file: 134 | file_content = file.read() 135 | start = file_content.find("[") + 1 136 | end = file_content.rfind("]") 137 | if start != -1 and end != -1: 138 | clipboard_text = file_content[start:end] 139 | clipboard = wx.Clipboard.Get() 140 | clipboard.Open() 141 | data = wx.TextDataObject(clipboard_text) 142 | clipboard.SetData(data) 143 | clipboard.Close() 144 | #wx.MessageBox("File content imported to clipboard!", "Success") 145 | else: 146 | wx.MessageBox("Invalid file format.", "Error") 147 | else: 148 | wx.MessageBox("Please select a file to import.", "Error") 149 | 150 | def OnChangeDirectory(self, event): 151 | dialog = wx.DirDialog(self, "Choose a directory:", style=wx.DD_DEFAULT_STYLE | wx.DD_DIR_MUST_EXIST) 152 | if dialog.ShowModal() == wx.ID_OK: 153 | new_directory = dialog.GetPath() 154 | os.chdir(new_directory) 155 | self.UpdateFileList() 156 | save_config() 157 | dialog.Destroy() 158 | 159 | def OnOpenDirectory(self, event): 160 | # current_directory = os.getcwd()+'/' 161 | # #print("+++++++++" + current_directory) 162 | # subprocess.Popen(["xdg-open", current_directory]) # Open directory in file explorer 163 | current_directory = os.getcwd() 164 | if platform.system() == "Windows": 165 | subprocess.Popen(["explorer", current_directory]) # Open directory in file explorer (Windows) 166 | elif platform.system() == "Darwin": 167 | subprocess.Popen(["open", current_directory]) # Open directory in Finder (macOS) 168 | else: # Assuming it's Linux or other Unix-like OS 169 | subprocess.Popen(["xdg-open", current_directory]) # Open directory in default file manager (Linux) 170 | 171 | 172 | def OnDeleteFile(self, event): 173 | selected_file = self.file_list.GetStringSelection() 174 | if selected_file[-1] != 'k': 175 | selected_file = selected_file + 'k' 176 | if selected_file: 177 | selected_file = selected_file.replace("📦 ", "") # Remove the 📦 character 178 | try: 179 | os.remove(selected_file) 180 | wx.MessageBox("File deleted successfully!", "Success") 181 | self.UpdateFileList() 182 | except Exception as e: 183 | wx.MessageBox(f"Error deleting file: {str(e)}", "Error") 184 | else: 185 | wx.MessageBox("Please select a file to delete.", "Error") 186 | 187 | def OnImportToDirectory(self, event): 188 | dialog = wx.FileDialog(self, "Select a .kicad_pack file to import:", style=wx.FD_OPEN) 189 | if dialog.ShowModal() == wx.ID_OK: 190 | source_file = dialog.GetPath() 191 | filename = os.path.basename(source_file) 192 | new_file_path = os.path.join(os.getcwd(), filename) 193 | try: 194 | shutil.copy(source_file, new_file_path) 195 | wx.MessageBox("File imported to current directory successfully!", "Success") 196 | self.UpdateFileList() 197 | except Exception as e: 198 | wx.MessageBox(f"Error importing file: {str(e)}", "Error") 199 | dialog.Destroy() 200 | 201 | def load_config(): 202 | config = configparser.ConfigParser() 203 | config_file_path = os.path.join(os.path.dirname(__file__), "config.ini") # Use absolute path 204 | config.read(config_file_path) 205 | if "General" in config: 206 | os.chdir(config["General"]["WorkingDirectory"]) 207 | 208 | def save_config(): 209 | config = configparser.ConfigParser() 210 | config["General"] = {"WorkingDirectory": os.getcwd()} 211 | config_file_path = os.path.join(os.path.dirname(__file__), "config.ini") # Use absolute path 212 | with open(config_file_path, "w") as configfile: 213 | config.write(configfile) 214 | 215 | if __name__ == "__main__": 216 | app = ClipboardSaverApp(False) 217 | app.MainLoop() 218 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Buy Me A Coffee 3 | 4 | ![PLATFORM](https://img.shields.io/badge/PLATFORM-KiCAD-informational?style=for-the-badge&?link=https://www.kicad.org/=https://www.kicad.org/) ![Version](https://img.shields.io/badge/Version-v0.1-success?style=for-the-badge) ![Downloads](https://img.shields.io/github/downloads/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/total?style=for-the-badge&color=blueviolet) 5 | 6 | ![Logo](./assets/logo.png) 7 | 8 | # KiCAD Schematic Blocks Plug-In 9 | 10 | A plug-in can be used to save circuits as blocks. Then these circuit blocks can be reused in different projects. This plug-in aims to reduce schematic drawing time significantly. 11 | 12 | ## Quick Start 13 | 14 | To create a schematic block, first, select the circuit and copy it to the clipboard (Ctrl+C). Then open up the plug-in and give it a name by writing it in the text field at the top. Click the “Save Block” Button to save it in the working directory. If you want to change the working directory, you can click the “Change Working Directory” button. All the blocks are saved in the working directory. Also, all the blocks in that directory will be listed in the List box. 15 | 16 | To import a Schematic Block to the project, first, select the Block in the plugin and click “Import Selected Block to Clipboard”. Go to the schematic and paste it on the sheet. 17 | 18 | ## How to Install 19 | 20 | ![Install](./assets/install.png) 21 | 22 | KiCAD Schematic Block Plug-In can be installed through KiCAD 📦PCM. Open PCM and search for the “Schematic Blocks Plug-in” in the Plugins section. Then press install. To apply the changes, click the “Apply Pending Changes Button” at the bottom. 23 | 24 | ## Instructions for Use 25 | 26 | To launch the plug-in go to PCB Editor and press the following icon. 27 | ![Launch](./assets/launcher.png) 28 | 29 | 30 | This will open a window as follows, This window is used to save and reuse the schematic blocks. 31 | 32 | ![Screen Shot](./assets/ss.png) 33 | 34 | As a first step, it is recommended to create a working folder on the computer to store all the schematic blocks. After creating a working folder, click the **“Change Working Directory“** button. Then navigate to the newly created folder and click Open. Now all the blocks created are saved in this folder. 35 | 36 | To create a schematic block, first, select the circuit in the schematic editor that you need to save as a block. Copy it to the clipboard by pressing Ctrl+C or by right-clicking and clicking the copy option. 37 | 38 | Secondly, open the plug-in, and give a block a name. You can write it in the **“Enter Schematic Block Name”** section at the top. Then press **“Save Block”** to save it. Now that circuit part you copied to the clipboard will save as a ***.kicad_pack*** file in the working directory. 39 | 40 | Like this, you can save as many blocks as possible. When you need to import a circuit block into a schematic, select it from the List box and click the **“Import Selected Block to Clipboard”** button. Then, paste it on the schematic. 41 | 42 | ## ⚠️Warnings 43 | 44 | - Make sure to have the same libraries included in the project that are used to create the circuit in the Schematic Block. Including the foodprint libraries, which are linked to design block circuit components. 45 | 46 | - You can use a design block created in KiCad V6 in KiCad V7. But you can't use it the other way around. That means you can't use the design block created in KiCad V7 in KiCad V6 projects. 47 | 48 | - Be careful when saving entire hierarchical sheets into blocks. It is possible. But I had some issues when transferring through KiCad versions. 49 | 50 | :) 51 | -------------------------------------------------------------------------------- /Sample_Blocks/12V Power In Circuit.kicad_pack: -------------------------------------------------------------------------------- 1 | packSch:[(lib_symbols 2 | (symbol "complex_hierarchy_schlib:+12V" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 3 | (property "Reference" "#PWR" (at 0 -3.81 0) 4 | (effects (font (size 1.27 1.27)) hide) 5 | ) 6 | (property "Value" "+12V" (at 0 3.556 0) 7 | (effects (font (size 1.27 1.27))) 8 | ) 9 | (property "Footprint" "" (at 0 0 0) 10 | (effects (font (size 1.524 1.524))) 11 | ) 12 | (property "Datasheet" "" (at 0 0 0) 13 | (effects (font (size 1.524 1.524))) 14 | ) 15 | (symbol "+12V_0_1" 16 | (polyline 17 | (pts 18 | (xy -0.762 1.27) 19 | (xy 0 2.54) 20 | ) 21 | (stroke (width 0) (type default)) 22 | (fill (type none)) 23 | ) 24 | (polyline 25 | (pts 26 | (xy 0 0) 27 | (xy 0 2.54) 28 | ) 29 | (stroke (width 0) (type default)) 30 | (fill (type none)) 31 | ) 32 | (polyline 33 | (pts 34 | (xy 0 2.54) 35 | (xy 0.762 1.27) 36 | ) 37 | (stroke (width 0) (type default)) 38 | (fill (type none)) 39 | ) 40 | ) 41 | (symbol "+12V_1_1" 42 | (pin power_in line (at 0 0 90) (length 0) hide 43 | (name "+12V" (effects (font (size 1.27 1.27)))) 44 | (number "1" (effects (font (size 1.27 1.27)))) 45 | ) 46 | ) 47 | ) 48 | (symbol "complex_hierarchy_schlib:CONN_2" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) 49 | (property "Reference" "P" (at -1.27 0 90) 50 | (effects (font (size 1.016 1.016))) 51 | ) 52 | (property "Value" "CONN_2" (at 1.27 0 90) 53 | (effects (font (size 1.016 1.016))) 54 | ) 55 | (property "Footprint" "" (at 0 0 0) 56 | (effects (font (size 1.524 1.524))) 57 | ) 58 | (property "Datasheet" "" (at 0 0 0) 59 | (effects (font (size 1.524 1.524))) 60 | ) 61 | (symbol "CONN_2_0_1" 62 | (rectangle (start -2.54 3.81) (end 2.54 -3.81) 63 | (stroke (width 0) (type default)) 64 | (fill (type none)) 65 | ) 66 | ) 67 | (symbol "CONN_2_1_1" 68 | (pin passive inverted (at -8.89 2.54 0) (length 6.35) 69 | (name "P1" (effects (font (size 1.524 1.524)))) 70 | (number "1" (effects (font (size 1.524 1.524)))) 71 | ) 72 | (pin passive inverted (at -8.89 -2.54 0) (length 6.35) 73 | (name "PM" (effects (font (size 1.524 1.524)))) 74 | (number "2" (effects (font (size 1.524 1.524)))) 75 | ) 76 | ) 77 | ) 78 | (symbol "complex_hierarchy_schlib:CP" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes) 79 | (property "Reference" "C" (at 0.635 2.54 0) 80 | (effects (font (size 1.27 1.27)) (justify left)) 81 | ) 82 | (property "Value" "CP" (at 0.635 -2.54 0) 83 | (effects (font (size 1.27 1.27)) (justify left)) 84 | ) 85 | (property "Footprint" "" (at 0.9652 -3.81 0) 86 | (effects (font (size 0.762 0.762))) 87 | ) 88 | (property "Datasheet" "" (at 0 0 0) 89 | (effects (font (size 1.524 1.524))) 90 | ) 91 | (property "ki_fp_filters" "CP* Elko* TantalC* C*elec c_elec* SMD*_Pol" (at 0 0 0) 92 | (effects (font (size 1.27 1.27)) hide) 93 | ) 94 | (symbol "CP_0_1" 95 | (rectangle (start -2.286 0.508) (end -2.286 1.016) 96 | (stroke (width 0) (type default)) 97 | (fill (type none)) 98 | ) 99 | (rectangle (start -2.286 0.508) (end 2.286 0.508) 100 | (stroke (width 0) (type default)) 101 | (fill (type none)) 102 | ) 103 | (rectangle (start -1.778 2.286) (end -0.762 2.286) 104 | (stroke (width 0) (type default)) 105 | (fill (type none)) 106 | ) 107 | (rectangle (start -1.27 1.778) (end -1.27 2.794) 108 | (stroke (width 0) (type default)) 109 | (fill (type none)) 110 | ) 111 | (rectangle (start 2.286 -0.508) (end -2.286 -1.016) 112 | (stroke (width 0) (type default)) 113 | (fill (type outline)) 114 | ) 115 | (rectangle (start 2.286 1.016) (end -2.286 1.016) 116 | (stroke (width 0) (type default)) 117 | (fill (type none)) 118 | ) 119 | (rectangle (start 2.286 1.016) (end 2.286 0.508) 120 | (stroke (width 0) (type default)) 121 | (fill (type none)) 122 | ) 123 | ) 124 | (symbol "CP_1_1" 125 | (pin passive line (at 0 3.81 270) (length 2.794) 126 | (name "~" (effects (font (size 1.016 1.016)))) 127 | (number "1" (effects (font (size 1.016 1.016)))) 128 | ) 129 | (pin passive line (at 0 -3.81 90) (length 2.794) 130 | (name "~" (effects (font (size 1.016 1.016)))) 131 | (number "2" (effects (font (size 1.016 1.016)))) 132 | ) 133 | ) 134 | ) 135 | (symbol "complex_hierarchy_schlib:D_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes) 136 | (property "Reference" "D" (at -1.27 2.032 0) 137 | (effects (font (size 1.27 1.27)) (justify left)) 138 | ) 139 | (property "Value" "D_Small" (at -3.81 -2.032 0) 140 | (effects (font (size 1.27 1.27)) (justify left)) 141 | ) 142 | (property "Footprint" "" (at 0 0 90) 143 | (effects (font (size 1.524 1.524))) 144 | ) 145 | (property "Datasheet" "" (at 0 0 90) 146 | (effects (font (size 1.524 1.524))) 147 | ) 148 | (property "ki_fp_filters" "Diode_* D-Pak_TO252AA *SingleDiode *SingleDiode* *_Diode_*" (at 0 0 0) 149 | (effects (font (size 1.27 1.27)) hide) 150 | ) 151 | (symbol "D_Small_0_1" 152 | (polyline 153 | (pts 154 | (xy -0.762 -1.016) 155 | (xy -0.762 1.016) 156 | ) 157 | (stroke (width 0) (type default)) 158 | (fill (type none)) 159 | ) 160 | (polyline 161 | (pts 162 | (xy 0.762 -1.016) 163 | (xy -0.762 0) 164 | (xy 0.762 1.016) 165 | (xy 0.762 -1.016) 166 | ) 167 | (stroke (width 0) (type default)) 168 | (fill (type outline)) 169 | ) 170 | ) 171 | (symbol "D_Small_1_1" 172 | (pin passive line (at -2.54 0 0) (length 1.778) 173 | (name "K" (effects (font (size 1.27 1.27)))) 174 | (number "1" (effects (font (size 1.27 1.27)))) 175 | ) 176 | (pin passive line (at 2.54 0 180) (length 1.778) 177 | (name "A" (effects (font (size 1.27 1.27)))) 178 | (number "2" (effects (font (size 1.27 1.27)))) 179 | ) 180 | ) 181 | ) 182 | (symbol "complex_hierarchy_schlib:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 183 | (property "Reference" "#PWR" (at 0 -3.81 0) 184 | (effects (font (size 1.27 1.27)) hide) 185 | ) 186 | (property "Value" "GND" (at 0 -3.1242 0) 187 | (effects (font (size 0.762 0.762))) 188 | ) 189 | (property "Footprint" "" (at 0 0 0) 190 | (effects (font (size 1.524 1.524))) 191 | ) 192 | (property "Datasheet" "" (at 0 0 0) 193 | (effects (font (size 1.524 1.524))) 194 | ) 195 | (symbol "GND_0_1" 196 | (polyline 197 | (pts 198 | (xy 0 0) 199 | (xy 0 -1.27) 200 | (xy 1.27 -1.27) 201 | (xy 0 -2.54) 202 | (xy -1.27 -1.27) 203 | (xy 0 -1.27) 204 | ) 205 | (stroke (width 0) (type default)) 206 | (fill (type none)) 207 | ) 208 | ) 209 | (symbol "GND_1_1" 210 | (pin power_in line (at 0 0 270) (length 0) hide 211 | (name "GND" (effects (font (size 0.762 0.762)))) 212 | (number "1" (effects (font (size 0.508 0.508)))) 213 | ) 214 | ) 215 | ) 216 | (symbol "complex_hierarchy_schlib:PWR_FLAG" (power) (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes) 217 | (property "Reference" "#FLG" (at 0 2.413 0) 218 | (effects (font (size 1.27 1.27)) hide) 219 | ) 220 | (property "Value" "PWR_FLAG" (at 0 4.572 0) 221 | (effects (font (size 1.27 1.27))) 222 | ) 223 | (property "Footprint" "" (at 0 0 0) 224 | (effects (font (size 1.524 1.524))) 225 | ) 226 | (property "Datasheet" "" (at 0 0 0) 227 | (effects (font (size 1.524 1.524))) 228 | ) 229 | (symbol "PWR_FLAG_0_0" 230 | (pin power_out line (at 0 0 90) (length 0) 231 | (name "pwr" (effects (font (size 0.508 0.508)))) 232 | (number "1" (effects (font (size 0.508 0.508)))) 233 | ) 234 | ) 235 | (symbol "PWR_FLAG_0_1" 236 | (polyline 237 | (pts 238 | (xy 0 0) 239 | (xy 0 1.27) 240 | (xy -1.905 2.54) 241 | (xy 0 3.81) 242 | (xy 1.905 2.54) 243 | (xy 0 1.27) 244 | ) 245 | (stroke (width 0) (type default)) 246 | (fill (type none)) 247 | ) 248 | ) 249 | ) 250 | ) 251 | 252 | (wire (pts (xy 81.28 73.66) (xy 81.28 76.2)) 253 | (stroke (width 0) (type solid)) 254 | (uuid 3e72869c-7cf7-43ab-a03b-04597f1afc38) 255 | ) 256 | (wire (pts (xy 71.12 63.5) (xy 76.2 63.5)) 257 | (stroke (width 0) (type solid)) 258 | (uuid 48c55899-2c7a-4d2f-b1ac-daf479ab68bc) 259 | ) 260 | (label "12Vext" (at 54.61 63.5 0) (fields_autoplaced) 261 | (effects (font (size 1.524 1.524)) (justify left bottom)) 262 | (uuid 6d5fce79-cffa-4bf2-a989-42ca9ce0dd4e) 263 | ) 264 | (symbol (lib_id "complex_hierarchy_schlib:CP") (at 81.28 69.85 0) (unit 1) 265 | (in_bom yes) (on_board yes) (dnp no) 266 | (uuid 00000000-0000-0000-0000-00004ae173cf) 267 | (property "Reference" "C2" (at 85.09 68.58 0) 268 | (effects (font (size 1.27 1.27)) (justify left)) 269 | ) 270 | (property "Value" "47uF/20V" (at 85.09 71.12 0) 271 | (effects (font (size 1.27 1.27)) (justify left top)) 272 | ) 273 | (property "Footprint" "Capacitor_THT:CP_Axial_L10.0mm_D4.5mm_P15.00mm_Horizontal" (at 90.17 73.66 0) 274 | (effects (font (size 0.254 0.254))) 275 | ) 276 | (property "Datasheet" "" (at 81.28 69.85 0) 277 | (effects (font (size 1.524 1.524)) hide) 278 | ) 279 | (pin "1" (uuid 950d8859-1092-4be3-a24a-26dd789ed6ee)) 280 | (pin "2" (uuid 66ca4df5-6237-42f8-b9dc-75df854ddc2f)) 281 | (instances 282 | (project "complex_hierarchy" 283 | (path "/5b9623a5-6d01-41fc-9865-e1bc779418c8" 284 | (reference "C2") (unit 1) 285 | ) 286 | ) 287 | ) 288 | ) 289 | (symbol (lib_id "complex_hierarchy_schlib:D_Small") (at 68.58 63.5 0) (mirror y) (unit 1) 290 | (in_bom yes) (on_board yes) (dnp no) 291 | (uuid 00000000-0000-0000-0000-00004ae172f4) 292 | (property "Reference" "D1" (at 68.58 66.04 0) 293 | (effects (font (size 1.016 1.016))) 294 | ) 295 | (property "Value" "1N4007" (at 68.58 60.96 0) 296 | (effects (font (size 1.016 1.016))) 297 | ) 298 | (property "Footprint" "Diode_THT:D_DO-41_SOD81_P12.70mm_Horizontal" (at 68.58 67.31 0) 299 | (effects (font (size 0.254 0.254))) 300 | ) 301 | (property "Datasheet" "" (at 68.58 63.5 0) 302 | (effects (font (size 1.524 1.524)) hide) 303 | ) 304 | (pin "1" (uuid 50637a01-0c25-48ed-adf3-9b80f7148615)) 305 | (pin "2" (uuid 05cdbb49-19d5-4892-84c8-6903d4090c80)) 306 | (instances 307 | (project "complex_hierarchy" 308 | (path "/5b9623a5-6d01-41fc-9865-e1bc779418c8" 309 | (reference "D1") (unit 1) 310 | ) 311 | ) 312 | ) 313 | ) 314 | (junction (at 76.2 63.5) (diameter 1.016) (color 0 0 0 0) 315 | (uuid f3490fa5-5a27-423b-af60-53609669542c) 316 | ) 317 | (wire (pts (xy 53.34 71.12) (xy 53.34 68.58)) 318 | (stroke (width 0) (type solid)) 319 | (uuid fa22f1ec-e16a-4f88-b606-6d06e4cc7ac1) 320 | ) 321 | (symbol (lib_id "complex_hierarchy_schlib:+12V") (at 90.17 62.23 0) (unit 1) 322 | (in_bom yes) (on_board yes) (dnp no) 323 | (uuid 00000000-0000-0000-0000-00004ae173ef) 324 | (property "Reference" "#U016" (at 90.17 63.5 0) 325 | (effects (font (size 0.508 0.508)) hide) 326 | ) 327 | (property "Value" "+12V" (at 90.17 59.69 0) 328 | (effects (font (size 1.016 1.016))) 329 | ) 330 | (property "Footprint" "" (at 90.17 62.23 0) 331 | (effects (font (size 0.254 0.254)) hide) 332 | ) 333 | (property "Datasheet" "" (at 90.17 62.23 0) 334 | (effects (font (size 1.524 1.524)) hide) 335 | ) 336 | (pin "1" (uuid 314141b4-1a21-43f9-9089-f0b4f2c7bf3e)) 337 | (instances 338 | (project "complex_hierarchy" 339 | (path "/5b9623a5-6d01-41fc-9865-e1bc779418c8" 340 | (reference "#U016") (unit 1) 341 | ) 342 | ) 343 | ) 344 | ) 345 | (symbol (lib_id "complex_hierarchy_schlib:PWR_FLAG") (at 76.2 62.23 0) (unit 1) 346 | (in_bom yes) (on_board yes) (dnp no) 347 | (uuid 00000000-0000-0000-0000-00004b03c9f9) 348 | (property "Reference" "#U013" (at 76.2 55.372 0) 349 | (effects (font (size 0.762 0.762)) hide) 350 | ) 351 | (property "Value" "PWR_FLAG" (at 76.2 56.388 0) 352 | (effects (font (size 0.762 0.762))) 353 | ) 354 | (property "Footprint" "" (at 76.2 62.23 0) 355 | (effects (font (size 0.254 0.254)) hide) 356 | ) 357 | (property "Datasheet" "" (at 76.2 62.23 0) 358 | (effects (font (size 1.524 1.524)) hide) 359 | ) 360 | (pin "1" (uuid fd4b5e94-eebf-479d-a636-26a4fc972afa)) 361 | (instances 362 | (project "complex_hierarchy" 363 | (path "/5b9623a5-6d01-41fc-9865-e1bc779418c8" 364 | (reference "#U013") (unit 1) 365 | ) 366 | ) 367 | ) 368 | ) 369 | (symbol (lib_id "complex_hierarchy_schlib:GND") (at 53.34 71.12 0) (unit 1) 370 | (in_bom yes) (on_board yes) (dnp no) 371 | (uuid 00000000-0000-0000-0000-00004ad71b8e) 372 | (property "Reference" "#PWR018" (at 53.34 71.12 0) 373 | (effects (font (size 0.762 0.762)) hide) 374 | ) 375 | (property "Value" "GND" (at 53.34 72.898 0) 376 | (effects (font (size 0.762 0.762)) hide) 377 | ) 378 | (property "Footprint" "" (at 53.34 71.12 0) 379 | (effects (font (size 0.254 0.254)) hide) 380 | ) 381 | (property "Datasheet" "" (at 53.34 71.12 0) 382 | (effects (font (size 1.524 1.524)) hide) 383 | ) 384 | (pin "1" (uuid 5a719864-76a5-483d-9f2e-e85b75ecb792)) 385 | (instances 386 | (project "complex_hierarchy" 387 | (path "/5b9623a5-6d01-41fc-9865-e1bc779418c8" 388 | (reference "#PWR018") (unit 1) 389 | ) 390 | ) 391 | ) 392 | ) 393 | (wire (pts (xy 90.17 62.23) (xy 90.17 63.5)) 394 | (stroke (width 0) (type solid)) 395 | (uuid 36cc51df-302a-4e4c-bb35-b7ea261d4251) 396 | ) 397 | (junction (at 81.28 63.5) (diameter 1.016) (color 0 0 0 0) 398 | (uuid 1860e030-7a36-4298-b7fc-a16d48ab15ba) 399 | ) 400 | (wire (pts (xy 53.34 68.58) (xy 50.8 68.58)) 401 | (stroke (width 0) (type solid)) 402 | (uuid 31bef7b5-13a8-4c6f-9bd1-bbc110bde8ad) 403 | ) 404 | (wire (pts (xy 76.2 63.5) (xy 76.2 62.23)) 405 | (stroke (width 0) (type solid)) 406 | (uuid 2d2da451-ba1d-4169-a55e-51808cb3358c) 407 | ) 408 | (symbol (lib_id "complex_hierarchy_schlib:CONN_2") (at 41.91 66.04 0) (mirror y) (unit 1) 409 | (in_bom yes) (on_board yes) (dnp no) 410 | (uuid 00000000-0000-0000-0000-00004ad71b06) 411 | (property "Reference" "P2" (at 43.18 66.04 90) 412 | (effects (font (size 1.016 1.016))) 413 | ) 414 | (property "Value" "CONN_2" (at 40.64 66.04 90) 415 | (effects (font (size 1.016 1.016))) 416 | ) 417 | (property "Footprint" "TerminalBlock_Altech:Altech_AK300_1x02_P5.00mm_45-Degree" (at 41.91 71.12 0) 418 | (effects (font (size 0.254 0.254))) 419 | ) 420 | (property "Datasheet" "" (at 41.91 66.04 0) 421 | (effects (font (size 1.524 1.524)) hide) 422 | ) 423 | (pin "1" (uuid 93beff75-77b5-4919-87c2-bc5dcd4e4f80)) 424 | (pin "2" (uuid cf90931c-fb6b-4373-82d1-29a27e9e9880)) 425 | (instances 426 | (project "complex_hierarchy" 427 | (path "/5b9623a5-6d01-41fc-9865-e1bc779418c8" 428 | (reference "P2") (unit 1) 429 | ) 430 | ) 431 | ) 432 | ) 433 | (wire (pts (xy 50.8 63.5) (xy 66.04 63.5)) 434 | (stroke (width 0) (type solid)) 435 | (uuid 917a90e7-ecf0-4c02-a5fd-11b53b67b900) 436 | ) 437 | (wire (pts (xy 76.2 63.5) (xy 81.28 63.5)) 438 | (stroke (width 0) (type solid)) 439 | (uuid a17d3aa7-6c55-4786-97b0-b73c3fd5f953) 440 | ) 441 | (wire (pts (xy 81.28 63.5) (xy 81.28 66.04)) 442 | (stroke (width 0) (type solid)) 443 | (uuid aee6e138-3a06-4362-9adf-67730f8cdf31) 444 | ) 445 | (wire (pts (xy 81.28 63.5) (xy 90.17 63.5)) 446 | (stroke (width 0) (type solid)) 447 | (uuid c4c56c14-55cb-413f-a0c6-5578e3c1f22f) 448 | ) 449 | (symbol (lib_id "complex_hierarchy_schlib:GND") (at 81.28 76.2 0) (unit 1) 450 | (in_bom yes) (on_board yes) (dnp no) 451 | (uuid 00000000-0000-0000-0000-00004ae173d0) 452 | (property "Reference" "#PWR017" (at 81.28 76.2 0) 453 | (effects (font (size 0.762 0.762)) hide) 454 | ) 455 | (property "Value" "GND" (at 81.28 77.978 0) 456 | (effects (font (size 0.762 0.762)) hide) 457 | ) 458 | (property "Footprint" "" (at 81.28 76.2 0) 459 | (effects (font (size 0.254 0.254)) hide) 460 | ) 461 | (property "Datasheet" "" (at 81.28 76.2 0) 462 | (effects (font (size 1.524 1.524)) hide) 463 | ) 464 | (pin "1" (uuid 468725d6-7057-4fcd-ad87-5e3421654e2d)) 465 | (instances 466 | (project "complex_hierarchy" 467 | (path "/5b9623a5-6d01-41fc-9865-e1bc779418c8" 468 | (reference "#PWR017") (unit 1) 469 | ) 470 | ) 471 | ) 472 | ) 473 | ] -------------------------------------------------------------------------------- /Sample_Blocks/7805 power circuit.kicad_pack: -------------------------------------------------------------------------------- 1 | packSch:[(lib_symbols 2 | (symbol "pic_programmer_schlib:7805" (pin_names (offset 0.762)) (in_bom yes) (on_board yes) 3 | (property "Reference" "U" (at 3.81 -4.9784 0) 4 | (effects (font (size 1.524 1.524))) 5 | ) 6 | (property "Value" "7805" (at 0 5.08 0) 7 | (effects (font (size 1.524 1.524))) 8 | ) 9 | (property "Footprint" "" (at 1.27 -7.5184 0) 10 | (effects (font (size 0.381 0.381))) 11 | ) 12 | (property "Datasheet" "" (at 0 0 0) 13 | (effects (font (size 1.524 1.524))) 14 | ) 15 | (symbol "7805_0_1" 16 | (rectangle (start -5.08 -3.81) (end 5.08 3.81) 17 | (stroke (width 0) (type default)) 18 | (fill (type none)) 19 | ) 20 | ) 21 | (symbol "7805_1_1" 22 | (pin input line (at -10.16 1.27 0) (length 5.08) 23 | (name "VI" (effects (font (size 1.016 1.016)))) 24 | (number "1" (effects (font (size 1.016 1.016)))) 25 | ) 26 | (pin input line (at 0 -6.35 90) (length 2.54) 27 | (name "GND" (effects (font (size 1.016 1.016)))) 28 | (number "2" (effects (font (size 0.762 0.762)))) 29 | ) 30 | (pin power_out line (at 10.16 1.27 180) (length 5.08) 31 | (name "VO" (effects (font (size 1.016 1.016)))) 32 | (number "3" (effects (font (size 1.016 1.016)))) 33 | ) 34 | ) 35 | ) 36 | (symbol "pic_programmer_schlib:CONN_2" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) 37 | (property "Reference" "P" (at -1.27 0 90) 38 | (effects (font (size 1.016 1.016))) 39 | ) 40 | (property "Value" "CONN_2" (at 1.27 0 90) 41 | (effects (font (size 1.016 1.016))) 42 | ) 43 | (property "Footprint" "" (at 0 0 0) 44 | (effects (font (size 1.524 1.524))) 45 | ) 46 | (property "Datasheet" "" (at 0 0 0) 47 | (effects (font (size 1.524 1.524))) 48 | ) 49 | (symbol "CONN_2_0_1" 50 | (rectangle (start -2.54 3.81) (end 2.54 -3.81) 51 | (stroke (width 0) (type default)) 52 | (fill (type none)) 53 | ) 54 | ) 55 | (symbol "CONN_2_1_1" 56 | (pin passive inverted (at -8.89 2.54 0) (length 6.35) 57 | (name "P1" (effects (font (size 1.524 1.524)))) 58 | (number "1" (effects (font (size 1.524 1.524)))) 59 | ) 60 | (pin passive inverted (at -8.89 -2.54 0) (length 6.35) 61 | (name "PM" (effects (font (size 1.524 1.524)))) 62 | (number "2" (effects (font (size 1.524 1.524)))) 63 | ) 64 | ) 65 | ) 66 | (symbol "pic_programmer_schlib:CP" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes) 67 | (property "Reference" "C" (at 0.635 2.54 0) 68 | (effects (font (size 1.27 1.27)) (justify left)) 69 | ) 70 | (property "Value" "CP" (at 0.635 -2.54 0) 71 | (effects (font (size 1.27 1.27)) (justify left)) 72 | ) 73 | (property "Footprint" "" (at 0.9652 -3.81 0) 74 | (effects (font (size 0.762 0.762))) 75 | ) 76 | (property "Datasheet" "" (at 0 0 0) 77 | (effects (font (size 1.524 1.524))) 78 | ) 79 | (property "ki_fp_filters" "CP* Elko* TantalC* C*elec c_elec* SMD*_Pol" (at 0 0 0) 80 | (effects (font (size 1.27 1.27)) hide) 81 | ) 82 | (symbol "CP_0_1" 83 | (rectangle (start -2.286 1.016) (end 2.286 0.508) 84 | (stroke (width 0.1524) (type default)) 85 | (fill (type none)) 86 | ) 87 | (rectangle (start -1.778 2.286) (end -0.762 2.286) 88 | (stroke (width 0) (type default)) 89 | (fill (type none)) 90 | ) 91 | (rectangle (start -1.27 1.778) (end -1.27 2.794) 92 | (stroke (width 0) (type default)) 93 | (fill (type none)) 94 | ) 95 | (rectangle (start 2.286 -0.508) (end -2.286 -1.016) 96 | (stroke (width 0) (type default)) 97 | (fill (type outline)) 98 | ) 99 | ) 100 | (symbol "CP_1_1" 101 | (pin passive line (at 0 3.81 270) (length 2.794) 102 | (name "~" (effects (font (size 1.016 1.016)))) 103 | (number "1" (effects (font (size 1.016 1.016)))) 104 | ) 105 | (pin passive line (at 0 -3.81 90) (length 2.794) 106 | (name "~" (effects (font (size 1.016 1.016)))) 107 | (number "2" (effects (font (size 1.016 1.016)))) 108 | ) 109 | ) 110 | ) 111 | (symbol "pic_programmer_schlib:D" (pin_names (offset 0)) (in_bom yes) (on_board yes) 112 | (property "Reference" "D" (at 0 2.54 0) 113 | (effects (font (size 1.27 1.27))) 114 | ) 115 | (property "Value" "D" (at 0 -2.54 0) 116 | (effects (font (size 1.27 1.27))) 117 | ) 118 | (property "Footprint" "" (at 0 0 0) 119 | (effects (font (size 1.524 1.524))) 120 | ) 121 | (property "Datasheet" "" (at 0 0 0) 122 | (effects (font (size 1.524 1.524))) 123 | ) 124 | (property "ki_fp_filters" "Diode_* D-Pak_TO252AA *SingleDiode *_Diode_* *SingleDiode*" (at 0 0 0) 125 | (effects (font (size 1.27 1.27)) hide) 126 | ) 127 | (symbol "D_0_1" 128 | (polyline 129 | (pts 130 | (xy -1.27 1.27) 131 | (xy -1.27 -1.27) 132 | ) 133 | (stroke (width 0.254) (type default)) 134 | (fill (type none)) 135 | ) 136 | (polyline 137 | (pts 138 | (xy -1.27 0) 139 | (xy 1.27 1.27) 140 | (xy 1.27 -1.27) 141 | (xy -1.27 0) 142 | ) 143 | (stroke (width 0.1524) (type default)) 144 | (fill (type outline)) 145 | ) 146 | ) 147 | (symbol "D_1_1" 148 | (pin passive line (at -3.81 0 0) (length 2.54) 149 | (name "K" (effects (font (size 0.762 0.762)))) 150 | (number "1" (effects (font (size 0.762 0.762)))) 151 | ) 152 | (pin passive line (at 3.81 0 180) (length 2.54) 153 | (name "A" (effects (font (size 0.762 0.762)))) 154 | (number "2" (effects (font (size 0.762 0.762)))) 155 | ) 156 | ) 157 | ) 158 | (symbol "pic_programmer_schlib:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 159 | (property "Reference" "#PWR" (at 0 0 0) 160 | (effects (font (size 0.762 0.762)) hide) 161 | ) 162 | (property "Value" "GND" (at 0 -1.778 0) 163 | (effects (font (size 0.762 0.762)) hide) 164 | ) 165 | (property "Footprint" "" (at 0 0 0) 166 | (effects (font (size 1.524 1.524))) 167 | ) 168 | (property "Datasheet" "" (at 0 0 0) 169 | (effects (font (size 1.524 1.524))) 170 | ) 171 | (symbol "GND_0_1" 172 | (polyline 173 | (pts 174 | (xy -1.27 0) 175 | (xy 0 -1.27) 176 | (xy 1.27 0) 177 | (xy -1.27 0) 178 | ) 179 | (stroke (width 0) (type default)) 180 | (fill (type none)) 181 | ) 182 | ) 183 | (symbol "GND_1_1" 184 | (pin power_in line (at 0 0 90) (length 0) hide 185 | (name "GND" (effects (font (size 0.762 0.762)))) 186 | (number "1" (effects (font (size 0.762 0.762)))) 187 | ) 188 | ) 189 | ) 190 | (symbol "pic_programmer_schlib:LED" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes) 191 | (property "Reference" "D" (at 0 2.54 0) 192 | (effects (font (size 1.27 1.27))) 193 | ) 194 | (property "Value" "LED" (at 0 -2.54 0) 195 | (effects (font (size 1.27 1.27))) 196 | ) 197 | (property "Footprint" "" (at 0 0 0) 198 | (effects (font (size 1.524 1.524))) 199 | ) 200 | (property "Datasheet" "" (at 0 0 0) 201 | (effects (font (size 1.524 1.524))) 202 | ) 203 | (property "ki_fp_filters" "LED-3MM LED-5MM LED-10MM LED-0603 LED-0805 LED-1206 LEDV" (at 0 0 0) 204 | (effects (font (size 1.27 1.27)) hide) 205 | ) 206 | (symbol "LED_0_1" 207 | (polyline 208 | (pts 209 | (xy -1.27 1.27) 210 | (xy -1.27 -1.27) 211 | ) 212 | (stroke (width 0.254) (type default)) 213 | (fill (type none)) 214 | ) 215 | (polyline 216 | (pts 217 | (xy -2.032 -0.635) 218 | (xy -3.175 -1.651) 219 | (xy -3.048 -1.016) 220 | ) 221 | (stroke (width 0) (type default)) 222 | (fill (type none)) 223 | ) 224 | (polyline 225 | (pts 226 | (xy -1.651 -1.016) 227 | (xy -2.794 -2.032) 228 | (xy -2.667 -1.397) 229 | ) 230 | (stroke (width 0) (type default)) 231 | (fill (type none)) 232 | ) 233 | (polyline 234 | (pts 235 | (xy -1.27 0) 236 | (xy 1.27 1.27) 237 | (xy 1.27 -1.27) 238 | (xy -1.27 0) 239 | ) 240 | (stroke (width 0.1524) (type default)) 241 | (fill (type outline)) 242 | ) 243 | ) 244 | (symbol "LED_1_1" 245 | (pin passive line (at -5.08 0 0) (length 3.81) 246 | (name "K" (effects (font (size 1.016 1.016)))) 247 | (number "1" (effects (font (size 1.016 1.016)))) 248 | ) 249 | (pin passive line (at 5.08 0 180) (length 3.81) 250 | (name "A" (effects (font (size 1.016 1.016)))) 251 | (number "2" (effects (font (size 1.016 1.016)))) 252 | ) 253 | ) 254 | ) 255 | (symbol "pic_programmer_schlib:PWR_FLAG" (power) (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes) 256 | (property "Reference" "#FLG" (at 0 2.413 0) 257 | (effects (font (size 0.762 0.762)) hide) 258 | ) 259 | (property "Value" "PWR_FLAG" (at 0 4.572 0) 260 | (effects (font (size 0.762 0.762))) 261 | ) 262 | (property "Footprint" "" (at 0 0 0) 263 | (effects (font (size 1.524 1.524))) 264 | ) 265 | (property "Datasheet" "" (at 0 0 0) 266 | (effects (font (size 1.524 1.524))) 267 | ) 268 | (symbol "PWR_FLAG_0_0" 269 | (pin power_out line (at 0 0 90) (length 0) 270 | (name "pwr" (effects (font (size 0.508 0.508)))) 271 | (number "1" (effects (font (size 0.508 0.508)))) 272 | ) 273 | ) 274 | (symbol "PWR_FLAG_0_1" 275 | (polyline 276 | (pts 277 | (xy 0 0) 278 | (xy 0 1.27) 279 | (xy -1.905 2.54) 280 | (xy 0 3.81) 281 | (xy 1.905 2.54) 282 | (xy 0 1.27) 283 | ) 284 | (stroke (width 0.2032) (type default)) 285 | (fill (type none)) 286 | ) 287 | ) 288 | ) 289 | (symbol "pic_programmer_schlib:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes) 290 | (property "Reference" "R" (at 2.032 0 90) 291 | (effects (font (size 1.27 1.27))) 292 | ) 293 | (property "Value" "R" (at 0 0 90) 294 | (effects (font (size 1.27 1.27))) 295 | ) 296 | (property "Footprint" "" (at -1.778 0 90) 297 | (effects (font (size 0.762 0.762))) 298 | ) 299 | (property "Datasheet" "" (at 0 0 0) 300 | (effects (font (size 0.762 0.762))) 301 | ) 302 | (property "ki_fp_filters" "R_* Resistor_*" (at 0 0 0) 303 | (effects (font (size 1.27 1.27)) hide) 304 | ) 305 | (symbol "R_0_1" 306 | (rectangle (start -1.016 -2.54) (end 1.016 2.54) 307 | (stroke (width 0.2032) (type default)) 308 | (fill (type none)) 309 | ) 310 | ) 311 | (symbol "R_1_1" 312 | (pin passive line (at 0 3.81 270) (length 1.27) 313 | (name "~" (effects (font (size 1.524 1.524)))) 314 | (number "1" (effects (font (size 1.524 1.524)))) 315 | ) 316 | (pin passive line (at 0 -3.81 90) (length 1.27) 317 | (name "~" (effects (font (size 1.524 1.524)))) 318 | (number "2" (effects (font (size 1.524 1.524)))) 319 | ) 320 | ) 321 | ) 322 | (symbol "pic_programmer_schlib:VCC" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) 323 | (property "Reference" "#PWR" (at 0 2.54 0) 324 | (effects (font (size 0.762 0.762)) hide) 325 | ) 326 | (property "Value" "VCC" (at 0 2.54 0) 327 | (effects (font (size 0.762 0.762))) 328 | ) 329 | (property "Footprint" "" (at 0 0 0) 330 | (effects (font (size 1.524 1.524))) 331 | ) 332 | (property "Datasheet" "" (at 0 0 0) 333 | (effects (font (size 1.524 1.524))) 334 | ) 335 | (symbol "VCC_0_0" 336 | (pin power_in line (at 0 0 90) (length 0) hide 337 | (name "VCC" (effects (font (size 0.508 0.508)))) 338 | (number "1" (effects (font (size 0.508 0.508)))) 339 | ) 340 | ) 341 | (symbol "VCC_0_1" 342 | (polyline 343 | (pts 344 | (xy 0 0) 345 | (xy 0 0.762) 346 | (xy 0 0.762) 347 | ) 348 | (stroke (width 0) (type default)) 349 | (fill (type none)) 350 | ) 351 | (circle (center 0 1.27) (radius 0.508) 352 | (stroke (width 0) (type default)) 353 | (fill (type none)) 354 | ) 355 | ) 356 | ) 357 | ) 358 | 359 | (text "8 to 15V" (at 21.59 165.1 0) 360 | (effects (font (size 1.524 1.524)) (justify left bottom)) 361 | (uuid 629b714c-59fb-4aa8-80b3-0b67e75a9de9) 362 | ) 363 | (junction (at 35.56 173.99) (diameter 1.016) (color 0 0 0 0) 364 | (uuid 16bd6381-8ac0-4bf2-9dce-ecc20c724b8d) 365 | ) 366 | (junction (at 81.28 168.91) (diameter 1.016) (color 0 0 0 0) 367 | (uuid 7d928d56-093a-4ca8-aed1-414b7e703b45) 368 | ) 369 | (wire (pts (xy 49.53 171.45) (xy 49.53 168.91)) 370 | (stroke (width 0) (type solid)) 371 | (uuid 4fd33926-3aff-42ff-bc20-8d886e441ac1) 372 | ) 373 | (junction (at 86.36 168.91) (diameter 1.016) (color 0 0 0 0) 374 | (uuid 8a650ebf-3f78-4ca4-a26b-a5028693e36d) 375 | ) 376 | (junction (at 49.53 168.91) (diameter 1.016) (color 0 0 0 0) 377 | (uuid a5cd8da1-8f7f-4f80-bb23-0317de562222) 378 | ) 379 | (wire (pts (xy 105.41 168.91) (xy 101.6 168.91)) 380 | (stroke (width 0) (type solid)) 381 | (uuid 0d3d6ca5-c8e7-4f28-88d6-7ffceb687e4b) 382 | ) 383 | (wire (pts (xy 38.1 168.91) (xy 34.29 168.91)) 384 | (stroke (width 0) (type solid)) 385 | (uuid 10d6f13f-11e8-40e0-97b8-bbbd1a5ba2fc) 386 | ) 387 | (wire (pts (xy 86.36 168.91) (xy 86.36 167.64)) 388 | (stroke (width 0) (type solid)) 389 | (uuid 2daaae79-65ee-4a4c-96a3-407941335574) 390 | ) 391 | (wire (pts (xy 35.56 173.99) (xy 40.64 173.99)) 392 | (stroke (width 0) (type solid)) 393 | (uuid 2f72c78c-3f47-44b4-bc9d-911cae4a10d9) 394 | ) 395 | (wire (pts (xy 35.56 175.26) (xy 35.56 173.99)) 396 | (stroke (width 0) (type solid)) 397 | (uuid 488c14c9-11ed-42f9-9936-8f34a5dec6f6) 398 | ) 399 | (wire (pts (xy 81.28 168.91) (xy 86.36 168.91)) 400 | (stroke (width 0) (type solid)) 401 | (uuid 4b26ff60-fd35-4b2a-b0dd-1079945d4d49) 402 | ) 403 | (wire (pts (xy 78.74 168.91) (xy 81.28 168.91)) 404 | (stroke (width 0) (type solid)) 405 | (uuid 520ee8ee-e661-40ee-b909-08bac9a18666) 406 | ) 407 | (wire (pts (xy 34.29 173.99) (xy 35.56 173.99)) 408 | (stroke (width 0) (type solid)) 409 | (uuid 6b768ddd-1f41-45e7-ac4a-001029b162b9) 410 | ) 411 | (wire (pts (xy 86.36 168.91) (xy 93.98 168.91)) 412 | (stroke (width 0) (type solid)) 413 | (uuid 7e537fed-27cb-4867-8ddd-1eecb2fe2eb9) 414 | ) 415 | (wire (pts (xy 45.72 168.91) (xy 49.53 168.91)) 416 | (stroke (width 0) (type solid)) 417 | (uuid ad04a185-1182-43ac-828d-352a75b885c7) 418 | ) 419 | (wire (pts (xy 105.41 171.45) (xy 105.41 168.91)) 420 | (stroke (width 0) (type solid)) 421 | (uuid c6687a16-b381-40bc-9ddf-99117ece00cd) 422 | ) 423 | (wire (pts (xy 81.28 168.91) (xy 81.28 171.45)) 424 | (stroke (width 0) (type solid)) 425 | (uuid d9fb9595-b7d6-44c2-9286-6563a6dcdf37) 426 | ) 427 | (wire (pts (xy 40.64 173.99) (xy 40.64 175.26)) 428 | (stroke (width 0) (type solid)) 429 | (uuid e7d34404-31f1-4795-a44e-eb35e3d1f241) 430 | ) 431 | (wire (pts (xy 49.53 168.91) (xy 58.42 168.91)) 432 | (stroke (width 0) (type solid)) 433 | (uuid f9bdf406-be12-4ef0-8bc0-5f56b1741d01) 434 | ) 435 | (symbol (lib_id "pic_programmer_schlib:CONN_2") (at 25.4 171.45 180) (unit 1) 436 | (in_bom yes) (on_board yes) (dnp no) 437 | (uuid 00000000-0000-0000-0000-0000442a4fe7) 438 | (property "Reference" "P1" (at 26.67 171.45 90) 439 | (effects (font (size 1.016 1.016))) 440 | ) 441 | (property "Value" "CONN_2" (at 24.13 171.45 90) 442 | (effects (font (size 1.016 1.016))) 443 | ) 444 | (property "Footprint" "TerminalBlock_Altech:Altech_AK300_1x02_P5.00mm_45-Degree" (at 25.4 176.53 0) 445 | (effects (font (size 0.508 0.508))) 446 | ) 447 | (property "Datasheet" "" (at 25.4 171.45 0) 448 | (effects (font (size 1.524 1.524)) hide) 449 | ) 450 | (pin "1" (uuid 98659442-0eb2-480d-9090-f51d33105c0a)) 451 | (pin "2" (uuid 1a04c1af-1a0a-4a6b-bab6-162b7ae253a2)) 452 | (instances 453 | (project "pic_programmer" 454 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 455 | (reference "P1") (unit 1) 456 | ) 457 | ) 458 | ) 459 | ) 460 | (symbol (lib_id "pic_programmer_schlib:D") (at 41.91 168.91 180) (unit 1) 461 | (in_bom yes) (on_board yes) (dnp no) 462 | (uuid 00000000-0000-0000-0000-0000442a500b) 463 | (property "Reference" "D1" (at 41.91 171.45 0) 464 | (effects (font (size 1.016 1.016))) 465 | ) 466 | (property "Value" "1N4004" (at 41.91 166.37 0) 467 | (effects (font (size 1.016 1.016))) 468 | ) 469 | (property "Footprint" "Diode_THT:D_DO-35_SOD27_P12.70mm_Horizontal" (at 42.0116 172.72 0) 470 | (effects (font (size 0.254 0.254))) 471 | ) 472 | (property "Datasheet" "" (at 41.91 168.91 0) 473 | (effects (font (size 1.524 1.524)) hide) 474 | ) 475 | (pin "1" (uuid de7bb502-516e-4ab1-a006-2a767ca8a863)) 476 | (pin "2" (uuid cd612996-ea0c-47e5-b55a-5b775d132516)) 477 | (instances 478 | (project "pic_programmer" 479 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 480 | (reference "D1") (unit 1) 481 | ) 482 | ) 483 | ) 484 | ) 485 | (symbol (lib_id "pic_programmer_schlib:GND") (at 35.56 175.26 0) (unit 1) 486 | (in_bom yes) (on_board yes) (dnp no) 487 | (uuid 00000000-0000-0000-0000-0000442a500f) 488 | (property "Reference" "#PWR020" (at 35.56 175.26 0) 489 | (effects (font (size 0.762 0.762)) hide) 490 | ) 491 | (property "Value" "GND" (at 35.56 177.038 0) 492 | (effects (font (size 0.762 0.762)) hide) 493 | ) 494 | (property "Footprint" "" (at 35.56 175.26 0) 495 | (effects (font (size 1.524 1.524)) hide) 496 | ) 497 | (property "Datasheet" "" (at 35.56 175.26 0) 498 | (effects (font (size 1.524 1.524)) hide) 499 | ) 500 | (pin "1" (uuid a74d1cb7-8321-4100-9e4b-d86faa4b5bd8)) 501 | (instances 502 | (project "pic_programmer" 503 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 504 | (reference "#PWR020") (unit 1) 505 | ) 506 | ) 507 | ) 508 | ) 509 | (symbol (lib_id "pic_programmer_schlib:CP") (at 49.53 175.26 0) (unit 1) 510 | (in_bom yes) (on_board yes) (dnp no) 511 | (uuid 00000000-0000-0000-0000-0000442a501d) 512 | (property "Reference" "C2" (at 50.8 172.72 0) 513 | (effects (font (size 1.27 1.27)) (justify left)) 514 | ) 515 | (property "Value" "220uF" (at 50.8 177.8 0) 516 | (effects (font (size 1.27 1.27)) (justify left)) 517 | ) 518 | (property "Footprint" "Capacitor_THT:CP_Axial_L18.0mm_D6.5mm_P25.00mm_Horizontal" (at 53.34 179.07 0) 519 | (effects (font (size 0.254 0.254))) 520 | ) 521 | (property "Datasheet" "" (at 49.53 175.26 0) 522 | (effects (font (size 1.524 1.524)) hide) 523 | ) 524 | (pin "1" (uuid 455f2b8a-c109-4533-a268-00d8add033a4)) 525 | (pin "2" (uuid bea98637-b041-4d44-98e0-22a803e4cdf4)) 526 | (instances 527 | (project "pic_programmer" 528 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 529 | (reference "C2") (unit 1) 530 | ) 531 | ) 532 | ) 533 | ) 534 | (symbol (lib_id "pic_programmer_schlib:GND") (at 49.53 179.07 0) (unit 1) 535 | (in_bom yes) (on_board yes) (dnp no) 536 | (uuid 00000000-0000-0000-0000-0000442a5023) 537 | (property "Reference" "#PWR019" (at 49.53 179.07 0) 538 | (effects (font (size 0.762 0.762)) hide) 539 | ) 540 | (property "Value" "GND" (at 49.53 180.848 0) 541 | (effects (font (size 0.762 0.762)) hide) 542 | ) 543 | (property "Footprint" "" (at 49.53 179.07 0) 544 | (effects (font (size 1.524 1.524)) hide) 545 | ) 546 | (property "Datasheet" "" (at 49.53 179.07 0) 547 | (effects (font (size 1.524 1.524)) hide) 548 | ) 549 | (pin "1" (uuid 402b4f82-f147-42ff-914f-efdfa84d285f)) 550 | (instances 551 | (project "pic_programmer" 552 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 553 | (reference "#PWR019") (unit 1) 554 | ) 555 | ) 556 | ) 557 | ) 558 | (symbol (lib_id "pic_programmer_schlib:GND") (at 68.58 176.53 0) (unit 1) 559 | (in_bom yes) (on_board yes) (dnp no) 560 | (uuid 00000000-0000-0000-0000-0000442a5050) 561 | (property "Reference" "#PWR018" (at 68.58 176.53 0) 562 | (effects (font (size 0.762 0.762)) hide) 563 | ) 564 | (property "Value" "GND" (at 68.58 178.308 0) 565 | (effects (font (size 0.762 0.762)) hide) 566 | ) 567 | (property "Footprint" "" (at 68.58 176.53 0) 568 | (effects (font (size 1.524 1.524)) hide) 569 | ) 570 | (property "Datasheet" "" (at 68.58 176.53 0) 571 | (effects (font (size 1.524 1.524)) hide) 572 | ) 573 | (pin "1" (uuid 72109ad3-edf9-4be2-bb15-0a13596f651b)) 574 | (instances 575 | (project "pic_programmer" 576 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 577 | (reference "#PWR018") (unit 1) 578 | ) 579 | ) 580 | ) 581 | ) 582 | (symbol (lib_id "pic_programmer_schlib:CP") (at 81.28 175.26 0) (unit 1) 583 | (in_bom yes) (on_board yes) (dnp no) 584 | (uuid 00000000-0000-0000-0000-0000442a5056) 585 | (property "Reference" "C1" (at 82.55 172.72 0) 586 | (effects (font (size 1.27 1.27)) (justify left)) 587 | ) 588 | (property "Value" "100µF" (at 82.55 177.8 0) 589 | (effects (font (size 1.27 1.27)) (justify left)) 590 | ) 591 | (property "Footprint" "Capacitor_THT:CP_Axial_L18.0mm_D6.5mm_P25.00mm_Horizontal" (at 88.9 179.07 0) 592 | (effects (font (size 0.254 0.254))) 593 | ) 594 | (property "Datasheet" "" (at 81.28 175.26 0) 595 | (effects (font (size 1.524 1.524)) hide) 596 | ) 597 | (pin "1" (uuid 99df22c4-b121-4c08-b42c-42a42d75007a)) 598 | (pin "2" (uuid 9cd53b79-1f16-42c5-b1ac-035592fab7ff)) 599 | (instances 600 | (project "pic_programmer" 601 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 602 | (reference "C1") (unit 1) 603 | ) 604 | ) 605 | ) 606 | ) 607 | (symbol (lib_id "pic_programmer_schlib:GND") (at 81.28 179.07 0) (unit 1) 608 | (in_bom yes) (on_board yes) (dnp no) 609 | (uuid 00000000-0000-0000-0000-0000442a5057) 610 | (property "Reference" "#PWR017" (at 81.28 179.07 0) 611 | (effects (font (size 0.762 0.762)) hide) 612 | ) 613 | (property "Value" "GND" (at 81.28 180.848 0) 614 | (effects (font (size 0.762 0.762)) hide) 615 | ) 616 | (property "Footprint" "" (at 81.28 179.07 0) 617 | (effects (font (size 1.524 1.524)) hide) 618 | ) 619 | (property "Datasheet" "" (at 81.28 179.07 0) 620 | (effects (font (size 1.524 1.524)) hide) 621 | ) 622 | (pin "1" (uuid 4e1e505e-8639-412b-af93-c0426a8dba78)) 623 | (instances 624 | (project "pic_programmer" 625 | (path "/2e45d1d2-c73 626 | Discription:[ -- ENTER the discription of the circuit in here --- ]f-46e5-98d6-3a9dc360bff5" 627 | (reference "#PWR017") (unit 1) 628 | ) 629 | ) 630 | ) 631 | ) 632 | (symbol (lib_id "pic_programmer_schlib:R") (at 97.79 168.91 90) (unit 1) 633 | (in_bom yes) (on_board yes) (dnp no) 634 | (uuid 00000000-0000-0000-0000-0000442a5083) 635 | (property "Reference" "R14" (at 97.79 166.878 90) 636 | (effects (font (size 1.27 1.27))) 637 | ) 638 | (property "Value" "470" (at 97.79 168.91 90) 639 | (effects (font (size 1.27 1.27))) 640 | ) 641 | (property "Footprint" "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal" (at 97.917 171.069 90) 642 | (effects (font (size 0.254 0.254))) 643 | ) 644 | (property "Datasheet" "" (at 97.79 168.91 0) 645 | (effects (font (size 1.524 1.524)) hide) 646 | ) 647 | (pin "1" (uuid aa2c0a1b-9753-411f-a252-3db9390fc823)) 648 | (pin "2" (uuid b5e7643f-d437-4b3c-9703-c26299dc97fd)) 649 | (instances 650 | (project "pic_programmer" 651 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 652 | (reference "R14") (unit 1) 653 | ) 654 | ) 655 | ) 656 | ) 657 | (symbol (lib_id "pic_programmer_schlib:LED") (at 105.41 176.53 90) (unit 1) 658 | (in_bom yes) (on_board yes) (dnp no) 659 | (uuid 00000000-0000-0000-0000-0000442a5084) 660 | (property "Reference" "D9" (at 102.87 176.53 0) 661 | (effects (font (size 1.27 1.27))) 662 | ) 663 | (property "Value" "GREEN-LED" (at 107.95 176.53 0) 664 | (effects (font (size 1.27 1.27))) 665 | ) 666 | (property "Footprint" "LED_THT:LED_D5.0mm" (at 109.22 177.8 0) 667 | (effects (font (size 0.762 0.762))) 668 | ) 669 | (property "Datasheet" "" (at 105.41 176.53 0) 670 | (effects (font (size 1.524 1.524)) hide) 671 | ) 672 | (property "Champ4" "GREEN LED" (at 101.6 177.8 0) 673 | (effects (font (size 1.016 1.016))) 674 | ) 675 | (pin "1" (uuid 319800fe-bd3e-49fd-92c4-ff292d7443fa)) 676 | (pin "2" (uuid 071fde49-1ae2-4eb1-ad01-ba19e0bb598b)) 677 | (instances 678 | (project "pic_programmer" 679 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 680 | (reference "D9") (unit 1) 681 | ) 682 | ) 683 | ) 684 | ) 685 | (symbol (lib_id "pic_programmer_schlib:GND") (at 105.41 181.61 0) (unit 1) 686 | (in_bom yes) (on_board yes) (dnp no) 687 | (uuid 00000000-0000-0000-0000-0000442a5095) 688 | (property "Reference" "#PWR016" (at 105.41 181.61 0) 689 | (effects (font (size 0.762 0.762)) hide) 690 | ) 691 | (property "Value" "GND" (at 105.41 183.388 0) 692 | (effects (font (size 0.762 0.762)) hide) 693 | ) 694 | (property "Footprint" "" (at 105.41 181.61 0) 695 | (effects (font (size 1.524 1.524)) hide) 696 | ) 697 | (property "Datasheet" "" (at 105.41 181.61 0) 698 | (effects (font (size 1.524 1.524)) hide) 699 | ) 700 | (pin "1" (uuid 41790cd6-42a1-4cca-87fc-9359ac864dd6)) 701 | (instances 702 | (project "pic_programmer" 703 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 704 | (reference "#PWR016") (unit 1) 705 | ) 706 | ) 707 | ) 708 | ) 709 | (symbol (lib_id "pic_programmer_schlib:VCC") (at 86.36 167.64 0) (unit 1) 710 | (in_bom yes) (on_board yes) (dnp no) 711 | (uuid 00000000-0000-0000-0000-0000442a50b3) 712 | (property "Reference" "#PWR015" (at 86.36 165.1 0) 713 | (effects (font (size 0.762 0.762)) hide) 714 | ) 715 | (property "Value" "VCC" (at 86.36 165.1 0) 716 | (effects (font (size 0.762 0.762))) 717 | ) 718 | (property "Footprint" "" (at 86.36 167.64 0) 719 | (effects (font (size 1.524 1.524)) hide) 720 | ) 721 | (property "Datasheet" "" (at 86.36 167.64 0) 722 | (effects (font (size 1.524 1.524)) hide) 723 | ) 724 | (pin "1" (uuid af0be450-1eaa-4d03-84aa-80b0f4af243f)) 725 | (instances 726 | (project "pic_programmer" 727 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 728 | (reference "#PWR015") (unit 1) 729 | ) 730 | ) 731 | ) 732 | ) 733 | (symbol (lib_id "pic_programmer_schlib:PWR_FLAG") (at 40.64 175.26 180) (unit 1) 734 | (in_bom yes) (on_board yes) (dnp no) 735 | (uuid 00000000-0000-0000-0000-0000442a8330) 736 | (property "Reference" "#FLG06" (at 40.64 182.118 0) 737 | (effects (font (size 0.762 0.762)) hide) 738 | ) 739 | (property "Value" "PWR_FLAG" (at 40.64 181.102 0) 740 | (effects (font (size 0.762 0.762))) 741 | ) 742 | (property "Footprint" "" (at 40.64 175.26 0) 743 | (effects (font (size 1.524 1.524)) hide) 744 | ) 745 | (property "Datasheet" "" (at 40.64 175.26 0) 746 | (effects (font (size 1.524 1.524)) hide) 747 | ) 748 | (pin "1" (uuid 54225e78-0dd5-4ff4-aae3-5773fe3067ac)) 749 | (instances 750 | (project "pic_programmer" 751 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 752 | (reference "#FLG06") (unit 1) 753 | ) 754 | ) 755 | ) 756 | ) 757 | (symbol (lib_id "pic_programmer_schlib:7805") (at 68.58 170.18 0) (unit 1) 758 | (in_bom yes) (on_board yes) (dnp no) 759 | (uuid 00000000-0000-0000-0000-00005a238df8) 760 | (property "Reference" "U3" (at 72.39 175.1584 0) 761 | (effects (font (size 1.524 1.524))) 762 | ) 763 | (property "Value" "7805" (at 68.58 165.1 0) 764 | (effects (font (size 1.524 1.524))) 765 | ) 766 | (property "Footprint" "Package_TO_SOT_THT:TO-220-3_Horizontal_TabDown" (at 68.58 177.8 0) 767 | (effects (font (size 0.381 0.381))) 768 | ) 769 | (property "Datasheet" "www.st.com/resource/en/datasheet/l78.pdf" (at 68.58 170.18 0) 770 | (effects (font (size 0.762 0.762)) hide) 771 | ) 772 | (pin "1" (uuid 8df2ae42-1a2d-4660-b7a9-f0a141785064)) 773 | (pin "2" (uuid 905289ea-3c39-4ced-9d91-2d796770e795)) 774 | (pin "3" (uuid 54a14c6b-da3a-4924-b7e2-572f6959fe7c)) 775 | (instances 776 | (project "pic_programmer" 777 | (path "/2e45d1d2-c73f-46e5-98d6-3a9dc360bff5" 778 | (reference "U3") (unit 1) 779 | ) 780 | ) 781 | ) 782 | ) 783 | ] 784 | 785 | -------------------------------------------------------------------------------- /Sample_Blocks/Capacitor Line 0805.kicad_pack: -------------------------------------------------------------------------------- 1 | packSch:[(lib_symbols 2 | (symbol "kit-coldfire_schlib:C" (pin_numbers hide) (pin_names (offset 0.254)) (in_bom yes) (on_board yes) 3 | (property "Reference" "C" (at 0 2.54 0) 4 | (effects (font (size 1.016 1.016)) (justify left)) 5 | ) 6 | (property "Value" "C" (at 0.1524 -2.159 0) 7 | (effects (font (size 1.016 1.016)) (justify left)) 8 | ) 9 | (property "Footprint" "" (at 0.9652 -3.81 0) 10 | (effects (font (size 0.762 0.762))) 11 | ) 12 | (property "Datasheet" "" (at 0 2.54 0) 13 | (effects (font (size 0.762 0.762))) 14 | ) 15 | (property "ki_fp_filters" "SM* C? C1-1" (at 0 0 0) 16 | (effects (font (size 1.27 1.27)) hide) 17 | ) 18 | (symbol "C_0_1" 19 | (polyline 20 | (pts 21 | (xy -2.032 -0.762) 22 | (xy 2.032 -0.762) 23 | ) 24 | (stroke (width 0.508) (type default)) 25 | (fill (type none)) 26 | ) 27 | (polyline 28 | (pts 29 | (xy -2.032 0.762) 30 | (xy 2.032 0.762) 31 | ) 32 | (stroke (width 0.508) (type default)) 33 | (fill (type none)) 34 | ) 35 | ) 36 | (symbol "C_1_1" 37 | (pin passive line (at 0 5.08 270) (length 4.318) 38 | (name "~" (effects (font (size 1.016 1.016)))) 39 | (number "1" (effects (font (size 1.016 1.016)))) 40 | ) 41 | (pin passive line (at 0 -5.08 90) (length 4.318) 42 | (name "~" (effects (font (size 1.016 1.016)))) 43 | (number "2" (effects (font (size 1.016 1.016)))) 44 | ) 45 | ) 46 | ) 47 | ) 48 | 49 | (junction (at 186.69 254) (diameter 1.016) (color 0 0 0 0) 50 | (uuid cff34251-839c-4da9-a0ad-85d0fc4e32af) 51 | ) 52 | (wire (pts (xy 120.65 254) (xy 120.65 255.27)) 53 | (stroke (width 0) (type solid)) 54 | (uuid bfcb5da5-6ec7-4f2e-b43e-b70250006de3) 55 | ) 56 | (wire (pts (xy 140.97 266.7) (xy 140.97 265.43)) 57 | (stroke (width 0) (type solid)) 58 | (uuid c2db0bd8-ba2e-45d7-9a76-40988d4be5f1) 59 | ) 60 | (wire (pts (xy 149.86 266.7) (xy 158.75 266.7)) 61 | (stroke (width 0) (type solid)) 62 | (uuid 1f9a6495-6b89-4f78-b087-6e58decce68f) 63 | ) 64 | (wire (pts (xy 130.81 266.7) (xy 130.81 265.43)) 65 | (stroke (width 0) (type solid)) 66 | (uuid 4145fce7-448c-4b92-bac2-7743af1b24da) 67 | ) 68 | (wire (pts (xy 120.65 265.43) (xy 120.65 266.7)) 69 | (stroke (width 0) (type solid)) 70 | (uuid 45dc4abb-7d90-48d4-9d91-c37d52dff2cc) 71 | ) 72 | (symbol (lib_id "kit-coldfire_schlib:C") (at 120.65 260.35 0) (unit 1) 73 | (in_bom yes) (on_board yes) (dnp no) 74 | (uuid 00000000-0000-0000-0000-000046161cb8) 75 | (property "Reference" "C111" (at 121.92 257.81 0) 76 | (effects (font (size 1.27 1.27)) (justify left)) 77 | ) 78 | (property "Value" "100nF" (at 121.92 262.89 0) 79 | (effects (font (size 1.27 1.27)) (justify left)) 80 | ) 81 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 120.65 260.35 0) 82 | (effects (font (size 1.524 1.524)) hide) 83 | ) 84 | (property "Datasheet" "" (at 120.65 260.35 0) 85 | (effects (font (size 1.524 1.524)) hide) 86 | ) 87 | (pin "1" (uuid b6897e09-7a45-455f-b559-e430a46a9b9c)) 88 | (pin "2" (uuid 0163f016-672b-4604-9808-5c7f251be7fa)) 89 | (instances 90 | (project "kit-dev-coldfire-xilinx_5213" 91 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 92 | (reference "C111") (unit 1) 93 | ) 94 | ) 95 | ) 96 | ) 97 | (symbol (lib_id "kit-coldfire_schlib:C") (at 140.97 260.35 0) (unit 1) 98 | (in_bom yes) (on_board yes) (dnp no) 99 | (uuid 00000000-0000-0000-0000-000046161cd3) 100 | (property "Reference" "C113" (at 142.24 257.81 0) 101 | (effects (font (size 1.27 1.27)) (justify left)) 102 | ) 103 | (property "Value" "100nF" (at 142.24 262.89 0) 104 | (effects (font (size 1.27 1.27)) (justify left)) 105 | ) 106 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 140.97 260.35 0) 107 | (effects (font (size 1.524 1.524)) hide) 108 | ) 109 | (property "Datasheet" "" (at 140.97 260.35 0) 110 | (effects (font (size 1.524 1.524)) hide) 111 | ) 112 | (pin "1" (uuid c4618c4e-e1f9-433e-9eec-a33cfba2cbe0)) 113 | (pin "2" (uuid e795562b-a440-4788-b17c-52ad59ebd1c0)) 114 | (instances 115 | (project "kit-dev-coldfire-xilinx_5213" 116 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 117 | (reference "C113") (unit 1) 118 | ) 119 | ) 120 | ) 121 | ) 122 | (wire (pts (xy 130.81 254) (xy 140.97 254)) 123 | (stroke (width 0) (type solid)) 124 | (uuid b4c5b3a9-79cb-417d-a5e8-134de856554c) 125 | ) 126 | (wire (pts (xy 177.8 266.7) (xy 177.8 265.43)) 127 | (stroke (width 0) (type solid)) 128 | (uuid 71bcc62d-4590-43a0-9795-4c943fff2072) 129 | ) 130 | (wire (pts (xy 130.81 254) (xy 130.81 255.27)) 131 | (stroke (width 0) (type solid)) 132 | (uuid 76967ae8-3eee-47d3-bc86-88fec11d7bce) 133 | ) 134 | (junction (at 186.69 266.7) (diameter 1.016) (color 0 0 0 0) 135 | (uuid d5b800ca-1ab6-4b66-b5f7-2dda5658b504) 136 | ) 137 | (junction (at 111.76 254) (diameter 1.016) (color 0 0 0 0) 138 | (uuid d9c6d5d2-0b49-49ba-a970-cd2c32f74c54) 139 | ) 140 | (junction (at 158.75 266.7) (diameter 1.016) (color 0 0 0 0) 141 | (uuid feb26ecb-9193-46ea-a41b-d09305bf0a3e) 142 | ) 143 | (wire (pts (xy 120.65 254) (xy 130.81 254)) 144 | (stroke (width 0) (type solid)) 145 | (uuid 6d41eae8-10fd-445b-a88f-d4e43ea1806a) 146 | ) 147 | (junction (at 140.97 266.7) (diameter 1.016) (color 0 0 0 0) 148 | (uuid 6fd4442e-30b3-428b-9306-61418a63d311) 149 | ) 150 | (junction (at 120.65 266.7) (diameter 1.016) (color 0 0 0 0) 151 | (uuid 7e0a03ae-d054-4f76-a131-5c09b8dc1636) 152 | ) 153 | (junction (at 177.8 254) (diameter 1.016) (color 0 0 0 0) 154 | (uuid 0ce8d3ab-2662-4158-8a2a-18b782908fc5) 155 | ) 156 | (wire (pts (xy 177.8 266.7) (xy 186.69 266.7)) 157 | (stroke (width 0) (type solid)) 158 | (uuid 015f1261-fccd-446a-a955-fa105fb5b174) 159 | ) 160 | (wire (pts (xy 140.97 254) (xy 149.86 254)) 161 | (stroke (width 0) (type solid)) 162 | (uuid d8c0e3fd-ef00-4817-9571-70e451cb8f2a) 163 | ) 164 | (junction (at 140.97 254) (diameter 1.016) (color 0 0 0 0) 165 | (uuid 8d0c1d66-35ef-4a53-a28f-436a11b54f42) 166 | ) 167 | (junction (at 130.81 254) (diameter 1.016) (color 0 0 0 0) 168 | (uuid 9193c41e-d425-447d-b95c-6986d66ea01c) 169 | ) 170 | (wire (pts (xy 149.86 254) (xy 149.86 255.27)) 171 | (stroke (width 0) (type solid)) 172 | (uuid 9ae522cc-9eea-4791-885c-5ad495ef4205) 173 | ) 174 | (wire (pts (xy 158.75 254) (xy 158.75 255.27)) 175 | (stroke (width 0) (type solid)) 176 | (uuid 02b1cfb4-f41a-47ba-b7e8-d8e43b690784) 177 | ) 178 | (symbol (lib_id "kit-coldfire_schlib:C") (at 149.86 260.35 0) (unit 1) 179 | (in_bom yes) (on_board yes) (dnp no) 180 | (uuid 00000000-0000-0000-0000-000046161cd4) 181 | (property "Reference" "C114" (at 151.13 257.81 0) 182 | (effects (font (size 1.27 1.27)) (justify left)) 183 | ) 184 | (property "Value" "100nF" (at 151.13 262.89 0) 185 | (effects (font (size 1.27 1.27)) (justify left)) 186 | ) 187 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 149.86 260.35 0) 188 | (effects (font (size 1.524 1.524)) hide) 189 | ) 190 | (property "Datasheet" "" (at 149.86 260.35 0) 191 | (effects (font (size 1.524 1.524)) hide) 192 | ) 193 | (pin "1" (uuid a72deb05-55a3-41a4-8c88-46d8fa6b1dde)) 194 | (pin "2" (uuid 36ca50bf-de50-41a4-afde-0f1802c075e0)) 195 | (instances 196 | (project "kit-dev-coldfire-xilinx_5213" 197 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 198 | (reference "C114") (unit 1) 199 | ) 200 | ) 201 | ) 202 | ) 203 | (wire (pts (xy 186.69 255.27) (xy 186.69 254)) 204 | (stroke (width 0) (type solid)) 205 | (uuid fbe5a35c-a194-4be2-bdcf-f88a393b5d36) 206 | ) 207 | (wire (pts (xy 140.97 254) (xy 140.97 255.27)) 208 | (stroke (width 0) (type solid)) 209 | (uuid fdc1bbff-fab6-4f6b-a746-68299a7602e3) 210 | ) 211 | (symbol (lib_id "kit-coldfire_schlib:C") (at 158.75 260.35 0) (unit 1) 212 | (in_bom yes) (on_board yes) (dnp no) 213 | (uuid 00000000-0000-0000-0000-000046161cd7) 214 | (property "Reference" "C115" (at 160.02 257.81 0) 215 | (effects (font (size 1.27 1.27)) (justify left)) 216 | ) 217 | (property "Value" "100nF" (at 160.02 262.89 0) 218 | (effects (font (size 1.27 1.27)) (justify left)) 219 | ) 220 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 158.75 260.35 0) 221 | (effects (font (size 1.524 1.524)) hide) 222 | ) 223 | (property "Datasheet" "" (at 158.75 260.35 0) 224 | (effects (font (size 1.524 1.524)) hide) 225 | ) 226 | (pin "1" (uuid ade5b47c-921c-4448-aea7-1df8388e26ba)) 227 | (pin "2" (uuid 08f22bfd-198b-448d-86df-dff4873d0240)) 228 | (instances 229 | (project "kit-dev-coldfire-xilinx_5213" 230 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 231 | (reference "C115") (unit 1) 232 | ) 233 | ) 234 | ) 235 | ) 236 | (symbol (lib_id "kit-coldfire_schlib:C") (at 130.81 260.35 0) (unit 1) 237 | (in_bom yes) (on_board yes) (dnp no) 238 | (uuid 00000000-0000-0000-0000-0000461bb5e5) 239 | (property "Reference" "C112" (at 132.08 257.81 0) 240 | (effects (font (size 1.27 1.27)) (justify left)) 241 | ) 242 | (property "Value" "100nF" (at 132.08 262.89 0) 243 | (effects (font (size 1.27 1.27)) (justify left)) 244 | ) 245 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 130.81 260.35 0) 246 | (effects (font (size 1.524 1.524)) hide) 247 | ) 248 | (property "Datasheet" "" (at 130.81 260.35 0) 249 | (effects (font (size 1.524 1.524)) hide) 250 | ) 251 | (pin "1" (uuid 9291881c-03f2-477e-84c1-60137087bc6f)) 252 | (pin "2" (uuid 93c355ae-dff8-42a4-8924-00c52a1f9077)) 253 | (instances 254 | (project "kit-dev-coldfire-xilinx_5213" 255 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 256 | (reference "C112") (unit 1) 257 | ) 258 | ) 259 | ) 260 | ) 261 | (junction (at 130.81 266.7) (diameter 1.016) (color 0 0 0 0) 262 | (uuid 27d56953-c620-4d5b-9c1c-e48bc3d9684a) 263 | ) 264 | (junction (at 177.8 266.7) (diameter 1.016) (color 0 0 0 0) 265 | (uuid 29195ea4-8218-44a1-b4bf-466bee0082e4) 266 | ) 267 | (junction (at 149.86 266.7) (diameter 1.016) (color 0 0 0 0) 268 | (uuid 29e058a7-50a3-43e5-81c3-bfee53da08be) 269 | ) 270 | (wire (pts (xy 167.64 254) (xy 177.8 254)) 271 | (stroke (width 0) (type solid)) 272 | (uuid 211179e1-84cc-42b1-91ed-3158f4107bc8) 273 | ) 274 | (symbol (lib_id "kit-coldfire_schlib:C") (at 111.76 260.35 0) (unit 1) 275 | (in_bom yes) (on_board yes) (dnp no) 276 | (uuid 00000000-0000-0000-0000-000046161cb5) 277 | (property "Reference" "C110" (at 113.03 257.81 0) 278 | (effects (font (size 1.27 1.27)) (justify left)) 279 | ) 280 | (property "Value" "100nF" (at 113.03 262.89 0) 281 | (effects (font (size 1.27 1.27)) (justify left)) 282 | ) 283 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 111.76 260.35 0) 284 | (effects (font (size 1.524 1.524)) hide) 285 | ) 286 | (property "Datasheet" "" (at 111.76 260.35 0) 287 | (effects (font (size 1.524 1.524)) hide) 288 | ) 289 | (pin "1" (uuid 57534d06-521c-4c91-a1a6-9deb10357dad)) 290 | (pin "2" (uuid 41666b8e-f4a8-4660-806a-190ccdc0d8f7)) 291 | (instances 292 | (project "kit-dev-coldfire-xilinx_5213" 293 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 294 | (reference "C110") (unit 1) 295 | ) 296 | ) 297 | ) 298 | ) 299 | (wire (pts (xy 111.76 266.7) (xy 120.65 266.7)) 300 | (stroke (width 0) (type solid)) 301 | (uuid a48d3c2a-4604-4518-adc9-ac063f414bf1) 302 | ) 303 | (wire (pts (xy 167.64 266.7) (xy 167.64 265.43)) 304 | (stroke (width 0) (type solid)) 305 | (uuid 139ae4b3-d904-4ed2-a5e4-72d82f9204e9) 306 | ) 307 | (wire (pts (xy 149.86 254) (xy 158.75 254)) 308 | (stroke (width 0) (type solid)) 309 | (uuid 14f0088d-8f7d-4845-8574-0a37323347fe) 310 | ) 311 | (wire (pts (xy 149.86 266.7) (xy 149.86 265.43)) 312 | (stroke (width 0) (type solid)) 313 | (uuid 16328044-3e4f-464c-925d-7ec08f531df2) 314 | ) 315 | (wire (pts (xy 111.76 254) (xy 111.76 255.27)) 316 | (stroke (width 0) (type solid)) 317 | (uuid 5a58f522-22c8-434e-9036-3378f34c2a96) 318 | ) 319 | (wire (pts (xy 140.97 266.7) (xy 149.86 266.7)) 320 | (stroke (width 0) (type solid)) 321 | (uuid c6717eb0-b55b-4845-9f68-f20470e718fd) 322 | ) 323 | (wire (pts (xy 177.8 254) (xy 177.8 255.27)) 324 | (stroke (width 0) (type solid)) 325 | (uuid c7bb7729-5126-4dae-a206-20a58e236d2e) 326 | ) 327 | (wire (pts (xy 167.64 254) (xy 167.64 255.27)) 328 | (stroke (width 0) (type solid)) 329 | (uuid c82902df-89e0-41f2-9cd4-9af411a6da4d) 330 | ) 331 | (junction (at 167.64 266.7) (diameter 1.016) (color 0 0 0 0) 332 | (uuid 0e8f7fc0-2ef2-4b90-9c15-8a3a601ee459) 333 | ) 334 | (wire (pts (xy 167.64 266.7) (xy 177.8 266.7)) 335 | (stroke (width 0) (type solid)) 336 | (uuid deb05475-64f9-4709-8dc6-009a5142203e) 337 | ) 338 | (wire (pts (xy 130.81 266.7) (xy 140.97 266.7)) 339 | (stroke (width 0) (type solid)) 340 | (uuid e14bc5b4-007b-44da-90f0-92f8284b4f67) 341 | ) 342 | (wire (pts (xy 177.8 254) (xy 186.69 254)) 343 | (stroke (width 0) (type solid)) 344 | (uuid e17ca586-c776-4db2-9bc4-48743eac9a93) 345 | ) 346 | (wire (pts (xy 106.68 254) (xy 111.76 254)) 347 | (stroke (width 0) (type solid)) 348 | (uuid e3833d07-1b5b-458c-9270-c4fa52a6e830) 349 | ) 350 | (wire (pts (xy 111.76 265.43) (xy 111.76 266.7)) 351 | (stroke (width 0) (type solid)) 352 | (uuid e6b35e56-74e5-4d85-8beb-bd267bb56b23) 353 | ) 354 | (wire (pts (xy 158.75 266.7) (xy 158.75 265.43)) 355 | (stroke (width 0) (type solid)) 356 | (uuid e7e57a9b-23e7-47a4-b405-898e53d41fef) 357 | ) 358 | (junction (at 120.65 254) (diameter 1.016) (color 0 0 0 0) 359 | (uuid 20c315f4-1e4f-49aa-8d61-778a7389df7e) 360 | ) 361 | (junction (at 167.64 254) (diameter 1.016) (color 0 0 0 0) 362 | (uuid 382ca670-6ae8-4de6-90f9-f241d1337171) 363 | ) 364 | (junction (at 149.86 254) (diameter 1.016) (color 0 0 0 0) 365 | (uuid 3fd54105-4b7e-4004-9801-76ec66108a22) 366 | ) 367 | (junction (at 158.75 254) (diameter 1.016) (color 0 0 0 0) 368 | (uuid 5cf2db29-f7ab-499a-9907-cdeba64bf0f3) 369 | ) 370 | (wire (pts (xy 120.65 266.7) (xy 130.81 266.7)) 371 | (stroke (width 0) (type solid)) 372 | (uuid 5784deb9-6cbb-4576-8d26-69a3097e8b55) 373 | ) 374 | (wire (pts (xy 186.69 254) (xy 196.85 254)) 375 | (stroke (width 0) (type solid)) 376 | (uuid 0bcca780-585d-4e22-b836-6ee30f784464) 377 | ) 378 | (wire (pts (xy 186.69 266.7) (xy 186.69 265.43)) 379 | (stroke (width 0) (type solid)) 380 | (uuid 0eec4b1d-d4d5-41a4-bafe-fb72557c4f1c) 381 | ) 382 | (symbol (lib_id "kit-coldfire_schlib:C") (at 167.64 260.35 0) (unit 1) 383 | (in_bom yes) (on_board yes) (dnp no) 384 | (uuid 00000000-0000-0000-0000-000046161cd8) 385 | (property "Reference" "C116" (at 168.91 257.81 0) 386 | (effects (font (size 1.27 1.27)) (justify left)) 387 | ) 388 | (property "Value" "100nF" (at 168.91 262.89 0) 389 | (effects (font (size 1.27 1.27)) (justify left)) 390 | ) 391 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 167.64 260.35 0) 392 | (effects (font (size 1.524 1.524)) hide) 393 | ) 394 | (property "Datasheet" "" (at 167.64 260.35 0) 395 | (effects (font (size 1.524 1.524)) hide) 396 | ) 397 | (pin "1" (uuid 34cefc2b-a823-4c9f-949f-c81e67733d45)) 398 | (pin "2" (uuid 9b4204b1-54e2-4b7d-9c31-161d8444c7ee)) 399 | (instances 400 | (project "kit-dev-coldfire-xilinx_5213" 401 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 402 | (reference "C116") (unit 1) 403 | ) 404 | ) 405 | ) 406 | ) 407 | (wire (pts (xy 111.76 254) (xy 120.65 254)) 408 | (stroke (width 0) (type solid)) 409 | (uuid ea4dc581-9fe2-491c-a36e-e2428b5edb3a) 410 | ) 411 | (symbol (lib_id "kit-coldfire_schlib:C") (at 177.8 260.35 0) (unit 1) 412 | (in_bom yes) (on_board yes) (dnp no) 413 | (uuid 00000000-0000-0000-0000-000046161cd9) 414 | (property "Reference" "C117" (at 179.07 257.81 0) 415 | (effects (font (size 1.27 1.27)) (justify left)) 416 | ) 417 | (property "Value" "100nF" (at 179.07 262.89 0) 418 | (effects (font (size 1.27 1.27)) (justify left)) 419 | ) 420 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 177.8 260.35 0) 421 | (effects (font (size 1.524 1.524)) hide) 422 | ) 423 | (property "Datasheet" "" (at 177.8 260.35 0) 424 | (effects (font (size 1.524 1.524)) hide) 425 | ) 426 | (pin "1" (uuid 0ee45f93-1c66-4151-bf86-17372ef20154)) 427 | (pin "2" (uuid 274a2e9b-f160-4a49-8f51-20e5b8c7b007)) 428 | (instances 429 | (project "kit-dev-coldfire-xilinx_5213" 430 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 431 | (reference "C117") (unit 1) 432 | ) 433 | ) 434 | ) 435 | ) 436 | (wire (pts (xy 158.75 254) (xy 167.64 254)) 437 | (stroke (width 0) (type solid)) 438 | (uuid cea78870-ca06-4d13-9b6f-029bbbbbc334) 439 | ) 440 | (symbol (lib_id "kit-coldfire_schlib:C") (at 186.69 260.35 0) (unit 1) 441 | (in_bom yes) (on_board yes) (dnp no) 442 | (uuid 00000000-0000-0000-0000-000046161cda) 443 | (property "Reference" "C118" (at 187.96 257.81 0) 444 | (effects (font (size 1.27 1.27)) (justify left)) 445 | ) 446 | (property "Value" "100nF" (at 187.96 262.89 0) 447 | (effects (font (size 1.27 1.27)) (justify left)) 448 | ) 449 | (property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 186.69 260.35 0) 450 | (effects (font (size 1.524 1.524)) hide) 451 | ) 452 | (property "Datasheet" "" (at 186.69 260.35 0) 453 | (effects (font (size 1.524 1.524)) hide) 454 | ) 455 | (pin "1" (uuid f0e555b8-7fc4-422a-841c-aad3c60326b0)) 456 | (pin "2" (uuid 36d3dd01-caa0-4850-ac45-c42bf1fa35a5)) 457 | (instances 458 | (project "kit-dev-coldfire-xilinx_5213" 459 | (path "/f5d7a48d-4587-4550-a504-c505ca11d375" 460 | (reference "C118") (unit 1) 461 | ) 462 | ) 463 | ) 464 | ) 465 | (wire (pts (xy 158.75 266.7) (xy 167.64 266.7)) 466 | (stroke (width 0) (type solid)) 467 | (uuid 61b5475e-6596-4f05-9e75-efe2a87dd519) 468 | ) 469 | (wire (pts (xy 186.69 266.7) (xy 196.85 266.7)) 470 | (stroke (width 0) (type solid)) 471 | (uuid 63dee1be-985f-4110-8c72-834832ad7108) 472 | ) 473 | ] -------------------------------------------------------------------------------- /assets/install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/802e16b5631c68acc901331c2c6fff90d9cc1c54/assets/install.png -------------------------------------------------------------------------------- /assets/launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/802e16b5631c68acc901331c2c6fff90d9cc1c54/assets/launcher.png -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/802e16b5631c68acc901331c2c6fff90d9cc1c54/assets/logo.png -------------------------------------------------------------------------------- /assets/ss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/802e16b5631c68acc901331c2c6fff90d9cc1c54/assets/ss.png -------------------------------------------------------------------------------- /metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://go.kicad.org/pcm/schemas/v1", 3 | "name": "Schematic Blocks Plug-In", 4 | "description": "Save circuits as blocks and reuse them later in different projects or in the same project. ", 5 | "description_full": "A plug-in can be used to save circuits as blocks. Then these circuit blocks can be reused in different projects. This plug-in aims to reduce schematic drawing time significantly. \nTo create a schematic block, first, select the circuit and copy it to the clipboard (Ctrl+C). Then open up the plug-in and give it a name by writing it in the text field at the top. Click the “Save Block” Button to save it in the working directory. If you want to change the working directory, you can click the “Change Working Directory” button. All the blocks are saved in the working directory. Also, all the blocks in that directory will be listed in the List box. \nTo import a Schematic Block to the project, first, select the Block in the plugin and click “Import Selected Block to Clipboard”. Go to the schematic and paste it on the sheet. ", 6 | "identifier": "com.github.Sajitha-Aldeniya.KiCAD-Schematic-Blocks-Plugin", 7 | "type": "plugin", 8 | "author": { 9 | "name": "Sajitha Aldeniya", 10 | "contact": { 11 | "web": "https://github.com/Sajitha-Aldeniya" 12 | } 13 | }, 14 | "maintainer": { 15 | "name": "Sajitha Aldeniya", 16 | "contact": { 17 | "web": "https://github.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin" 18 | } 19 | }, 20 | "license": "MIT", 21 | "resources": { 22 | "homepage": "https://github.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin" 23 | }, 24 | "versions": [ 25 | { 26 | "version": "0.1", 27 | "status": "testing", 28 | "kicad_version": "6", 29 | "download_sha256": "fcff8020f497017db902540e9776949379cc96c30ff265f06ab83219735134ef", 30 | "download_size": 8270, 31 | "download_url": "https://github.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/releases/download/v0.1/Schematic_Block_Plugin_v0.1.zip", 32 | "install_size": 19326 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /plugins/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | from .schematic_blocks_pluging_action import SchematicBlocksPluging 3 | SchematicBlocksPluging().register() # Instantiate and register to Pcbnew -------------------------------------------------------------------------------- /plugins/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/802e16b5631c68acc901331c2c6fff90d9cc1c54/plugins/icon.png -------------------------------------------------------------------------------- /plugins/schematic_blocks_pluging_action.py: -------------------------------------------------------------------------------- 1 | import pcbnew 2 | import wx 3 | import os 4 | import subprocess 5 | import platform 6 | import shutil 7 | import configparser 8 | 9 | 10 | 11 | class SchematicBlocksPluging(pcbnew.ActionPlugin): 12 | def defaults(self): 13 | self.name = "SchematicBlocks" 14 | self.category = "A descriptive category name" 15 | self.description = "A description of the plugin and what it does" 16 | self.show_toolbar_button = True # Optional, defaults to False 17 | self.icon_file_name = os.path.join(os.path.dirname(__file__), 'icon.png') # Optional, defaults to "" 18 | 19 | 20 | 21 | 22 | def Run(self): 23 | # The entry function of the plugin that is executed on user action 24 | print("Hello World") 25 | app = SchematicBlockSaverPlugin(False) 26 | app.MainLoop() 27 | # pcbnew.Refresh() 28 | 29 | 30 | 31 | 32 | #SchematicBlocksPluging().register() # Instantiate and register to Pcbnew 33 | 34 | 35 | 36 | 37 | class SchematicBlockSaverPlugin(wx.App): 38 | def OnInit(self): 39 | self.frame = SchematicBlockSaverFrame(None, title="Schematic Block Saver",size=(400, 600)) 40 | self.SetTopWindow(self.frame) 41 | self.frame.Show() 42 | return True 43 | 44 | class SchematicBlockSaverFrame(wx.Frame): 45 | def __init__(self, *args, **kwargs): 46 | super(SchematicBlockSaverFrame, self).__init__(*args, **kwargs) 47 | 48 | self.InitUI() 49 | 50 | def InitUI(self): 51 | 52 | self.Bind(wx.EVT_CLOSE, self.OnExit) 53 | load_config() 54 | 55 | panel = wx.Panel(self) 56 | 57 | vbox = wx.BoxSizer(wx.VERTICAL) 58 | 59 | label1 = wx.StaticText(panel, label="Enter Schematic Block name:") 60 | vbox.Add(label1, flag=wx.TOP | wx.LEFT | wx.RIGHT, border=10) 61 | 62 | self.filename_input = wx.TextCtrl(panel) 63 | vbox.Add(self.filename_input, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 64 | 65 | save_button = wx.Button(panel, label="Save Block") 66 | vbox.Add(save_button, flag=wx.EXPAND | wx.ALL, border=10) 67 | 68 | label2 = wx.StaticText(panel, label="Select a .kicad_pack file to import:") 69 | vbox.Add(label2, flag=wx.TOP | wx.LEFT | wx.RIGHT, border=10) 70 | 71 | self.search_bar = wx.SearchCtrl(panel, style=wx.TE_PROCESS_ENTER) 72 | vbox.Add(self.search_bar, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 73 | 74 | self.file_list = wx.ListBox(panel) 75 | vbox.Add(self.file_list, proportion=1, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) 76 | 77 | import_button = wx.Button(panel, label="Import Selected Block to Clipboard") 78 | vbox.Add(import_button, flag=wx.EXPAND | wx.ALL, border=10) 79 | 80 | import_to_dir_button = wx.Button(panel, label="Import Block") 81 | vbox.Add(import_to_dir_button, flag=wx.EXPAND | wx.ALL, border=10) 82 | 83 | dir_button = wx.Button(panel, label="Change Working Directory") 84 | vbox.Add(dir_button, flag=wx.EXPAND | wx.ALL, border=10) 85 | 86 | open_dir_button = wx.Button(panel, label="Open Working Directory") 87 | vbox.Add(open_dir_button, flag=wx.EXPAND | wx.ALL, border=10) 88 | 89 | delete_button = wx.Button(panel, label="Delete Selected Block") 90 | delete_button.SetForegroundColour(wx.Colour(255, 0, 0)) # Set text color to red 91 | vbox.Add(delete_button, flag=wx.EXPAND | wx.ALL, border=10) 92 | 93 | 94 | 95 | panel.SetSizer(vbox) 96 | 97 | save_button.Bind(wx.EVT_BUTTON, self.OnSave) 98 | import_button.Bind(wx.EVT_BUTTON, self.OnImport) 99 | import_to_dir_button.Bind(wx.EVT_BUTTON, self.OnImportToDirectory) 100 | dir_button.Bind(wx.EVT_BUTTON, self.OnChangeDirectory) 101 | open_dir_button.Bind(wx.EVT_BUTTON, self.OnOpenDirectory) 102 | delete_button.Bind(wx.EVT_BUTTON, self.OnDeleteFile) 103 | self.search_bar.Bind(wx.EVT_TEXT, self.OnSearch) 104 | self.search_bar.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.OnCancelSearch) 105 | 106 | self.UpdateFileList() 107 | 108 | def OnExit(self, event): 109 | save_config() 110 | self.Destroy() 111 | 112 | 113 | def UpdateFileList(self, search_text=""): 114 | kicad_pack_files = [filename for filename in os.listdir() if filename.endswith(".kicad_pack")] 115 | if search_text: 116 | kicad_pack_files = [filename for filename in kicad_pack_files if search_text.lower() in filename.lower()] 117 | display_files = [f"📦 {filename}" for filename in kicad_pack_files] 118 | self.file_list.Set(display_files) 119 | 120 | def OnSearch(self, event): 121 | search_text = self.search_bar.GetValue() 122 | self.UpdateFileList(search_text) 123 | 124 | def OnCancelSearch(self, event): 125 | self.search_bar.SetValue("") 126 | self.UpdateFileList() 127 | 128 | def OnSave(self, event): 129 | filename = self.filename_input.GetValue() 130 | if filename: 131 | clipboard = wx.Clipboard.Get() 132 | clipboard.Open() 133 | data = wx.TextDataObject() 134 | clipboard.GetData(data) 135 | clipboard.Close() 136 | 137 | clipboard_text = data.GetText() 138 | 139 | if clipboard_text: 140 | if not filename.endswith(".kicad_pack"): 141 | filename += ".kicad_pack" 142 | packed_data = f"packSch:[{clipboard_text}]" 143 | with open(filename, "w") as file: 144 | file.write(packed_data) 145 | wx.MessageBox("Clipboard content saved successfully as a Block!", "Success") 146 | self.UpdateFileList() 147 | self.filename_input.Clear() 148 | else: 149 | wx.MessageBox("Clipboard is empty!", "Error") 150 | else: 151 | wx.MessageBox("Please enter a valid Block name.", "Error") 152 | 153 | def OnImport(self, event): 154 | selected_file = self.file_list.GetStringSelection()[2:] 155 | if selected_file: 156 | with open(selected_file, "r") as file: 157 | file_content = file.read() 158 | start = file_content.find("[") + 1 159 | end = file_content.rfind("]") 160 | if start != -1 and end != -1: 161 | clipboard_text = file_content[start:end] 162 | clipboard = wx.Clipboard.Get() 163 | clipboard.Open() 164 | data = wx.TextDataObject(clipboard_text) 165 | clipboard.SetData(data) 166 | clipboard.Close() 167 | wx.MessageBox("Block content imported to clipboard!", "Success") 168 | else: 169 | wx.MessageBox("Invalid file format.", "Error") 170 | else: 171 | wx.MessageBox("Please select a Block to import.", "Error") 172 | 173 | def OnChangeDirectory(self, event): 174 | dialog = wx.DirDialog(self, "Choose a directory:", style=wx.DD_DEFAULT_STYLE | wx.DD_DIR_MUST_EXIST) 175 | if dialog.ShowModal() == wx.ID_OK: 176 | new_directory = dialog.GetPath() 177 | os.chdir(new_directory) 178 | self.UpdateFileList() 179 | save_config() 180 | dialog.Destroy() 181 | 182 | def OnOpenDirectory(self, event): 183 | # current_directory = os.getcwd()+'/' 184 | # #print("+++++++++" + current_directory) 185 | # subprocess.Popen(["xdg-open", current_directory]) # Open directory in file explorer 186 | current_directory = os.getcwd() 187 | if platform.system() == "Windows": 188 | subprocess.Popen(["explorer", current_directory]) # Open directory in file explorer (Windows) 189 | elif platform.system() == "Darwin": 190 | subprocess.Popen(["open", current_directory]) # Open directory in Finder (macOS) 191 | else: # Assuming it's Linux or other Unix-like OS 192 | subprocess.Popen(["xdg-open", current_directory]) # Open directory in default file manager (Linux) 193 | 194 | 195 | def OnDeleteFile(self, event): 196 | selected_file = self.file_list.GetStringSelection() 197 | if selected_file: 198 | selected_file = selected_file.replace("📦 ", "") # Remove the 📦 character 199 | try: 200 | os.remove(selected_file) 201 | wx.MessageBox("File deleted successfully!", "Success") 202 | self.UpdateFileList() 203 | except Exception as e: 204 | wx.MessageBox(f"Error deleting file: {str(e)}", "Error") 205 | else: 206 | wx.MessageBox("Please select a file to delete.", "Error") 207 | 208 | def OnImportToDirectory(self, event): 209 | dialog = wx.FileDialog(self, "Select a .kicad_pack file to import:", style=wx.FD_OPEN) 210 | if dialog.ShowModal() == wx.ID_OK: 211 | source_file = dialog.GetPath() 212 | filename = os.path.basename(source_file) 213 | new_file_path = os.path.join(os.getcwd(), filename) 214 | try: 215 | shutil.copy(source_file, new_file_path) 216 | wx.MessageBox("File imported to current directory successfully!", "Success") 217 | self.UpdateFileList() 218 | except Exception as e: 219 | wx.MessageBox(f"Error importing file: {str(e)}", "Error") 220 | dialog.Destroy() 221 | 222 | def load_config(): 223 | config = configparser.ConfigParser() 224 | config_file_path = os.path.join(os.path.dirname(__file__), "config.ini") # Use absolute path 225 | config.read(config_file_path) 226 | if "General" in config: 227 | os.chdir(config["General"]["WorkingDirectory"]) 228 | 229 | def save_config(): 230 | config = configparser.ConfigParser() 231 | config["General"] = {"WorkingDirectory": os.getcwd()} 232 | config_file_path = os.path.join(os.path.dirname(__file__), "config.ini") # Use absolute path 233 | with open(config_file_path, "w") as configfile: 234 | config.write(configfile) -------------------------------------------------------------------------------- /resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Sajitha-Aldeniya/KiCAD-Schematic-Blocks-Plugin/802e16b5631c68acc901331c2c6fff90d9cc1c54/resources/icon.png --------------------------------------------------------------------------------