Skip to the content
PCBKitNew board
2 layers68.3 × 90 mmModuleController old, the printed circuit board in 3D

Sourcecode and Schematics for the controller of my split-flap display

Size
68.3 × 90 mm
Copper layers
2
Thickness
1.6 mm
Parts
25
Nets
42
Pads
111
Tracks, vias
326, 55
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
11 Sep 2025
Updated
2 Jan 2026

Overview

ModuleController old is an open-source printed circuit board by dennis9819, from the dennis9819/split-flap-controller repository on GitHub, published under the AGPL-3.0 licence. It is a 2-layer board of 68.3 × 90 mm with 25 parts on 42 nets, routed with 326 tracks and 55 vias.

It is built around the ATMEGA8A-AU, SN75176AP and ULN2003, with the RXEF010 among its other parts. Its parts include 8 capacitors, 4 resistors, 4 ICs, 2 connectors and 1 crystal. It belongs with the lEDs and displays boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

4

README

README.md

3D Printable split flap display

Welcome to split-flap-controller, the firmware + hardware design for driving a modular, scalable split-flap display system. Orbit View of Flap Unit

Development of this project began in 2024 with the goal of creating a robust, DIY split-flap display that anyone can build and customize themselves. Inspired by the iconic Frankfurt Airport display, this project aims to recreate the nostalgic mechanical aesthetic and characteristic flipping sound that made those displays so memorable.

Ongoing Project! This repository is not final.

Project goals

  • Modularity – Each flap module is independent and addressable, allowing for scalable display sizes.
  • DIY-Friendly Design – Open schematics, PCBs, and firmware make it accessible for makers and hobbyists.
  • Robust Firmware – Written in C, with features like error handling, EEPROM-stored calibration, and motor homing logic.
  • Authentic Aesthetic – Recreates the distinctive motion and sound of traditional airport-style displays.
  • Modern Communication – Supports RS-485 half-duplex at 57600 baud with WebSocket integration for control from a host system.
  • Open for Extension – Designed to support other MCUs, motor drivers, or mechanical formats.

Features

Hardware

  • SMD-based controller board (Atmega8 MCU)
  • Modular RS-485 communication chain
  • Integrated motor driver and position sensor handling
  • Modules connect to a single backplane
  • Hall-effect sensor homing
  • Robust error handling
    • detects homing faults, stuck drums, overcurrent and bus errors
    • activates a failSafe condition on critical fault
    • can be reset via RS485 in most conditions
    • checks validity of each packet via checksum

Firmware

  • Lightweight communication protocol with checksum and addressing
  • Fault detection (homing failure, overcurrent, invalid position)
  • Persistent settings stored in EEPROM
  • CRC check of each message

Software

  • WebSocket-based control server
  • Modular architecture for future GUI or API integrations
  • Easily portable to other platforms and MCUs
  • Nginx Webserver allows you to controll the display with your smartphone
  • very fast and written in plan c. I'm using libjson and libws for JSON handling and the WebSocket server

CAD

This display is designed in Fusion360. All schematics and boards are designed in KiCAD 9.

Most parts can be 3d printed. The modular backpanel needs to be fabricated from sheetmetal. You can use suppliers like JLCPCB for manufacturing or design a different 3d printable solution.

If you want to generate custom flaps, you can find my flap generator here: split-flap-generator

License

This project is open source and available under the AGPL-3.0 License.

Documentation

Power Consumption

Each Module pulls arround 110mA. This is roughly 1.4W of power. This can be reduced by turning off the motors in idle.


Credits

This is a 3D printable, expandable split flap display based on the original design of David Königsmann. This version uses his drum and flap design but completly redesigns the rest of the system.

The firmware as well as the Server is completly rewritten from scratch.

Feel free to checkout his more affordable and diy friendly design.

Parts

