Skip to the content
PCBKitNew board
2 layers140 × 190 mmControl v1, the printed circuit board in 3D

Control v1

PubInv/Ox14

An oxygen concentrator for low-resource communities.

Size
140 × 190 mm
Copper layers
2
Thickness
1.6 mm
Parts
212
Nets
210
Pads
824
Tracks, vias
1,765, 307
Pours
2
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
30 Jul 2020
Updated
16 Nov 2023

Overview

Control v1 is an open-source printed circuit board by PubInv, from the PubInv/Ox repository on GitHub, published under the AGPL-3.0 licence. It is a 2-layer board of 140 × 190 mm with 212 parts on 210 nets, routed with 1,765 tracks and 307 vias.

It is built around the MAX31850KATB+, MCP9600-E/MX and RMC06031K1%N, with the RMC060315%N, CC0603JRNPO9BN390 and BSS138 among its other parts. Its parts include 92 resistors, 25 connectors, 22 capacitors, 10 transistors and 2 diodes.

Main components

12

README

elec/Control Board/Control v1/README.md

Control V1

Version 1 control board for NASA COG On line schematic viewing from Kicanvas See: https://kicanvas.org
The Control V1 is an Arduino DUE "Shield". The DUE will live below this printed wiring assembly. An Ethernet shield will live above as a "Socket". See KiCad Symbol & Footprint Library for Arduino Modules for "Shield" and "Socket"

Schematics

Browser page view of the schematic by KiCanvas.org

Top page is "Control v1.kicad_sch". Note the page for MAX31856 is actualy for an MCP9600 but the page was not renamed (as of 20230830)

PCB / PWA

Browser page view of the PCB by KiCanvas.org

Printed Circuit Board, Printed Wiring Assembly

PCB / PWA 3D Snapshot

image

File Notes: Add BOM spread sheet and a JLCPCB BOM. The instructions / notes for generating the BOM and JLCPCB BOM are embedded in the file, Control_V1_BOM.xls. The proccess starts in KiCad with the BOM gewnerator nick name, "bom_csv_grouped_by_value"

  • Control_V1_BOM.xls
  • Control_V1_BOM_JLCPCB_20230829_2137.csv

License, Public Invention for this PCB, PWA


KiCad Symbol & Footprint Library for Arduino Modules

./resources/banner.png
Version 4.1.0

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Required KiCad Version License GitHub release (latest SemVer) Symbols Downloads

This is a library of KiCad schematic symbols and PCB footprints for most Arduino modules. You can use them to make your own PCB design which will effortlessly connect with your chosen Arduino module.

Currently included modules:

  • Arduino 101 Shield
  • Arduino Due Shield
  • Arduino Giga R1 WiFi Shield
  • Arduino Leonardo Shield
  • Arduino M0 Shield
  • Arduino M0 Pro Shield
  • Arduino Mega 2560 R3 Shield
  • Arduino Micro Socket
  • Arduino Mini Socket
  • Arduino MKR 1000 WiFi Socket
  • Arduino MKR WiFi 1010 Socket
  • Arduino MKR FOX 1200 Socket
  • Arduino MKR WAN 1300 Socket
  • Arduino MKR WAN 1310 Socket
  • Arduino MKR GSM 1400 Socket
  • Arduino MKR NB 1500 Socket
  • Arduino MKR Vidor 4000 Socket
  • Arduino MKR Zero Socket
  • Arduino Nano Socket
  • Arduino Nano 33 BLE Socket / Tile
  • Arduino Nano 33 BLE Sense Socket / Tile
  • Arduino Nano 33 BLE Sense R2 Socket / Tile
  • Arduino Nano 33 IoT Socket / Tile
  • Arduino Nano Every Socket / Tile
  • Arduino Nano RP2040 Connect Socket / Tile
  • Arduino Nicla Sense ME Socket / Tile
  • Arduino Nicla Vision Socket / Tile
  • Arduino Nicla Voice Socket / Tile
  • Arduino Pro Mini Socket
  • Arduino Uno R1 Shield
  • Arduino Uno R2 Shield
  • Arduino Uno R3 Shield
  • Arduino Uno R3 SMD Shield
  • Arduino Uno R4 Minima Shield
  • Arduino Uno R4 WiFi Shield
  • Arduino Uno WiFi R2 Shield
  • Arduino Zero Shield
  • Clone Mega 2560 Pro Socket
  • Clone Pro Mini Socket

