Library for shield arduino

Hello every one!

I’m jonathan and i’m a new french member so sorry for my language…

i’m just finish a library who contain most popular arduino board .
And i want to share with you.

This librarie is available on this adress: http://meta-blog.eklablog.com/kicad-librairie-arduino-pretty-p930786

But i want to now if there is another means to share? an official website… ( because the mail adress of webmaster of this website: http://www.kicadlib.org/ does not respond )

EDIT : " Templates are avaible on Github for BZR version of KICAD ! "

3 Likes

Thanks for sharing… looks like a fairly comprehensive set, just what I was looking for…

I believe the aim is to have one official Git repository but suspect there may be others…

Kicad allows you to add remote and local libraries, so having a repository on Github for your library should be the ideal solution… Any changes or updates made would then be reflected in the users project builds… all the user needs to do is add the git repo to the list…

I believe this is the way it is intended to work but I may be incorrect… I’m sure those that know better will correct me if I’m mistaken…

hello Michael_o_Toole

I did not know it! :blush:

thank for your suggest, i’m going interest.

Please read:
https://github.com/KiCad/kicad-library/blob/master/CONTRIBUTING.txt
There is no proper library that could be forked so please ask leader (https://github.com/CarlPoirier) about creating new .pretty repository.

Here is kicad library convention:
https://github.com/KiCad/kicad-library/blob/master/KiCad_Library_Convention.txt
Official libraries should follow the rules so some corrections should be made before merging.
I can see that some of drawings on silkscreen has line width 0.01. I’d suggest to move them to drawing layer. The things like silkscreen line width, text size, reference, value, link to 3d models are specified in the convention. I’ve made some changes with various universal and dedicated tools but I noticed that there are many 3d models not assigned to any footprint (why?).

ard_changed.tar.gz (2.0 MB) (attatched file)

Ho wow i’hav work :smile:

So you have to know i’m not an electronics and i made this librairies for it to serve as a general librairie. I try to preserve a few convention but there are many thing i don’t now directly related to electronic and kicad. If you read the “readme” you will realize i do not have configure in “Eeshema” pins resset, pins output, pins input ect…

For silkscreen lines who have width to 0.01 are just there for “suggest” location per exemple to “push reset” or “ISP pins connector”… And i don’t know to move in a drawing layer. But if it this possible i will correct.

And for 3D modules none is assigned to a footprint because i have lot of modules ( 6 in most case ) for one footprint. For me i wanted to leave the user to choose. But i could have assigned at least one… indeed.

So i have a question about kicad. Why kicad develloper are not made a librairie for arduino board?? I don’t understand this? Rasperie exist but not arduino… where is truble?

An other question do you know a person who are interest to continu my librairie?? Because only it’s hard for me. I repeat but i made this librairie with little knowledge in electronics and in “kicad”…

And thank to have look.

So i have a question about kicad. Why kicad develloper are not made a librairie for arduino board?? I don’t understand this? Rasperie exist but not arduino… where is truble?

The problem is that library developers are only few persons who don’t have much time.

I don’t know much about all these boards but I can see that there is no library for raspberry, it’s template.
I guess that for arduino something similar should be added.

If your library is library with arduino boards as components that can be used in bigger project then it should be library.
If it contains expansion boards that can be connected to arduino it should be set of templates, not library.

Ho raspberry it’s a fake! lol

So today i try to tame githut… and i’ll start to correct library.
But in your correction archive what is repertory “log” ?

Could you explain what you mean? I don’t understand.

“log” was was generated by tool that I used to correct links to 3d models and make some other corrections. There are lists of broken links (empty), renamed 3d models, models not assigned to footprint etc.

Do you plan to make templates based on the libraries? If you have account on github please add new issue here: https://github.com/KiCad/kicad-library/issues or create pull request with your schematic library.
Then more librarians and contributors will discuss about your libraries.

For raspberry it was a joke because i thinking who existing a library seeing template…

No, but if necessary i will.

yeah yeah but githut it’s new for me and i must understan how it works.

EDIT: an new issue was summit.

michal777 what software do you use for change module??

To replace 0.01mm lines on silkscreen with 0.15mm lines on drawing layer I used regexxer (find and replace tool)
To change names according to convention: “first letter of each word being capitalized” I used gprename (renaming tool).
To change other things like links to 3d models, references, values, line width I used regexxer and tools written by me to make these corrections (https://github.com/michal777/KiCad_Lib_Check and others).

ok thanks,

but i don’t know what his utility of template? and more my libary was totaly wrong if y do that.

What is the interest to made this?

If the main purpose of this library is to ease creating boards working with arduino then it’s better make template of project. It will speedup designing more.

Every schematic symbol can be added to schematic in separate project of the template and then labels should be added so the library isn’t wrong.
To make pcb files for the templates the footprints can be used. I’d suggest using “…_Contour” verisions. Outline of the board should be drawn again on Edge.Cuts layer according to the outline drawn on silkscreen. Then users won’t have to draw it again.
Then edges drawn on silkscreen can be removed (with footprint editor) and drawings can be moved out of footprint by editing pcb file.

ok but in my librairie for exemple i separate all “gnd”, all “Vcc”, all “SDA” …ect
and what i do in template? i separate all pins or not ? because in exemple with raspberry all “gnd” are connect.
I don’t understand the work template. Do you know where i can found an exemple who use it because i’m totaly lost. I never use template and i don’t know his existence before yesterday.

In raspberry pi template one GND is connected to GND symbol, others are NOT connected (blue x).

I’ve designed this “LED expansion board” in less than 1 minute using template. Please try create similar project from template to see how it works.

OK! now i understand. Really think.
But footprint are pre-select for the shield in template, can we propose 1, 2 or 3 footprint just for one template?

I’m not sure if I understand what do you mean by “pre-select for the shield in template”.
Why would you like to use more variants of the same footprint (?) in template?

For exemple with the socket DIP your are normale with little pad and ELL with large pads.
But i try to make and not work you need to change in the template.
So is not important it’s a stupid question…

ok i try to made just one template for “UNO” board and i like to have your opinion if all is ok.
I think it’s better to remade all my librairie correctly in using template like this:
librairie.zip (63.3 KB)

“Arduino_As_Uno_R3” is template directory. For the next i’m going create 7 directories, one for each board

“Socket_Arduino.pretty” is footprint ( .pretty ) who use large pad (x=0.068, y=0.09), it contain commun footprint. Just simply socket.

“Socket_Arduino.3dshapes” is 3D modules. Who contain all modules 3D for each footprint

Looks great but outline of the board should be on Edge.Cuts layer (not drawing). It’s important because manufacturers will cut the board as drawn on Edge.Cuts.
Could you create pull request on github? You don’t have to push finished verision, pull request are updated with every commit.