Skip to the content
PCBKitNew board
2 layers116 × 97 mmPoint controller, the printed circuit board in 3D

Model railway point controller

Size
116 × 97 mm
Copper layers
2
Thickness
1.6 mm
Parts
61
Nets
64
Pads
232
Tracks, vias
341, 23
Pours
3
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
30 Apr 2024
Updated
30 Jan 2026

Overview

Point controller is an open-source printed circuit board by penguintutor, from the penguintutor/modelrailway-point-controller repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 116 × 97 mm with 61 parts on 64 nets, routed with 341 tracks and 23 vias.

It is built around the L7805 and IRLB8721PBF. Its parts include 15 resistors, 14 diodes, 11 transistors, 9 connectors and 5 capacitors. It belongs with the RP2040 boards of this library.

Main components

2

README

README.md

Model railway point controller

The model railway point controller provides a way to control up to 4 points using a Raspberry Pi Pico W. It includes a MOSFET based capacitor discharge unit on the PCB and MOSFET controllers for each of the point motors.

It includes a second control board connected by I2C which can be connected to physical LEDs and switches to provide a way to control the points. The points can also be controlled using a web interface which can also be used in conjunction with GUI software to provide a touch screen interface.

Installation

This version needs to be installed on a Raspberry Pi Pico W with the appropriate network enabled MicroPython. MicroPython can be installed through the Thonny editor.

To install the program, copy all the files in the pico-src directory to the top-level of the Raspberry Pi Pico. For the network connection you also need to create a file called secrets.py with details of your SSID and PASSWORD. The example below shows the formatting for the secrets.py file.

text
SSID="NetworkSSID"
PASSWORD="WiFiPassword"

Configuration

The program can be run in two modes.

  • Access Point Mode (AP mode) - In this mode the Pico will act as a Wireless Access Point which you can connect to using another WiFi enabled device.
  • Client Mode - In this mode you can connect to an existing wireless network

Note that in client mode it is currently blocking and will not operate until it has successfully connected to the network.

The mode is set by editing the entry "mode" in the pico-lights.py file.

mode="ap" # Use as an access point mode="client" # Use as a Wi-Fi client

Running on startup

For the code to run automatically on start-up save the pico-point-controller.py file on your Pico as main.py.

Using without the I2C control board

The board can be used in WiFi only mode, which does not use the I2C based switch and LED board. For that use the file pico-point-controller.wifionly.py instead of pico-point-controller.py (or save as main.py for auto-run)

More Information

For more details see www.penguintutor.com/points

Parts

61
QtyValueFootprintReferences
91N4003Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD3, D7, D8, D9, D10, D11, D12, D13, D14
9IRLB8721PBFPackage_TO_SOT_THT:TO-220-3_VerticalQ1, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11
8470RResistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P15.24mm_HorizontalR8, R9, R10, R11, R12, R13, R14, R15
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
210KResistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P15.24mm_HorizontalR5, R7
21N5820Diode_THT:D_DO-201AD_P15.24mm_HorizontalD1, D2
22200μF+Custom_footprints:CP_Radial_D16.0mm_P7.50mm_P5.00mmC2, C3
22N7000Package_TO_SOT_THT:TO-92_InlineQ2, Q3
24K7Resistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P15.24mm_HorizontalR4, R6
1100nFCapacitor_THT:C_Rect_L11.5mm_W7.5mm_P10.00mm_MKTC5
11K0Resistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P15.24mm_HorizontalR2
11N5817Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD5
12200μFCapacitor_THT:CP_Radial_D14.0mm_P5.00mmC1
122RResistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P15.24mm_HorizontalR1
12K2Resistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P15.24mm_HorizontalR3
1330nFCapacitor_THT:C_Rect_L7.0mm_W2.0mm_P5.00mmC4
15V outputConnector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.5_1x02_P3.50mm_HorizontalJ5
1Enable 5VConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1
1I2C ExpConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ4
1I2C outConnector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.5_1x04_P3.50mm_HorizontalJ3
1L7805Package_TO_SOT_THT:TO-220-3_VerticalU1
1LEDLED_THT:LED_D5.0mmD4
1NeoPixelLED_THT:LED_D5.0mm-4_RGB_Wide_PinsD6
1PicoPico:RPi_Pico_SMD_THU2
1Point 1Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_HorizontalJ7
1Point 2Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_HorizontalJ6
1Point 3Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_HorizontalJ9
1Point 4Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_HorizontalJ8
1Power inTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ1
1Power outConnector_Phoenix_MC:PhoenixContact_MC_1,5_2-G-3.5_1x02_P3.50mm_HorizontalJ2

Questions

How big is the Point controller PCB?

It measures 116 × 97 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Point controller use?

61 parts, built around the L7805 and IRLB8721PBF. 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 Point controller KiCad files?

From the penguintutor/modelrailway-point-controller repository on GitHub, at the commit this page was made from: the board is electronics/point-controller/point-controller.kicad_pcb and its schematic electronics/point-controller-switches/point-controller-switches.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Point controller design in my own project?

Its repository publishes it under the GPL-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 penguintutor/modelrailway-point-controller

1
  • 2 layers40.2 × 67.8 mmPoint controller switches, the printed circuit board in 3D

    Point controller switches

    penguintutor/modelrailway-point-controller

    Model railway point controller

    30 parts1GPL-3.0

Similar boards

  • 2 layers26 × 34.5 mmWemos mini external power, the printed circuit board in 3D

    Wemos mini external power

    dzervas/wemos-mini-external-power

    WeMos Mini shield for external power supply (up to 35V)

    17 parts
  • 4 layers125 × 91 mmIronerae cant ilever, the printed circuit board in 3D

    Ironerae cant ilever

    ironerae/cant-ilever-Board-V2

    The V2 iteration of the previous custom 3D printer mainboard powered by the Raspberry Pi Pico (RP2040)

    110 parts
  • 2 layers115.8 × 79.8 mmESC versiune2, the printed circuit board in 3D

    ESC versiune2

    vladBaciu/Sensorless-BLDC-HW

    Bachelor thesis project

    96 parts3
  • 2 layers53.5 × 67.5 mmVirtual clues, the printed circuit board in 3D

    Virtual clues

    r0oland/laserhannes_kicad_electronics

    32 partsApache-2.0
  • 2 layers50.8 × 28.6 mmBeaglebone obd, the printed circuit board in 3D

    Beaglebone obd

    KoffeinFlummi/rustbucket

    Access your car's diagnostics with a BeagleBone Blue and Rust.

    20 parts60GPL-3.0
  • 2 layers99.1 × 99.1 mm3D Scanner, the printed circuit board in 3D

    3D Scanner

    nazzrim/Open3DScanner

    Open3DScanner 3D Scanner design

    33 parts60
  • 2 layers36 × 31 mmESPDimmer, the printed circuit board in 3D

    ESPDimmer

    stelioskat/esp8266-led-dimmer

    Wifi enabled LED strip dimmer that is controlled using MQTT messages.

    11 parts20MIT
  • 2 layers70.3 × 30.2 mmControl pcb, the printed circuit board in 3D

    Control pcb

    kbob/filabilly-humidor

    Dehumidifier cabinet for printer filament

    16 parts9