
Point controller
penguintutor/modelrailway-point-controller
Model railway point controller

Model railway point controller
Point controller switches 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 40.2 × 67.8 mm with 30 parts on 32 nets, routed with 123 tracks and 15 vias.
Its parts include 8 resistors, 8 diodes, 4 switches, 2 capacitors and 2 ICs.
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.
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.
SSID="NetworkSSID"
PASSWORD="WiFiPassword"The program can be run in two modes.
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
For the code to run automatically on start-up save the pico-point-controller.py file on your Pico as main.py.
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)
For more details see www.penguintutor.com/points
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 220R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | R1, R2, R3, R4, R5, R6, R7, R8 |
| 8 | LED | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | D1, D2, D3, D4, D5, D6, D7, D8 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 4 | SW_SPDT_MSM | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | SW1, SW2, SW3, SW4 |
| 2 | 100nF | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C1, C2 |
| 2 | MCP23008-xP | Package_DIP:DIP-18_W7.62mm | U1, U2 |
| 1 | I2C Input | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | I2C Output | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
It measures 40.2 × 67.8 mm and has 2 copper layers, 1.6 mm thick.
30 parts. 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.
From the penguintutor/modelrailway-point-controller repository on GitHub, at the commit this page was made from: the board is electronics/point-controller-switches/point-controller-switches.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.
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).

penguintutor/modelrailway-point-controller
Model railway point controller

google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards


VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

tenderlove/initial-v
It's a BMW shifter converted to a Bluetooth Keyboard that you use with Vim

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

