Skip to content

Commit 02ae5f8

Browse files
committed
Readme file updates
General clean-up and improvement update: fix a few mistakes, add the Nano Every to the list of included modules, change terminology to be more internally consistent, and update the licensing section with more and clearer information.
1 parent 7d83949 commit 02ae5f8

File tree

1 file changed

+30
-25
lines changed

1 file changed

+30
-25
lines changed

README.md

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,56 @@
1-
# Arduino KiCad Library
1+
# KiCad Symbol & Footprint Library for Arduino modules
22
*Version 2.3.0*
33

4-
Library of schematic components and footprints of common Arduino boards for KiCad.
4+
This is a library of KiCad schematic symbols and PCB footprints for common Arduino modules. You can use them to make your own PCB design which will effortlessly connect with your chosen Arduino module.
55

6-
Currently included are:
6+
Currently included modules:
77
- Arduino 101 Shield
88
- Arduino Due Shield
9-
- Arduino Leonardo Shied
9+
- Arduino Leonardo Shield
1010
- Arduino M0 Shield
1111
- Arduino M0 Pro Shield
1212
- Arduino Mega 2560 Shield
1313
- Arduino Micro Socket
1414
- Arduino Mini Socket
1515
- Arduino MKR Zero Socket
16-
- Arduino MKR 1000 WiFi
17-
- Arduino MKR WiFi 1010
18-
- Arduino MKR FOX 1200
19-
- Arduino MKR WAN 1300
20-
- Arduino MKR WAN 1310
21-
- Arduino MKR GSM 1400
22-
- Arduino MKR NB 1500
23-
- Arduino MKR Vidor 4000
16+
- Arduino MKR 1000 WiFi Socket
17+
- Arduino MKR WiFi 1010 Socket
18+
- Arduino MKR FOX 1200 Socket
19+
- Arduino MKR WAN 1300 Socket
20+
- Arduino MKR WAN 1310 Socket
21+
- Arduino MKR GSM 1400 Socket
22+
- Arduino MKR NB 1500 Socket
23+
- Arduino MKR Vidor 4000 Socket
2424
- Arduino Nano Socket
25+
- Arduino Nano Every SMD
26+
- Arduino Nano Every Socket
2527
- Arduino Pro Mini Socket
2628
- Arduino Uno R3 Shield
2729
- Arduino Uno R3 SMD Shield
2830
- Arduino Uno WiFi R2 Shield
2931
- Arduino Zero Shield
3032
- Pro Mini Clone Socket
3133

32-
Shield means the Arduino is designed to plug in from beneath your PCB; socket means it is designed to plug in from above.
34+
*"Shield" means the module is designed to plug in from beneath your PCB. "Socket" means the module is designed to plug in from above your PCB. "SMD" means the module is designed to be soldered directly on to your PCB using surface-mount pads.*
3335

3436
## Compatibility with KiCad 5
3537
This library is in the new KiCad 6 "S-Expressions" format, and is not compatible with KiCad 5. If you need compatibility with KiCad 5, please use version 1.4.1 of this repository - but be aware that said version does not contain all features and is not being maintained.
3638

