I hereby certify that I am not simply asking someone else to design a footprint for me.
This is an auto-generated message that is in place on the “footprints” section of the KiCad.info forum. If I remove it and ask for a footprint to be designed anyway, I understand that I will be subject to forum members telling me to go design my own footprint or referring me to a 3rd party footprint site.
I believe I have discovered an error in the KiCad footprint libraries in version 7.0.8. I was playing with the demo project “Sonde Xilinx” when I noticed the silkscreen polarity mark for the diodes D1 and D2 were wrong because they didn’t agree with the polarity shown on the schematic. To investigate I turned on the pin numbers for the diodes on the schematic.
This footprint shows both the cathode bar and the text “K” on the silkscreen layer at the pin 1 end of the diode’s footprint. This does not agree with the pin names shown below the pin numbers or its use on the schematic.
Is this an error, and if so, what is the process to report such library errors?
In this case the footprint is correct - IPC standards say a diode’s cathode should always be pin 1, and that’s how footprints and symbols in the KiCad libraries are set up.
The issue here I think is the diode symbol in the schematic, which has the cathode on pin 2. This is a non-standard diode symbol - you can see in the bottom left of the symbol properties window it says “Library link: sonde_xilinx_schlib:DIODESCH”. That’s not a diode symbol from the standard symbol libraries; it’s from a project-specific library in this demo project.
For context, this demo is quite old and was probably created in a version of KiCad prior to there being a well-developed and organized symbol/footprint library collection.
In general, you can report library issues as bugs on gitlab. Use the symbols repository for symbol issues, and the footprints repository for footprints. There are also repositories for 3D models, symbol/footprint creation scripts, etc.
For this particular issue, it’s the demo schematic and its symbol library. I need to look more carefully at the issue to recommend a course of action.
Edit: If I’m interpreting the design intent correctly (the circuit is powered from P1 or J2), the schematic is visually correct but the board is broken due to the pin mismatch you’ve pointed out. I would fix this by:
Swapping the pin numbers in the project’s diode symbol
Updating the schematic to use the fixed symbol, making sure the diodes are pointed the right way after updating the symbol
Updating the board so that the cathodes of the footprints are all in the right place
Are you interested in doing that fix? If not I can do it.
I’d me more tempted to state the whole demo project is obsolete. These programming dongles connected to a LPT were a thing some 20+ years ago.
And that combined with the big resistor symbols from KiCad V4 or earlier and the atrocious PCB layout.
And worse, the weird power pins on the corners of the 74LS125.
Yes, I remember the diode pin number swap that happened at V5. This was KiCad going IPC compliant. I guess that this must originally have been a V4 or older design
I have corrected the schematic to use the new BAT46 diode symbol and revised the PCB to correct the diode polarity as well as improving the layout (at least in my opinion) to route all signals on the top copper layer and provide a complete ground plane on the bottom side. The revised project is attached. sonde xilinx.zip (370.8 KB)
Perhaps some of the other demo projects should be updated as well.
That PIC programmer, and this Xilinx thing both look like first time projects from a student learning KiCad and PCB design in general. My guess is they were both made by JP Charass’s students in the early KiCad days.
Maybe it’s a good thought to have a broader look at what the use of these demo projects is. Made with KiCad has some 50 projects to demonstrate KiCad’s capabilities:
RepoRecon lists over 24000 KiCad related projects:
And KiCad has a bunch of templates from within the project manager. What do these Demo projects add to KiCad?
Before and after improvement with explanations of the poor choices and how they were improved would be very helpful to beginners.
Just giving a poor design as a demo is not very useful.
This is something a non-coder could do to assist the project.