"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. "Tile" means the module is designed to be soldered directly on to your PCB using surface-mount pads.

KiCad Version Compatibility

This library requires at least KiCad 6 to function, and is tested on KiCad versions 6.0.8 and 7.0.2. Note that the installation procedure is different for KiCad 6 and 7; please see the Library Installation section below.

Comments, Requests, Bugs & Contributions

All are welcome! Please open an Issue or Pull Request, as appropriate.

Library Installation

To install this library in your copy of KiCad, choose the correct section for your version of KiCad and follow the steps given. These instructions only cover automated installation using KiCad's built-in Package and Content Manager (PCM); manual installation is possible but not supported.

KiCad 7

Warning: Do not change the nickname prefix from that given in step 4 below. If you do so KiCad will not assign the correct footprints to the symbols by default.

  1. Open KiCad and open the Preferences window at "Preferences" -> "Preferences..."
  2. Select the "Plugin and Content Manager" section in the left-hand pane.
  3. Ensure that the "Automatically add installed libraries to the global lib table" option is ticked.
  4. Ensure that the "Library nickname prefix" is set to "PCM_".
  5. Ensuring that the "Check for package updates on startup" option is ticked is recommended. (Optional)
  6. Click "OK" to close the Preferences window.
  7. Click the "Plugin and Content Manager" button.
  8. Select the "KiCad official repository" from the top drop-down box (if not already selected).
  9. Go the Libraries tab and locate the "KiCad Library for Arduino Modules" in the list.
  10. Click the "Install" button for that entry in the list.
  11. Click "Apply Pending Changes".
  12. Close the "Applying Package Changes" window once it has finished.
  13. You should now find that this library is listed in the "Installed" tab.
  14. Close the Plugin and Content Manager.
  15. You may need to restart KiCad for the library installation to fully take effect. (Optional)
  16. All done: you are now ready to use these schematic components and footprints in your projects!

KiCad 6

Recommendation: If you can, you should upgrade to KiCad 7.

Warning: Do not change the Nicknames from those given in steps 12 and 18 below. If you do so KiCad will not assign the correct footprints to the symbols by default.

  1. Open KiCad and click the "Plugin and Content Manager" button.
  2. Select the "KiCad official repository" from the top drop-down box (if not already selected).
  3. Go the Libraries tab and locate the "KiCad Library for Arduino Modules" in the list.
  4. Click the "Install" button for that entry in the list.
  5. Click "Apply Changes".
  6. Close the "Applying Package Changes" window once it has finished.
  7. You should now find that this library is listed in the "Installed" tab.
  8. Close the Plugin and Content Manager.
  9. Go to the "Preferences" -> "Manage Symbol Libraries..." menu option.
  10. In the Symbol Libraries dialogue that appears, switch to the "Global Libraries" tab (if not already selected).
  11. Click "Add empty row to table" button (the button with a big cross in it, beneath the table).
  12. In the new line of the table, set the Nickname to "PCM_arduino-library", and ensure the Library Format is set to "KiCad".
  13. In the same line of the table, set Library Path to "${KICAD6_3RD_PARTY}/symbols/com_github_alarm-siren_arduino-kicad-library/arduino-library.kicad_sym".
  14. Click "OK" to close the Symbol Libraries dialogue.
  15. Go to "Preferences" -> "Manage Footprint Libraries..." menu option.
  16. In the Footprint Libraries dialogue that appears, switch to the "Global Libraries" tab (if not already selected).
  17. Click "Add empty row to table" button (the button with a big cross in it, beneath the table).
  18. In the new line of the table, set the Nickname to "PCM_arduino-library", and ensure the Library Format is set to "KiCad".
  19. In the same line of the table, set Library Path to "${KICAD6_3RD_PARTY}/footprints/com_github_alarm-siren_arduino-kicad-library/arduino-library.pretty".
  20. Click "OK" to close the Footprint Libraries dialogue.
  21. All done: you are now ready to use these schematic components and footprints in your projects!

