How do I update my libraries?

I have been hunting for a library for the WeMOS S2 Mini. I see that it suggests here that it has been added a “year ago”.
How do I update my local Flatpak setup to include this update?

Application: KiCad x86_64 on x86_64
Version: 8.0.0, release build
Libraries:
	wxWidgets 3.2.4
	FreeType 2.13.2
	HarfBuzz 8.1.1
	FontConfig 2.15.0
	libcurl/8.5.0-DEV OpenSSL/3.1.5 zlib/1.3.1 nghttp2/1.58.0
Platform: Freedesktop SDK 23.08 (Flatpak runtime), 64 bit, Little endian, wxGTK, X11, KDE, x11
Build Info:
	Date: Mar  4 2024 12:26:11
	wxWidgets: 3.2.4 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.84.0
	OCC: 7.7.2
	Curl: 8.5.0-DEV
	ngspice: 42
	Compiler: GCC 13.2.0 with C++ ABI 1018
Build settings:

Regards, Martin

From my reading of that link, the contribution has not been merged yet (the icon at the top is green, not blue, and there’s no message about merging in the history at the bottom). I also note that the relevant footprint has not been merged and there is a tag on the symbol request suggesting the symbol has not been updated for v7 (and now presumably v8).

I’m not a librarian or a dev, so I’m not sure what the protocol is for cleaning up remaining concerns and getting it ready for merge if the original author is not involved.

If you want the files in the meantime, you could copy the changed lines from the merge request to a local symbol library and copy the added file from the footprint merge request to a local footprint library. (Note that the installed KiCad-provided libraries are normally read-only to prevent user data from being deleted on upgrades.)

Footprint merge request for quick reference: Added Wemos S2 mini footprint (!2904) · Merge requests · KiCad / KiCad Libraries / KiCad Footprints · GitLab

I have not looked at gitlab, but you can of course get the symbol (or footprint) directly from gitlab. You can also attempt to fix any remaining issues or give some feedback.

How? I can’t see any clues here. I am more than willing to put in the time but as a user, I find using “of the shelf” actions in KiCAD difficult enough. Making changes to, or adding features is just a step too far. Without a bit of help…

Apologies for the late response, I am not getting notifications?
Regards, Martin

For the symbol, you’re looking at the changes between the merge request and the current libraries.

Everything in green has been added, so you want to copy all of that and manually paste it into a personal library (see this link to instructions on that: KiCad 7 & 8 Beginners Guide to Personal Symbol and Footprint Libraries)

