A comprehensive Windows-based CAD/EDA tool for schematic capture (SCH) and printed circuit board (PCB) design. Features extensive component libraries, auto-routing, DRC, and support for multi-sheet designs. Originally developed in Chinese, this open-source version provides full access to the C++ source code for educational and research purposes.
- đź”§ Built with C++ and MFC using Codejock ToolkitPro
- 📚 Over 10,000 components in library
- ⚡ Real-time DRC and auto-routing
- 🎯 Professional schematic & PCB layout tools
- Install Visual Studio 2010+
- Install Codejock ToolkitPro
- Clone this repository
- Windows Only: Built for Windows environments
- Educational Use: For learning and research purposes
- Third-party Dependencies: Commercial use requires ToolkitPro license
- Windows 7/10/11
- .NET Framework 4.5+
- 2GB RAM minimum, 4GB recommended
See repository README.md and README.txt for build instructions and source code details.
- Email: [email protected]
- Website: www.richardiffusion.me
- Github: github.com/richardiffusion
For educational and research purposes. Commercial use requires proper licensing of third-party dependencies.
The schematic design environment is abbreviated as SCH, and the printed circuit board design environment is abbreviated as PCB.
First, run ESD.exe. The SCH interface will appear. Execute the File/Open command and open the sample design file controller.eda located in the demo folder.
Use the View/All command or View/Sheet command to display the full view of the design (Shortcuts are Z-A and Z-S).
Use the View/In command or View/Out command to zoom in or out of the design view (Shortcuts are Z-I or PgUp, and Z-O or PgDn).
The mouse wheel, Shift + mouse wheel, holding the right mouse button and dragging, PgUp, and PgDn are all quick ways to control the display area.
Press the Tab key, use the View/To PCB command, or click the toolbar icon
to switch to the PCB design environment.
The SCH and PCB environments work together to complete the process from schematic design to PCB realization. The component list and netlist from SCH can be automatically transferred to the PCB environment, enabling automated design processes such as loading packages, component placement, routing, and Design Rule Checking (DRC). Of course, using only the SCH part or only the PCB part can also fulfill user requirements. For example, even with only a PCB file, it's possible to generate a component list and netlist from the PCB, and then proceed with DRC.
Operations on objects in both SCH and PCB follow the general standards of CAD design software: Left-click = Select, Double-click = Edit, Hold left button and drag = Move. All editing commands for objects are located under the main menu "Edit", and all placement commands are under the main menu "Place". The software fully supports Undo and Redo for operations.
SCH Component Libraries and PCB Package Libraries contain tens of thousands of components and support user customization.
The complete software functionality and user manual cover over 300 pages, which cannot be detailed here. Interested users or developers can contact the author for further assistance.
Copyright richardiffusion.me 2020-2025