Donations

I really hope you've found this library useful. If you'd like to buy me a beer in thanks for the work I put into it, you can make a donation using the button below:

paypal

License & Legal

Copyright 2017-2023, Nicholas Parks Young.

Except as otherwise noted, all content of this library is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License, with the following additional exception:

To the extent that the creation of electronic designs that use the 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 incorporate data provided as part of the Licensed Material.

CC BY-SA 4.0

"KiCad Library for Arduino" Banner & Icon

The two images "resources/banner.png" and "resources/icon.png" are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. These images are derivatives of "Arduino Open-Source Community: Main Logotype RGB Colors" originally created by Arduino.

Original Images: Copyright 2013, Arduino. Derived Images: Copyright 2023, Nicholas Parks Young.

CC BY-SA-NC 4.0

Arduino Trademark

The word "Arduino" is a registered trademark of Arduino. 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. This project is not affiliated with nor endorsed by Arduino.

FAQ

Answers to some common questions about this library.

Is this library in active development?

Yes. For the foreseeable future, I will be providing support, bug-fixes and updating the library with any new Arduino modules as they are released.

What does the license exception in the License & Legal section mean?

This library uses the same license as KiCad's own built-in parts library does, including the exception. The KiCad Libraries team have a page which explains the meaning of the exception. My version of the exception uses slightly better wording, but the effect is the same.

Why do the footprints not have an Edge.Cuts outline?

If I put in an Edge.Cuts outline, then those users who want to have a PCB larger than the module footprint would have to modify the footprint to do so. In my experience, it is far more common for users to want a PCB larger than the module anyway, so I prefer to cater to those users. If you want your PCB to be the same size and shape as the Arduino module, you can trace the F.Silkscreen or B.Silkscreen layer (as appropriate) out in the Edge.Cuts layer yourself, or you can modify the footprint to change the outline from F.Silkscreen or B.Silkscreen layer to Edge.Cuts.

Why do the Nicla Vision and Nicla Voice tile footprints have cut-outs?

The cut-outs are necessary to accommodate components on the back of those modules; without them the components would physically prevent you from getting the module's pads down to the footprint's SMD pads.

Why does the whole footprint have an F.Courtyard or B.Courtyard outline? I can't place my components where I need to!

Firstly, this does not stop you from placing your components wherever you want. It does mean that the KiCad DRC will, by default, report errors or warnings in some circumstances because the module footprint and your circuit's footprints' courtyards are overlapping, but you can ignore or disable these errors/warnings without issue.

Secondly, the intention is that it acts as a warning to the user that they've put components in the 'danger zone' between their PCB and the Module. I do not model all of the tall components on the module, so it is possible that a user might unknowingly place their own tall component in a position that would conflict with one on the module. My hope is that the DRC errors/warnings will flag this potential problem to the user to manually check that their placement does not conflict with the module.

In principle I'm open to marking the taller components specifically, which would remove this issue, but this is a lot of work and requires data I don't have access to for all the modules.

Why is this Power Pin set to Power Input/Power Output/Unconnected? I get DRC errors because of it!

The short answer is that some power pins on some modules can be used as either inputs or outputs, depending on your circuit design / where you're powering the assembly from.

