TinyCAD : TinyCAD is a program for drawing electrical circuit diagrams commonly known as schematic drawings. It supports standard and custom symbol libraries. It supports PCB layout programs with several netlist formats and can also produce SPICE simulation netlists. It is also often used to draw one-line diagrams, block diagrams, and presentation drawings.
The source code for TinyCAD is now on GitHub: https://github.com/matt123p/TinyCAD
Online documentation can be found here: https://github.com/matt123p/TinyCAD/wiki