Skip to the content
PCBKitNew board
2 layers90 × 115 mmPCB kicad, the printed circuit board in 3D

Development of an open, modular controller for training in emergent automation technologies

Size
90 × 115 mm
Copper layers
2
Thickness
1.6 mm
Parts
85
Nets
72
Pads
254
Tracks, vias
724, 14
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
15 Oct 2024
Updated
21 Nov 2024

Overview

PCB kicad is an open-source printed circuit board by NOVA-RICS-Open-Lab, from the NOVA-RICS-Open-Lab/open-modular-controller repository on GitHub, published under the MIT licence. It is a 2-layer board of 90 × 115 mm with 85 parts on 72 nets, routed with 724 tracks and 14 vias.

It is built around the EL817. Its parts include 45 resistors, 17 ICs, 8 connectors, 7 transistors and 4 capacitors. It belongs with the ESP32 boards of this library.

Main components

1

README

README.md

Open Modular Controller for Automation Technologies

License: MIT DOI NOVA SST: Thesis

Joao Potier1, Miguel Arvana1, Leandro Filipe1, Fabio M-Oliveira1, Andre Rocha1, Jose Barata1

1 NOVA School of Science and Technology, Center of Technology and Systems (UNINOVA-CTS), and Associated Lab of Intelligent Systems (LASI), NOVA University Lisbon, 2829-516 Lisbon, Portugal

This work proposes the development of a controller, with modularity and flexibility as the core ideas, that allows for the integration of open-source standards like the proprietary technologies used in emergent factories and automation technologies. The implementation of this architecture led to the development of a prototype modular industrial controller that is, on average, a quarter of the cost of the new generation of industrial controllers. The developed controller was tested and validated using some educational kits. pcb

Get Started

Follow these steps to create your own functional PCB and set up the ESP:

  1. Order or Print the PCB

    • Locate the PCB Gerber files in the repository at Gerber.zip.
    • Upload this zip file to a PCB manufacturer (such as JLCPCB or a similar service) to order the PCB, or print it yourself if you have access to the necessary equipment.
  2. Gather Components

    • Obtain all components listed in materials.xlsx.
    • Ensure that you source parts that match the specifications provided for optimal functionality.
  3. Assemble the PCB

    • Carefully assemble the PCB following the schematic available here.
    • Use appropriate tools and ensure correct orientation and placement of components.
  4. Test the PCB

    • Before powering up, inspect the PCB for short circuits, weak solder joints, or other assembly issues.
    • Use a multimeter to verify connections and confirm proper voltage levels across components.
  5. Program and Test the ESP

    • Program the ESP with the provided code, following the libraries in the src/libs folder. Test your assembled controller and code setup with this short example.
    • Test each pin individually to verify its input and output behavior. The ESP should handle a standard 24V input/output.

If all tests pass, congratulations! Your board is now ready for operation.


Usage instructions

Once your PCB and ESP setup is complete, you can begin using the device. The ESP manages the input and output for each control pin, with a standard operating voltage of 24V. Please note:

  • Control Limitations: These pins are designed for control signals only. Avoid applying high current loads to prevent damage.
  • Testing & Example Code: Refer to the tests folder for use case examples and tests that helped validate board functionality. This includes the protoboard validation, Wi-Fi connection, Web Server and IP connection.

Follow these guidelines, and your project should operate as expected!


Project Structure

For you to better understand this repository organization here is a quick overview of its structure and where to find what you might be looking for:

text
open-modular-controller
├── docs                # documentation assets
│   ├── circuits            # digital and analog circuit study
│   ├── pcb                 # pcb assets and materials
│   └── thesis.pdf          # master thesis
├── imgs                # images from this project
├── src                 # evaluation code
│   ├── libs                # developed libraries
│   └── protoboardValid.ino         # validation circuit
└── tests               # use case example scripts

Documentation

The docs directory contains extensive resources, including schematics, materials lists, and PCB files, as well as the original master’s dissertation that inspired this project. Explore this folder to access all necessary assets for building, assembling, and understanding the hardware.

The presented use case for the protoboard validation showcases an asynchronous Web Server, providing a more stable connection than a synchronous web server. A toggle switch sends an HTTP request to the Processing Unit Module, initiating movement in the Kit. When the switch is active, it enables continuous operation of the Kit's process. Upon deactivation, the Industrial Kit halts movement at the start of the next cycle.

Note: The resistors R1, R4, R5, R6, R9, R13, and R21, originally specified as 1.1K, have been updated to 33K in both the schematic and materials list. This adjustment was made due to performance issues with certain conveyor belts that were not functional with the previous resistor values. Documenting this change is essential for any future debugging.

Contribution Guidelines

NOVA RICS Open Lab open source, and we welcome contributions from the community! See the Contribution guide for more information on the development workflow and the internals of the wandb library. For project related bugs and feature requests, visit GitHub Issues or contact novaricsopenlab@gmail.com

Citation