For those pins where I've been able to categorically confirm that the given power pin is Unconnected by default, or must necessarily be a Power Input or a Power Output, I have set it as such. For those pins that can be used as either an input or output, I have set it to Power Input as this is the more flexible option whilst still preserving some element of DRC capability. If you're using one of these Power Input pins as a Power Output from the module, you'll need to add the special "PWR_FLAG" component to the affected net to make the DRC error go away.

Parts

212
QtyValueFootprintReferences
221KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R36, R37, R38, R42 +6
211R0Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R3, R4, R5, R6, R7, R13, R14, R15, R16, R31, R33, R48, R76, R79 +5
18DNIResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR17, R30, R34, R35, R43, R51, R52, R53, R55, R60, R63, R74, R75, R85, R86, R87 +2
1410KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR39, R40, R41, R44, R46, R56, R61, R64, R65, R67, R68, R69, R70, R81
12SolderJumper_3_Bridged12Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP1, JP2, JP3, JP4, JP5, JP6, JP7, JP8, JP11, JP12, JP13, JP14
111RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9, R10, R11, R12, R49, R50, R59, R66, R73, R91, R92
10MountingHole_Pad_3.5mmPubInv_KiCad_PCB:MountingHole_3.5mm_Pad_ViaH1, H2, H3, H4, H5, ISO1, ISO2, ISO3, ISO4, ISO5
939pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC3, C4, C5, C6, C7, C8, C9, C10, C11
9BSS138Package_TO_SOT_SMD:SOT-23Q1, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10
839PFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C2, C12, C13, C14, C15, C20, C21
41uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC16, C17, C18, C19
4Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ16, J18, J20, J24
4Conn_01x08Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ2, J4, J5, J6
4GNDTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP1, TP3, TP4, TP11
4Screw_Terminal_01x02TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-2_1x02_P2.54mm_HorizontalJ11, J12, J13, J25
34K7Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR77, R78, R83
3Conn_01x10Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_VerticalJ7, J9, J14
3MAX31850KPubInv_KiCad_PCB:Adafruit_MAX31850K_ModuleJP9, JP10, JP15
3MAX31855PubInv_KiCad_PCB:Adafruit_MAX31855_ModuleJP16, JP17, JP18
20.100_2PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ22, J23
239RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR71, R72
2COPITestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedCOPI1, TP15
2DNI Diode_SMD:D_MiniMELFD1, D2
2MCP9600PubInv_KiCad_PCB:Adafruit_MCP9600_ModuleJP19, JP21
1+VccMAX3185TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP9
1+VccMAX31850TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP5
1+VccMAX31850_1TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP6
1+VccMAX31850_2TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP7
1+VccMAX31850_3TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP8
1+VccMCP9600TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP10
110nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC22
14M7Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR32
1Arduino_Due_ShieldArduino:Arduino_Due_ShieldA1
1CIPOTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedCIPO1
1CPIOTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP13
1Conn_01x05Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ17
1Conn_01x07Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ19
1Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ3
1Conn_02x12_Odd_EvenConnector_PinHeader_2.00mm:PinHeader_2x12_P2.00mm_VerticalJ10
1Conn_02x18_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x18_P2.54mm_VerticalJ8
1ControllerVCCTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP12
1DB25_Female_MountingHolesConnector_Dsub:DSUB-25_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mmJ15
1DB9_Female_MountingHolesConnector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mmJ1
1D_PSU_RXTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedD_PSU_RX1
1D_PSU_TXTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedD_PSU_TX1
1I2C_VCCTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP17
1LOGOPubInv_PCB:Logo_PI_BandW_70percent_10x10G***
1MCP9600_PubInv_KiCad_PCB:Adafruit_MCP9600_ModuleJP20
1NCE01P30KPackage_TO_SOT_SMD:TO-252-2Q2
1RJ12_6P6C_HORZPubInv_KiCad_PCB:RJ12_Amphenol_54601J21
1SCKTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP14
1SCLTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedSCL1
1SCL_5VTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP18
1SDATestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedSDA1
1SDA_5VTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP19
1SPI_SCKTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedSPI_SCK1
1SWITCH_TACTILE_SPST-NO_0.05A_24VPubInv_KiCad_PCB:Switch_Tactile_THT_6x6mmS1
1Switched_Fan_PowerTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTPSwitched_Fan_Power1
1VIN1TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedVIN1
1nCSTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP16