(symbol "WeMos_S2_mini" (in_bom yes) (on_board yes)
  (property "Reference" "U" (id 0) (at 2.54 -30.48 0)
    (effects (font (size 1.27 1.27)) (justify left))
  )
  (property "Value" "WeMos_S2_mini" (id 1) (at 2.54 -33.02 0)
    (effects (font (size 1.27 1.27)) (justify left))
  )
  (property "Footprint" "Module:WEMOS_S2_mini" (id 2) (at 0 -45.72 0)
    (effects (font (size 1.27 1.27)) hide)
  )
  (property "Datasheet" "https://www.wemos.cc/en/latest/s2/s2_mini.html" (id 3) (at 0 -43.18 0)
    (effects (font (size 1.27 1.27)) hide)
  )
  (property "ki_keywords" "ESP32 WiFi microcontroller ESP32-S2FN4R2" (id 4) (at 0 0 0)
    (effects (font (size 1.27 1.27)) hide)
  )
  (property "ki_description" "32-bit microcontroller module with WiFi" (id 5) (at 0 0 0)
    (effects (font (size 1.27 1.27)) hide)
  )
  (property "ki_fp_filters" "WEMOS*S2*mini*" (id 6) (at 0 0 0)
    (effects (font (size 1.27 1.27)) hide)
  )
  (symbol "WeMos_S2_mini_1_1"
    (rectangle (start -12.7 27.94) (end 12.7 -27.94)
      (stroke (width 0.254) (type default) (color 0 0 0 0))
      (fill (type background))
    )
    (pin input line (at -15.24 20.32 0) (length 2.54)
      (name "EN" (effects (font (size 1.27 1.27))))
      (number "1" (effects (font (size 1.27 1.27))))
      (alternate "~{RST}" input line)
    )
    (pin power_in line (at 0 -30.48 90) (length 2.54)
      (name "GND" (effects (font (size 1.27 1.27))))
      (number "10" (effects (font (size 1.27 1.27))))
    )
    (pin input line (at -15.24 15.24 0) (length 2.54)
      (name "XTAL_32K_N" (effects (font (size 1.27 1.27))))
      (number "11" (effects (font (size 1.27 1.27))))
      (alternate "ADC2_CH5" input line)
      (alternate "GPIO16" bidirectional line)
      (alternate "U0CTS" input line)
    )
    (pin output line (at -15.24 5.08 0) (length 2.54)
      (name "DAC_2" (effects (font (size 1.27 1.27))))
      (number "12" (effects (font (size 1.27 1.27))))
      (alternate "ADC2_CH7" input line)
      (alternate "CLK_OUT3" tri_state line)
      (alternate "GPIO18" bidirectional line)
      (alternate "U1RXD" input line)
    )
    (pin bidirectional line (at -15.24 -2.54 0) (length 2.54)
      (name "GPIO33" (effects (font (size 1.27 1.27))))
      (number "13" (effects (font (size 1.27 1.27))))
      (alternate "FSPIHD" bidirectional line)
      (alternate "SPIIO4" bidirectional line)
    )
    (pin bidirectional line (at -15.24 -7.62 0) (length 2.54)
      (name "GPIO35" (effects (font (size 1.27 1.27))))
      (number "14" (effects (font (size 1.27 1.27))))
      (alternate "FSPID" bidirectional line)
      (alternate "SPIIO6" bidirectional line)
    )
    (pin bidirectional line (at -15.24 -12.7 0) (length 2.54)
      (name "GPIO37" (effects (font (size 1.27 1.27))))
      (number "15" (effects (font (size 1.27 1.27))))
      (alternate "FSPIQ" bidirectional line)
      (alternate "SPIDQS" bidirectional line)
    )
    (pin bidirectional line (at -15.24 -17.78 0) (length 2.54)
      (name "GPIO39" (effects (font (size 1.27 1.27))))
      (number "16" (effects (font (size 1.27 1.27))))
      (alternate "CLK_OUT3" tri_state line)
      (alternate "MTCK" output line)
    )
    (pin bidirectional line (at 15.24 15.24 180) (length 2.54)
      (name "GPIO1" (effects (font (size 1.27 1.27))))
      (number "17" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH0" input line)
      (alternate "TOUCH1" input line)
    )
    (pin bidirectional line (at 15.24 12.7 180) (length 2.54)
      (name "GPIO2" (effects (font (size 1.27 1.27))))
      (number "18" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH1" input line)
      (alternate "TOUCH2" input line)
    )
    (pin bidirectional line (at 15.24 7.62 180) (length 2.54)
      (name "GPIO4" (effects (font (size 1.27 1.27))))
      (number "19" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH3" input line)
      (alternate "TOUCH4" input line)
    )
    (pin bidirectional line (at 15.24 10.16 180) (length 2.54)
      (name "GPIO3" (effects (font (size 1.27 1.27))))
      (number "2" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH2" input line)
      (alternate "TOUCH3" input line)
    )
    (pin bidirectional line (at 15.24 2.54 180) (length 2.54)
      (name "GPIO6" (effects (font (size 1.27 1.27))))
      (number "20" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH5" input line)
      (alternate "TOUCH6" input line)
    )
    (pin bidirectional line (at 15.24 -2.54 180) (length 2.54)
      (name "GPIO8" (effects (font (size 1.27 1.27))))
      (number "21" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH7" input line)
      (alternate "TOUCH8" input line)
    )
    (pin bidirectional line (at 15.24 -7.62 180) (length 2.54)
      (name "GPIO10" (effects (font (size 1.27 1.27))))
      (number "22" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH9" input line)
      (alternate "FSPICS0" bidirectional line)
      (alternate "FSPIIO4" bidirectional line)
      (alternate "TOUCH10" input line)
    )
    (pin bidirectional line (at 15.24 -15.24 180) (length 2.54)
      (name "GPIO13" (effects (font (size 1.27 1.27))))
      (number "23" (effects (font (size 1.27 1.27))))
      (alternate "ADC2_CH2" input line)
      (alternate "FSPIIO7" bidirectional line)
      (alternate "FSPIQ" bidirectional line)
      (alternate "TOUCH13" input line)
    )
    (pin bidirectional line (at 15.24 -17.78 180) (length 2.54)
      (name "GPIO14" (effects (font (size 1.27 1.27))))
      (number "24" (effects (font (size 1.27 1.27))))
      (alternate "ADC2_CH3" input line)
      (alternate "FSPIDQS" bidirectional line)
      (alternate "FSPIWP" bidirectional line)
      (alternate "TOUCH14" input line)
    )
    (pin output line (at -15.24 12.7 0) (length 2.54)
      (name "XTAL_32K_P" (effects (font (size 1.27 1.27))))
      (number "25" (effects (font (size 1.27 1.27))))
      (alternate "ADC2_CH4" input line)
      (alternate "GPIO15" bidirectional line)
      (alternate "U0RTS" output line)
    )
    (pin passive line (at 0 -30.48 90) (length 2.54) hide
      (name "GND" (effects (font (size 1.27 1.27))))
      (number "26" (effects (font (size 1.27 1.27))))
    )
    (pin output line (at -15.24 7.62 0) (length 2.54)
      (name "DAC_1" (effects (font (size 1.27 1.27))))
      (number "27" (effects (font (size 1.27 1.27))))
      (alternate "ADC2_CH6" input line)
      (alternate "GPIO17" bidirectional line)
      (alternate "U1TXD" output line)
    )
    (pin bidirectional line (at -15.24 0 0) (length 2.54)
      (name "GPIO21" (effects (font (size 1.27 1.27))))
      (number "28" (effects (font (size 1.27 1.27))))
    )
    (pin bidirectional line (at -15.24 -5.08 0) (length 2.54)
      (name "GPIO34" (effects (font (size 1.27 1.27))))
      (number "29" (effects (font (size 1.27 1.27))))
      (alternate "FSPICS0" bidirectional line)
      (alternate "SPIIO5" bidirectional line)
    )
    (pin bidirectional line (at 15.24 5.08 180) (length 2.54)
      (name "GPIO5" (effects (font (size 1.27 1.27))))
      (number "3" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH4" input line)
      (alternate "TOUCH5" input line)
    )
    (pin bidirectional line (at -15.24 -10.16 0) (length 2.54)
      (name "GPIO36" (effects (font (size 1.27 1.27))))
      (number "30" (effects (font (size 1.27 1.27))))
      (alternate "FSPICLK" bidirectional line)
      (alternate "FSPIIO7" bidirectional line)
    )
    (pin bidirectional line (at -15.24 -15.24 0) (length 2.54)
      (name "GPIO38" (effects (font (size 1.27 1.27))))
      (number "31" (effects (font (size 1.27 1.27))))
      (alternate "FSPIWP" bidirectional line)
    )
    (pin bidirectional line (at -15.24 -20.32 0) (length 2.54)
      (name "GPIO40" (effects (font (size 1.27 1.27))))
      (number "32" (effects (font (size 1.27 1.27))))
      (alternate "CLK_OUT2" tri_state line)
      (alternate "MTDO" output line)
    )
    (pin bidirectional line (at 15.24 0 180) (length 2.54)
      (name "GPIO7" (effects (font (size 1.27 1.27))))
      (number "4" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH6" input line)
      (alternate "TOUCH7" input line)
    )
    (pin bidirectional line (at 15.24 -5.08 180) (length 2.54)
      (name "GPIO9" (effects (font (size 1.27 1.27))))
      (number "5" (effects (font (size 1.27 1.27))))
      (alternate "ADC1_CH8" input line)
      (alternate "FSPIHD" bidirectional line)
      (alternate "TOUCH9" input line)
    )
    (pin bidirectional line (at 15.24 -10.16 180) (length 2.54)
      (name "GPIO11" (effects (font (size 1.27 1.27))))
      (number "6" (effects (font (size 1.27 1.27))))
      (alternate "ADC2_CH0" input line)
      (alternate "FSPID" bidirectional line)
      (alternate "FSPIIO5" bidirectional line)
      (alternate "TOUCH11" input line)
    )
    (pin bidirectional line (at 15.24 -12.7 180) (length 2.54)
      (name "GPIO12" (effects (font (size 1.27 1.27))))
      (number "7" (effects (font (size 1.27 1.27))))
      (alternate "ADC2_CH1" input line)
      (alternate "FSPICLK" bidirectional line)
      (alternate "FSPIIO6" bidirectional line)
      (alternate "TOUCH12" input line)
    )
    (pin power_out line (at 5.08 30.48 270) (length 2.54)
      (name "3V3" (effects (font (size 1.27 1.27))))
      (number "8" (effects (font (size 1.27 1.27))))
    )
    (pin power_out line (at -5.08 30.48 270) (length 2.54)
      (name "VBUS" (effects (font (size 1.27 1.27))))
      (number "9" (effects (font (size 1.27 1.27))))
    )
  )
)

You end up with something like this:
wemoss2.kicad_sym (9.5 KB)

You can do a similar thing for the footprint (pull the diff and copy it into a footprint library, though each footprint goes in its own file inside a larger folder.

You end up with a folder like wemoss2.pretty with the following file inside:
wemoss2.kicad_mod (11.7 KB)

I quickly opened all of these in KiCad v8 to make sure they somewhat worked, but I have no idea if the actual content all transferred correctly (or was done correctly in the first place).

1 Like

Just for completeness, here’s the project I tested on
wemoss2.zip (312.0 KB)

1 Like

I know that “Thank You” messages are frowned upon…
But your help deserves more than a tick in the Solution Box!
A trivial point (and unimportant to me but may be helpful for anyone coming across this thread) is that my board has two GNDs - Pin 10 & 26.
Only Pin 10 is assigned. Pin 26 not specified.

Regards, M.

1 Like