If you use or intend to build on top of the work in this repo, please consider citing our project:

bibtex
@inproceedings{10639979,
  author={Potier, João and Arvana, Miguel and Filipe, Leandro and M-Oliveira, Fabio and Rocha, Andre Dionisio and Barata, Jose},
  booktitle={2024 IEEE 7th International Conference on Industrial Cyber-Physical Systems (ICPS)}, 
  title={Development of an Open, Modular Controller for Training in Emergent Automation Technologies}, 
  year={2024},
  doi={10.1109/ICPS59941.2024.10639979}
}

License

This repository is released under the MIT License. Please see the LICENSE file for more details.

Contacts

For any questions regarding this or any other project please contact us at novaricsopenlab@gmail.com or enroll in our Discussion Forum for sharing your ideas and sharing projects.

Parts

85
QtyValueFootprintReferences
1433kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR14, R16, R17, R18, R19, R20, R29, R38, R39, R40, R42, R43, R44, R45
14EL817Package_DIP:DIP-4_W7.62mmU2, U3, U4, U5, U6, U7, U8, U11, U12, U13, U14, U15, U16, U17
9100RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR12, R31, R32, R33, R34, R35, R36, R37, R41
71.1kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R4, R5, R6, R9, R13, R21
7100kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3, R7, R8, R10, R11, R15, R25
7BC109Package_TO_SOT_THT:TO-18-3Q1, Q2, Q3, Q4, Q5, Q6, Q7
4Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-2-2.54_1x02_P2.54mm_HorizontalJ1, J4, J5, J7
31kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR26, R27, R28
20.1uFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC1, C3
21uFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC2, C4
26.27kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR22, R24
2LM317_TO-220Package_TO_SOT_THT:TO-220-3_VerticalU1, U10
2Screw_Terminal_01x07TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-7-2.54_1x07_P2.54mm_HorizontalJ3, J8
1164RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
1460RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR30
16,27kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR23
1LOGOESP32:FCTLOGOG1
1LOGOESP32:RICSG3
1LOGOESP32:uninovaG2
1Screw_Terminal_01x03TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-3-2.54_1x03_P2.54mm_HorizontalJ2
1Screw_Terminal_01x04TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-4-2.54_1x04_P2.54mm_HorizontalJ6
1~ESP32:ESP32-JOYITU9
1~ESP32:SwitchSW1

Questions

How big is the PCB kicad PCB?

It measures 90 × 115 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PCB kicad use?

85 parts, built around the EL817. 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 PCB kicad KiCad files?

From the NOVA-RICS-Open-Lab/open-modular-controller repository on GitHub, at the commit this page was made from: the board is docs/pcb/PCB_kicad/PCB.kicad_pcb and its schematic docs/pcb/PCB_kicad/PCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PCB kicad design in my own project?

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

Similar boards

  • 2 layers123 × 87.5 mmFastLOGIC, the printed circuit board in 3D

    FastLOGIC

    Neumi/fastLOGIC

    An affordable Arduino-based board designed for straightforward (industrial) logic control, ideal for building small-scale automation and control solutions.

    180 parts23MIT
  • 2 layers140.7 × 47.4 mmEG8010 A1, the printed circuit board in 3D

    EG8010 A1

    Millisman/EG8010

    Collection of designs for the EG8010 (ASIC for single-phase SPWM control H-bridge)

    201 parts17MIT
  • 4 layers97.5 × 99.9 mmEsp32 wled controller, the printed circuit board in 3D

    Esp32 wled controller

    fellettigiacomo/esp32-WLED-4ch-controller

    Open source 4 Channel esp32-powered WLED controller with 4 relays and built in level shifter

    100 parts16CERN-OHL-S-2.0
  • 2 layers37 × 90 mmESP32-BLE GSM, the printed circuit board in 3D

    ESP32-BLE GSM

    shridattdudhat/ESP01-MOSFET-Control

    Control LED or DC Motor using ESP-01!

    43 parts5
  • 2 layers85.1 × 75.6 mmSpotWelderTrigger, the printed circuit board in 3D

    SpotWelderTrigger

    maciejkwasek/SpotWelderTrigger_Hw

    Hardware for SpotWelderController.

    37 parts4MIT
  • 2 layers70 × 30 mmStrober board, the printed circuit board in 3D

    Strober board

    Ardenryst/pinball-led-strober

    Device to trigger mods via existing lights.

    25 parts3MIT
  • 2 layers45 × 38 mmHum contr, the printed circuit board in 3D

    Hum contr

    VGCH/smart-humidifier

    Smart controller for Xiaomi humidifier

    20 parts3
  • 2 layers51.6 × 18.5 mmAnavi opto isolator, the printed circuit board in 3D

    Anavi opto isolator

    AnaviTechnology/anavi-opto-isolator

    Opto-isolator board for Arduino, ESP32, Raspberry Pi, etc. Supports 12V to 3.3V, 12V to 5V, 24V to 3.3V, 24V to 5V.

    6 parts2