====== Resistors and Void Pointers ====== ~~NOTOC~~ If you are programming in C or C++, you can //prevent// the compiler from detecting certain types of errors by using void pointers. A similar thing happens, if you put a passive component on a schematic between two digital pins. ===== What the ERC is ment to detect ===== {{ ::2018-04-03_010.png?direct&600 | No Erros, that's OK}} {{ ::2018-04-03_005.png?direct&600 | Errors, two drivers on one net}} ===== What Designers do in their Schematics ===== If you insert some series resistors into digital lines, you effectively bypass the ERC: {{ ::2018-04-03_006.png?direct&600 |}} The pins of a resistor are defined as passive pins. {{ ::2018-04-03_011.png?direct&600 | }} And for the ERC a passive pin is a free ticket to pair with nearly everything. It's the type with the most green fields: {{ ::2018-04-03_012.png?direct&400 |}} The error checker (ERC) has no chance any more, to prove, if an input pin is driven by exact one output pin. Errors should be reported, if there are inputs, which have no driver and also if there are two drivers connected together. ===== Our Solution: Signal Resistors ===== We at [[https://team14.at|Team14]] came up with the idea, to extend the KiCad's default library by resistors with a dedicated signal flow. They have one input and one output pin. {{ ::2018-04-03_008.png?direct&200 |}} {{ ::2018-04-03_009.png?direct&600 |}} ==== And some More ==== Similar things are very useful for resistors and ferrite beads in power nets with dedicated power inputs and power outputs. With the small arrow for the signal direction, the schematic gets even more readable and helps the designer to detect errors before the prototype board is being soldered and tested on the work bench. {{tag> kicad software technical english article tools}}