25
QtyValueFootprintReferences
4100nCapacitor_SMD:C_0805_2012MetricC5, C6, C7, C8
310kResistor_SMD:R_0805_2012MetricR1, R2, R4
3MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3
222pCapacitor_SMD:C_0805_2012MetricC3, C4
110u 16VCapacitor_SMD:C_1206_3216MetricC2
110u 35VCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC1
116,0000-HC49U-SCrystal:Crystal_HC49-U_VerticalY1
11kResistor_SMD:R_0805_2012MetricR3
12x08 Edge ConnectorDennis:Card Edge 16 powerJ6
1A1101Dennis:UA A1101U2
1ATmega8A-APackage_QFP:TQFP-32_7x7mm_P0.8mmU4
1JST B5B-XH-AConnector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_VerticalJ1
1Jumper Addr-ResetJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP1
1RXEF010Capacitor_THT:C_Disc_D7.5mm_W2.5mm_P5.00mmF1
1SN75176APPackage_DIP:DIP-8_W7.62mmU3
1ULN2003Package_DIP:DIP-16_W7.62mmU1

The 24 most common of 25 parts.

Questions

How big is the ModuleController old PCB?

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

What parts does the ModuleController old use?

25 parts, built around the ATMEGA8A-AU, SN75176AP, ULN2003 and RXEF010. 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 ModuleController old KiCad files?

From the dennis9819/split-flap-controller repository on GitHub, at the commit this page was made from: the board is cad/Schematics/module_controller/ModuleController_old.kicad_pcb and its schematic cad/Schematics/module_controller/ModuleController.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ModuleController old 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 dennis9819/split-flap-controller

2
  • 2 layers68.3 × 90 mmModuleController, the printed circuit board in 3D

    ModuleController

    dennis9819/split-flap-controller

    Sourcecode and Schematics for the controller of my split-flap display

    25 partsAGPL-3.0
  • 2 layers199 × 57 mmSplitflap backplane, the printed circuit board in 3D

    Splitflap backplane

    dennis9819/split-flap-controller

    Sourcecode and Schematics for the controller of my split-flap display

    21 partsAGPL-3.0

Similar boards

  • 4 layers170.1 × 170.1 mmOtterX, the printed circuit board in 3D

    OtterX

    RetroRemake/OtterX

    8-Bit computer compatible with Commander X16

    188 parts40CERN-OHL-W-2.0
  • 2 layers105.7 × 56 mmX399 REF, the printed circuit board in 3D

    X399 REF

    victorman222/LM399

    LM399/ADR1399 reference

    88 parts2
  • 2 layers40 × 40 mmComponent fuse PolyFuse, the printed circuit board in 3D

    Component fuse PolyFuse

    probably-Erwins-Cat/Circuit-Nodes

    Circuit Nodes is an educational tool shared under CC BY-NC-SA 4.0 to help students understand electronic circuits by physically building them.

    8 parts3
  • 2 layers35.1 × 172.3 mmPiggyBackRS485, the printed circuit board in 3D

    PiggyBackRS485

    KALTCHUK/Z80_Modular_Computer

    "Anyone who has brought up CP/M on a homebuilt computer has felt this moment of elation. A myriad of connections are properly closed; bits are flying at lightning speeds over busses and through circuits and program…

    40 parts94
  • 2 layers55.2 × 71.8 mmNabu keyboard usb, the printed circuit board in 3D

    Nabu keyboard usb

    thorpej/nabu-keyboard-usb

    Adapter to connect to a NABU PC keyboard via USB

    20 parts8BSD-2-Clause
  • 2 layers58.1 × 50.5 mmArduino hub 12 pcb, the printed circuit board in 3D

    Arduino hub 12 pcb

    VirtualConcrete/HUB12Controller

    The board is a simple Arduino Nano --> HUB12 adapter with DMX input using the SN75176 differential bus transciver. XLR 3 pin is used for DMX input. The power supply is +5V via screw terminals.

    7 parts2
  • 2 layers131.8 × 51.8 mmBridge, the printed circuit board in 3D

    Bridge

    nichtrami/led_tube

    A LED Tube that works wireless and runs on a ESP32 with Arduino Framework

    17 parts1Apache-2.0