---
# System prepended metadata

title: EESchema Usage Cheatsheet
tags: [Electronic Design]

---

My environment :
- KiCad / EESchema version 9.0.6
- Ubuntu 24.04 LTS

> Note :
> SO far I just sketched high-level design of hardware components using `eeschema`, for more advanced usage such as simulation, floorplan, PCB layout, please refer to KiCad official documentation.

## File structure
- schema file `.kicad_sch` must be created along with project file `.kicad_pro`
- the content / syntax in schema file is completely different from previous versions.

## Paging
### Hierarchical Page
- eeschema supports only hierarchical paging
  - one top-level diagram which collects several sub-layer diagrams
  - each of sub layers can be expanded to an independent electrical schematic diagram .

To add a new hierarchical page: 
- click `Draw Hierarchical Sheet` at right-hand toolbar of the GUI
- click anywhere in current layer diagram to determine its position
- GUI will prompt users to name the page and then save it to an external new file `.kicad_sch`

#### Resize Page
To resize currnet page : 
- go to `file` -> `page settings` in menubar
- in prompt window, set `size` to `user (custom)` then edit width and height.

#### Export schematic diagram to picture
- go to `file` -> `plot` in menubar
- in prompt window, select `svg` or `pdf` as output format, click `plot current page`
- for SVG file, use tools like [svgcleaner](https://github.com/RazrFalcon/svgcleaner) (yes it is archived but still useful) which decreases file size by cleaning up unnecessary / invisible portions in the schema.


## Symbols for Electrical Components
Any pre-defined electrical components can be added to current layer of schematic diagram, by clicking `place symbols` at right-hand toolbar, valid symbols  include, but not limited to :
- basic primitives, e.g. power, ground, resistor, capacitor, diode
- sensors and motors e.g. for network, environment monitoring, GPS
- well-known embedded deveopment boards e.g. Arduino,  NodeMCU, STM32, Raspberry PI

### Create your own library for custom symbols
In case KiCAD's default library does not cover your hardware design.

- in menubar, go to `tools` -> `symbol editor`
- a new window `symbol editor` will be launched, create your new library by clicking `new library` in menubar.
- name your custom library then save it.

After completed successfully, you can start adding new symbols to your custom library.
- currently I only create symbols which represent high-level design of a component.
- beside shapes and text, add I/O pins of the component you are editing , by clicking `Draw Pins` on right-hand side toolbar.


## Reference
- [KiCad 9.0 EESchema Reference Manual](https://docs.kicad.org/9.0/en/eeschema/eeschema.html)
- [explain the power flag - KiCad subreddit](https://www.reddit.com/r/KiCad/comments/lwnof0/)
- [ERC error: Input power pin not driven by output power pins -- KiCad official forum](https://forum.kicad.info/t/erc-error-input-power-pin-not-driven-by-output-power-pins/35552)
- [Hide power flag when printing -- use it as helper rather than ERC satisfication](https://forum.kicad.info/t/hide-pwr-flag-when-printing/15107/7)
- [Best practice for unused pins -- EE stackexchange](https://electronics.stackexchange.com/a/730078/549311)
- [resize schematic page -- official forum](https://forum.kicad.info/t/resize-schematic/24937/2)