Questions

How big is the Control v1 PCB?

It measures 140 × 190 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Control v1 use?

212 parts, built around the MAX31850KATB+, MCP9600-E/MX, RMC06031K1%N and RMC060315%N. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Control v1 KiCad files?

From the PubInv/Ox repository on GitHub, at the commit this page was made from: the board is elec/Control Board/Control v1/Control v1.kicad_pcb and its schematic elec/Control Board/Control v1/Adafruit-MAX31850-thermocouple-breakout-board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Control v1 design in my own project?

Its repository publishes it under the AGPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from PubInv/Ox

2
  • 2 layers126.3 × 160 mmFan I2C, the printed circuit board in 3D

    Fan I2C

    PubInv/Ox

    An oxygen concentrator for low-resource communities.

    83 parts14AGPL-3.0
  • 2 layers68.6 × 53.3 mmEthernetShieldUNO, the printed circuit board in 3D

    EthernetShieldUNO

    PubInv/Ox

    An oxygen concentrator for low-resource communities.

    9 parts14AGPL-3.0

Similar boards

  • 2 layers205 × 190 mmControl 1v2, the printed circuit board in 3D

    Control 1v2

    PubInv/high-amp-controller-board

    A PCB assembly for controlling up to 60 amps of power for electolysis of electroplating

    350 partsAGPL-3.0
  • 2 layers137.2 × 83.8 mmPWA REV2, the printed circuit board in 3D

    PWA REV2

    PubInv/krake

    The Krake™ is a Wi-Fi–enabled server using an MQTT broker, which means it can be controlled remotely by other devices ("clients") via the internet.

    215 parts9AGPL-3.0
  • 2 layers137.2 × 83.8 mmGeneralPurposeAlarmDevicePCB, the printed circuit board in 3D

    GeneralPurposeAlarmDevicePCB

    PubInv/general-purpose-alarm-device

    A general purpose alarm device (with software) as a module for medical devices (and others)

    140 parts7AGPL-3.0
  • 2 layers150 × 72 mmBDCMotorControlShieldMega, the printed circuit board in 3D

    BDCMotorControlShieldMega

    nunosousa/TelescopeMirrorTester

    This is an application intended to provide useful tools to perform Foucault or Wire testing on reflective telescope mirrors

    279 partsMIT
  • 2 layers108 × 65 mmPcb moonratII, the printed circuit board in 3D

    Pcb moonratII

    PubInv/moonrat

    Moonrat: A second-generation portable incubator

    37 parts5AGPL-3.0
  • 2 layers113.1 × 52.7 mmHomeWork2, the printed circuit board in 3D

    HomeWork2

    PubInv/PMD_-pseudo-medical-device-aka-Homework2-

    In this repo I am practicing KICAD. Created an ESP32 DevKit V1 module and a PCB footprint. I designed a circuit around this ESP32 consisting of six lamps, four switches, and two power jacks and added a voltage…

    60 parts
  • 4 layers100 × 80 mmNice Buoy V1 0, the printed circuit board in 3D

    Nice Buoy V1 0

    pnn69/Kicad_PCB

    Schematics and PCB's designed with Kicad

    160 parts
  • 4 layers52.9 × 79.6 mmPCB Pere V1, the printed circuit board in 3D

    PCB Pere V1

    CaptainDJMax/2627_Projet3AMSC_Index_Stellaire

    Ceci est notre projet sur l'index stellaire

    93 partsMIT