3739
## Comments, Requests, Bugs & Contributions
3840
All are welcome!
39-
Please file an [Issue](https://github.com/Alarm-Siren/arduino-kicad-library/issues) or [Pull Request](https://github.com/Alarm-Siren/arduino-kicad-library/pulls), as appropriate.
41+
Please open an [Issue](https://github.com/Alarm-Siren/arduino-kicad-library/issues) or [Pull Request](https://github.com/Alarm-Siren/arduino-kicad-library/pulls), as appropriate.
4042

41-
## License
42-
Copyright 2017-2022, [Nicholas Parks Young](https://github.com/Alarm-Siren). All Rights Reserved.
43+
## Legal Information & License
44+
Copyright 2017-2022, [Nicholas Parks Young](https://github.com/Alarm-Siren). All Rights Reserved.
4345

44-
This work is licensed under a
45-
[Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/).
46+
Except as otherwise noted, the content of this library is licensed under the
47+
[Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/), with the following exception:
48+
> To the extent that the creation of electronic designs that use Licensed Material can be considered to be Adapted Material, the Licensor waives Section 3 of the Public License with respect to these electronic designs and any generated files which use data provided as part of the Licensed Material.
4649
4750
[![CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/88x31.png)](https://creativecommons.org/licenses/by-sa/4.0/)
4851

52+
The word "Arduino" is a registered trademark of Arduino SA. This trademark is used in this library to refer to Arduino products and to identify Arduino-related non-commercial content, as permitted by Arduino's [trademark guidelines](https://www.arduino.cc/en/trademark). This project is not affiliated with nor endorsed by Arduino.
53+
4954
## Donations
5055

5156
If you've found this library useful and you'd like to make a donation towards its continued upkeep, click the button below:
@@ -72,21 +77,21 @@ To add this library to your KiCad Project, do the following steps:
7277
## A note about Power and Reset pins
7378

7479
### Power
75-
On the Arduino Platform, it is not possible to categorically state that the power pins are "power inputs" or "power outputs", as that depends on exactly how you're using the Arduino. For example, if you're powering the Arduino from USB then GND, +3.3V and +5V would be power outputs and VIN would do nothing, whereas if you're powering the Arduino from a battery via your Shield then VIN and GND are power inputs whilst +5V and +3.3V are power outputs. There are other, more esoteric possibilities too.
80+
On Arduino modules, it is not possible to categorically state that the power pins are "power inputs" or "power outputs", as that depends on exactly how you're using the module in your design. For example, if you're powering the module from the USB connector then GND, +3.3V and +5V would be power outputs and VIN would do nothing, whereas if you're powering the module from a battery via your PCB then VIN and GND are power inputs whilst +5V and +3.3V are power outputs. There are other, more esoteric possibilities too.
7681

77-
Regardless of the above, I needed to make a decision about what electrical type to apply to these pins. I could use something like Passive or Unspecified, but then KiCad's Electrical Rules Checker (ERC) tool would not be effective in catching errors on these pins at all, whilst using Power Output means it objects to you joining pins together (for example, joining all the GND pins into a common net) even when that's OK in some situations.
82+
Regardless of the above, I needed to make a decision about what electrical type to apply to these pins. I could use something like "passive" or "unspecified", but then KiCad's electrical rules checker (ERC) tool would not be effective in catching errors on these pins at all, whilst using "power output" means it objects to you joining pins together (for example, joining all the GND pins into a common net) even when that's okay in some situations.
7883

79-
Therefore, I have decided to use Power Input as this presents the least issues. This means if you're actually using any of the power pins as Power Outputs in your schematic, by default the ERC will complain that the relevant nets are undriven. To fix this you will need to add the special "PWR_FLAG" component to the affected net.
84+
Therefore, I have decided to use 'power input' as this presents the least issues. This means if you're actually using any of the power pins as 'power outputs' in your design, by default the ERC will complain that the relevant nets are undriven. To fix this you will need to add the special "PWR_FLAG" component to the affected net.
8085

81-
NOTE: As of version 2.0.0, on the 5V-based Arduino boards the 3.3V output pin has been changed to Power Output, as these will be powered by an on-board regulator and should not have external power fed into them.
86+
*Note: as of version 2.0.0, on 5V-based modules the +3.3V output pin has been changed to "power output", as these will be powered by an on-board regulator and should not have external power fed into them.*
8287

8388
### Reset
84-
Reset pins on the Arduino Platform have interesting electrical characteristics, which mean that no KiCad electrical type exactly matches their functionality. I settled on Open Collector as the nearest candidate, but unlike a true Open Collector pin on an integrated circuit, the reset pins on the Arduino Platform have an internal weak pull-up, and the reset button that can strongly pull low, so your circuit needs to be able to cope with all these situations.
89+
Reset pins on Arduino modules have interesting electrical characteristics, which mean that no KiCad electrical type exactly matches their functionality. I settled on "open collector" as the nearest candidate, but unlike a true open collector pin on an integrated circuit, the reset pins on Arduino modules have an internal weak pull-up and a reset button that can strongly pull low, so your design needs to be able to cope with all these situations.
8590

86-
In other words, if you use the reset pin as an input to your shield then you do not need to add a pull-up (doing so will actually make it less responsive if not break it); conversely if you want to drive the reset line in order to reset the Arduino you need to ensure that you only ever pull it low - if you pull it high at the same time as an unwitting user hits the physical reset button, you've created a short between power and ground which will likely fry whatever chip is on your shield.
91+
In other words, if you use the reset pin as an input to your PCB then you do not need to add a pull-up (doing so will actually make it less responsive if not break it); conversely if you want to drive the reset line in order to reset the module from your PCB, you need to ensure that you only ever pull it low: if you pull it high at the same time as an unwitting user hits the physical reset button, you've created a short between power and ground which will likely fry whatever chip is on your PCB.
8792

8893
### TL;DR:
8994

90-
*The KiCad ERC cannot catch all the possible electrical errors on your schematic as it doesn't natively support the reset and power pins' electrical types. Even if the ERC says its OK, double check it manually.*
95+
*The KiCad ERC cannot catch all the possible electrical errors on your design as it doesn't natively support the reset and power pins' electrical types. Even if the ERC says its OK, double check it manually.*
9196

9297
*If the ERC says that your power pins are undriven, first manually check they are being driven. If they are driven, then add a "PWR_FLAG" component to the net to make the error go away.*

0 commit comments

Comments
 (0)