Skip to content

Add Raspberry Pi Pico and Pico W

Add Raspberry Pi Pico and Pico W from Ki-Lime Pi Pico 2.0.0

Datasheets:
https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf
https://datasheets.raspberrypi.com/picow/pico-w-datasheet.pdf

Source repository: https://gitlab.com/recursivenomad/ki-lime-pi-pico

Image of Ki-Lime Pi Pico schematic symbols

These are some of the symbols being added, but there are more worth interrogating in this submission that are not imaged here.

Responses to errors produced by the KLC checker scripts:

S3.1 - All qualify for exception, and multi-part elements are centred around final compound symbol
S3.6 - Offset increased to accommodate functional diagrams, still within range
S4.2 - AGND intentionally grouped with analog IO... thoughts?
S4.3 - Undocumented flagging; No mention of non-numeric pins in pinstacks in KLC v3.0.43
S4.4 - False flagging...? Rule does not match KLC v3.0.43 online.
S4.6 - Intentionally made NC pin visible as it has (albeit not recommended) alternate pin functions... thoughts?
S5.1 - All qualify for exception under G2.1
S5.2 - Footprint filters intentionally do not contain wildcards due to specific nature of matching footprints. Is that okay?
S6.2 - Undocumented flagging; The component name is RaspberryPi_Pico(_W), and it intentionally does not match the symbol names because of the variations.
S6.2 - Additional erroneous flagging (belongs in S7.2) Multi-part module symbols are not graphic nor power symbols.
S7.2 - Multi-part module symbols are not graphic symbols, but virtual symbols

Any additional deviations from the KLC were mostly conscious decisions to follow the existing norms within the MCU_Module library.

Okay, so...

I have spent an unreasonable amount of time developing a library for the Raspberry Pi Pico recently, and it covers a lot of fringe edge cases that I assume would be unnecessarily specific to include in a core library. That said, I wanted to first open this merge request with all the offerings on the table, to then work with the KiCad library team to trim it down once you've had a chance to review what's available.

Some of the most stand-out oddities of this symbol library are:

  • 3 primary variants of each module; one with the basic 40-pin pinout, one with the 40-pin pinout plus the 3 SWD debug pins, and one with all available SMD pads/test points as documented in the datasheet. I needed to have these variants in order to support the wide range of footprints on offer (see associated merge request linked above)
  • Multi-part assembly. A user of my repository requested a symbol which produces 2 distinct socket footprints so that 2 position file entries are produced for pick n' place. So I made a 3-/4-part modular symbol that you overlap together to have a drop-in replacement with distinct footprint elements.

I respect that this is a dense library with a lot to take in (and a lot to filter out). Please take your time, and I look forward to your feedback and refining this contribution together!

Edited by recursivenomad

Merge request reports