Skip to the content
2 layers32.3 × 55 mmBacklighting LEDModule PCB, the printed circuit board in 3D

Backlighting LEDModule PCB

stefanofinetti/MF_A320_Glareshield

Complete project for the MobiFlight FCU/EFIS Mainboard

Size
32.3 × 55 mm
Copper layers
2
Thickness
1.6 mm
Parts
6
Nets
2
Pads
51
Tracks, vias
128, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
27 Nov 2024
Updated
11 Oct 2026

Overview

Backlighting LEDModule PCB is an open-source printed circuit board by stefanofinetti, from the stefanofinetti/MF_A320_Glareshield repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 32.3 × 55 mm with 6 parts on 2 nets, routed with 128 tracks and 0 vias.

README

Readme.md

A320 Glareshield — FCU + EFIS

This repository contains the complete glareshield unit: the FCU in the centre and the two EFIS control panels either side, driven by MobiFlight. The two outer side panels are not built — three rarely used buttons did not justify the plastic.

The unit sits on a desk, is powered by its own mains adapter and connects to the PC over USB, so it can be unplugged and moved.

  • STL Files for 3D Printing, along with the .3mf files for multicolor printing
  • SKP Files from SketchUp, if you want to edit dimensions or change anything
  • Kicad files for editing the PCBs or changing components

Features

  • If you decide to not modify anything, you can just print the various 3D components and order the PCBs from JLCPCB.
  • You will need a lot of materials, if you open the Kicad Projects you can obtain the BOM directly from them.
  • You will need to build your own custom firmware (source provided) or you can use the one in the ZIP file inside the _dist directory in VsCode Files

Boards

FolderProjectQtyRole
Mainboard/FCU_Mainboard_v31ATmega2560 + CH340G, 7 OLEDs behind a PCA9548A I²C mux, 4× CD74HC4067 analogue mux for the buttons, 20 annunciator outputs, TPS2115A supply selector. 270 × 100 mm, 2 layers
PSU/9V_Distribution170 × 80 mm. Two independent regulators off one 9 V input: an LM2596S-5 buck for the backlighting and a P78A05-1000 for the mainboard. See PSU revision below
Backlighting_Dimmer/Backlighting_PCB1NE555 PWM dimmer, potentiometer controlled, IRLIZ44N low-side switch, three outputs
Backlighting_LEDModule/Backlighting_LEDModule_PCB3Passive fan-out: one input → twenty 2-pin outputs. Three of them only to keep the LED strip wiring short
Korry_Large/KorryLargePCB_SMD—Tactile switch + green annunciator LED + white backlight LED
Korry_Small/KorrySmallPCB_SMD—Same, smaller outline

Power architecture

text
 mains adapter 9 V / 3 A
        │
        └──► PSU  J1 ──► D1 ──┬──► F2 ──► LM2596S-5 ──► L1 ──┬──► 5 V ──┬──► J2 ─┐
                              │   (2 A)     D2 ◄──┘          │          ├──► J3 ─┤
                              │             catch      C2 ‖ C4          └──► J4 ─┤
                              │                                                  │
                              └──► F3 ──► P78A05-1000 ──► J5 ──► Mainboard J13    │
                                 (0.5 A)   C5‖C6  C7‖C8                  │        │
                                                                     IN1 ▼        │
 PC ──USB──► Mainboard P1 ──► VBUS ──────────────► IN2 ──► U8 TPS2115A            │
   (powered USB3 hub)                                         OUT ──► +5V         │
        │                                                                         │
        └──► 20 × Korry  (green annunciator LED + button)                         │
                   │                                                              │
                   │                            Backlighting_Dimmer ◄─────────────┘
                   │                                    │
                   │                                    └──► 3 × LEDModule
                   └──────────── white backlight LED ◄───────────┘
                                 + 6 LED strip segments

Two supply chains that share only ground. The backlighting, which draws the real current, runs off the mains adapter through the buck. The mainboard takes whichever of the two is available: U8 picks the adapter through J13 whenever it is plugged in and falls back to USB when it is not — see Mainboard selector.

Interconnect

Every cable in the unit is straight through: pin 1 to pin 1. It was not always so, and the boards still carry the marks that say which pin is which, so you can check rather than trust this page.

Mainboard → Korry (BTN+LED, 3-pin)

pinSignalMarked
1GNDGND on the mainboard, G on the Korry
2annunciator LED, driven by an MCU pin through the 220 Ω on the Korry boardLED / L
3button to GND, read through a CD74HC4067BTN / B

LEDModule → Korry (BK_LED, 2-pin)

pinSignalMarked
1+5 V+ on the odd row of the LEDModule, + on the Korry
2switched return, through the 91 Ω on the Korry board-

Backlighting_Dimmer → LEDModule (BOARD_CONN, screw terminal)

pinSignal
1+5 V, always present
2return, switched to GND by the IRLIZ44N

The dimmer's three outputs are marked TO LEDMODULE, the LEDModule's input 5V IN, and both have a + and a - next to the screws.

PSU → consumers

J2, J3 and J4 are three taps on one node, not three independent lines. There is no per-output fusing. Protection is per branch, not per output: F2 (2 A) covers everything downstream of the buck, F3 (0.5 A) covers the mainboard regulator, and a fault on one cannot take the other down.

Current budget

Calculated where the resistors are known, estimated elsewhere.

LoadRailCurrent
7 OLEDs+3V3, from +5V through the AMS1117105–140 mA
Green annunciators, 11 lit worst case (220 Ω)driven by MCU pins~130 mA
ATmega2560 + CH340G + muxes + power LEDVIN / +5V~55 mA
Mainboard total, from USB290–340 mA
20 white backlight LEDs (91 Ω)backlight 5 V418 mA
6 LED strip segments, 3528backlight 5 V360–720 mA
Backlighting total, from the adapter780–1140 mA

The adapter supplies 27 W and the unit uses under 7 W. Nothing is binding any more: F2 was the constraint when it was a 1 A part, which derated to under 0.8 A of hold current against the 0.75 A the buck actually draws. At 2 A it has margin to spare.

PSU revision

The 9 V distribution board was reworked.

ChangeWhy
D2 added — 1N5822, cathode on the switch node, anode to groundA non-synchronous buck has nowhere for the inductor current to go when the switch opens. Without an external diode it freewheels through the substrate diode of the LM2596 itself: roughly 0.4 W of extra dissipation inside the package on top of its own 0.7 W, and substrate injection the part is not specified for. This is why the board works and why it degrades
C4 added — 220 µF radial electrolytic in parallel with C2The LM2596 control loop needs some ESR on the output, and C2 was a ceramic with almost none. C2 has since become an electrolytic too, so the two now share the job. The RMP V5, same family of design but with electrolytics at its regulator, has never misbehaved
F2 1 A → 2 A (MF-RHT100 → MF-RHT200)At 1.14 A out the input draws about 0.75 A. Derated for the temperature inside a printed case, a 1 A polyfuse holds under 0.8 A — too close to nuisance tripping. Pads are identical, so the swap costs nothing in layout
Power section re-laid outU4 pin 2, the cathode of D2 and pin 1 of L1 now sit on one straight line at y = 64.95, and C1 sits 4 mm under the VIN pin. The commutation loop went from nonexistent to about 4 mm of forward track each side

Through-hole where it helps

D1, D2, C1 and C2 were SMD; they are now through-hole. Two of those four are not a convenience:

  • C1 sits across the 9 V input and needs 25 V of rating. A 1206 MLCC of that capacitance does not exist at 25 V, so the part was always going to be under-rated and to lose most of its capacitance to DC bias. As a radial electrolytic the problem simply goes away.
  • C2 is the buck's output capacitor, and the LM2596 wants some ESR there. As a ceramic it had almost none, which is why C4 was added; as an electrolytic it provides it itself.

D1 and D2 are 1N5822, 40 V 3 A, which is generous against the ~1 A each actually carries. D2 is mounted vertically on a 5.08 mm pitch, shorter than the 6.8 mm of the SMC it replaces, so the commutation loop got slightly tighter rather than longer.

Everything in the buck section is now through-hole except U4, whose tab needs the copper pour to dissipate, and the status LEDs with their resistors. A useful side effect: every ground pad in that section now passes through the board and reaches both planes on its own, so four stitching vias and their stubs are gone.

Component spacing was opened up at the same time. Nothing placed by hand is closer than 2 mm to its neighbour now; the tightest pairs left on the board are the original LED-and-resistor pairs at 0.66 mm.

The mainboard branch

The mainboard needs a 5 V source that does not depend on the USB hub. It does not take it from J2/J3/J4: those are one node with the backlighting on it, PWM-switched by the dimmer's IRLIZ44N in steps of up to 1.1 A. Putting the MCU and seven OLEDs on that rail would feed them those steps.

Instead a second, independent regulator, tapped from D1's cathode: the reverse protection is shared, the fuse is not, so a fault on one branch cannot take down the other. F3 is 0.5 A for the branch's ~215 mA at 9 V. U1 is the same P78A05-1000 module used on RMP V5, with 100 nF + 100 uF each side as there.

The board grew from 50 × 70 to 70 × 80 mm to make room. The whole regulator chain lives in the new strip at x 150..170, so the buck section keeps its original placement and its original routing, and every track stays on the front: the bottom layer is an uninterrupted ground plane.

All 55 tracks are on the front, so the return current of each loop runs directly beneath its outward track and the enclosed area stays small. Stitching vias next to the ground terminals of C1, C2, C4 and the anode of D2 are tied to their pads by short tracks rather than through the thermal spokes.

The outline and the four mounting holes did move with the enlargement, so the printed base has to be reprinted or its brass inserts moved. The positions of J1 to J4 are unchanged, so the wiring loom stays as it is.

Mainboard selector

U8 is a TPS2115A power mux: IN1 takes the clean 5 V from the PSU's J5, IN2 takes USB VBUS, and OUT becomes the board's +5V. D0 is tied to ground and D1 comes from a 100k/100k divider on the incoming rail, which makes the choice deterministic rather than "whichever input happens to be higher": the external supply wins whenever it is above about 4 V, and the board falls back to USB below that.

The part has no body diodes across its switches, so nothing can flow back into the USB port when the board runs on the adapter. ILIM is set to about 0.8 A by R34. STAT is left unconnected; it is an open-drain output that goes low on IN1, if an indicator is ever wanted.

P1 pin 1 and R14, the D+ pull-up, moved off +5V onto the new VBUS net. JP1, VCC and the ISP path are untouched: JP1 still chooses whether VIN comes from the board rail or from the programmer.

The symbol lives in Mainboard/TPS2115A.kicad_sym with a project-local sym-lib-table, so the repository is self-contained.

Counting tracks as well as footprints, the old 250 mm board had no free rectangle big enough for the cluster anywhere near the power section, so the board grew to 270 x 100 mm: it gains 20 mm on the right and nothing that already existed moves, apart from the two right-hand mounting holes, which go from x 265 to x 285. The other five stay put. The 100 mm depth is untouched.

The whole selector sits in that new strip, in a column from J13 at the top down through U8, C27 and the divider.

The cluster is routed and the board reports 0 violations, 0 unconnected items and 0 parity issues.

The three power connections around the selector run at 1 mm, the width their netclass asks for. They cannot run that wide the whole way: they leave pins 6, 7 and 8 of a TSSOP at 0.65 mm pitch, where the pad itself is only 0.4 mm tall, so each stays at 0.4 mm for the three to six millimetres it travels alongside the other two and widens as soon as they diverge. Series resistance of the three paths, in 35 µm copper:

Path
5V_EXT, J13 → U8 pin 819 mΩ
+5V, U8 pin 7 → C2713 mΩ
VBUS, C26 → U8 pin 613 mΩ

The 5V_EXT spine below y 55 and the tap to R32 stay at 0.3 mm on purpose: from there down only the SEL divider draws, which is microamps.

Reading the boards

The silkscreen is meant to be enough on its own: every connector says what plugs into it and every pin says what it carries, so you can wire the unit with the boards in front of you and the schematic only for the details.

BoardWhat is printed
Mainboardthe function on each connector (APPR, R_FD, HDG_ENC…) and, next to the pins, GND / LED / BTN, L / R on the encoders, VOR / ADF, hPa / inHg. J13 carries 5V from PSU with GND and 5V on its two screws
PSU9V IN on J1, 5V BACKLIGHT on J2–J4, 5V MAINBOARD on J5, and a + beside the live screw of every terminal
Backlighting_Dimmer5V IN on the input, TO LEDMODULE on the three outputs, Backlighting POT on the potentiometer header
Backlighting_LEDModule5V IN on the input, + and - beside its screws and beside both output rows
Korry_LargeBTN+LED and BK_LED on the two connectors, G, L and B beside pins 1, 2 and 3, + and - beside the backlight connector and beside each LED on the back, and the two resistor values, 220 and 91, which are otherwise identical parts
Korry_Smallthe same, with +5 and L on the backlight connector and a + beside each LED on the back

Component values live on F.Silkscreen, not on F.Fab, so they reach the board. Values are never edited to make a label: where a connector's value is the name of the terminal block, the value stays where it is and a separate piece of text carries the meaning.

Known issues

None open.

Libraries you will need

All six projects are KiCad 10. Every board reports 0 unconnected items and 0 schematic parity issues, but ERC and DRC still flag missing libraries: the symbols are embedded in the files so nothing is lost, only the links dangle. Install these from the Plugin and Content Manager to clear them:

LibraryUsed for
Alternate KiCad Librarythe LED and Schottky footprints: PCM_LED_AKL, PCM_LED_SMD_AKL, PCM_Diode_Schottky_AKL, PCM_Diode_SMD_AKL

That is the only one left. Three others used to be needed and are not any more. The screw terminals are now Connector:Screw_Terminal_01x02, which ships with KiCad. The two symbols that came from the Digi-Key library, the NE555 on the dimmer and the tactile switch on Korry_Large, now live beside their own projects:

FileSymbol
Mainboard/TPS2115A.kicad_symthe supply selector
Backlighting_Dimmer/NE555P.kicad_symthe timer
Korry_Large/1825910-6.kicad_symthe tactile switch

Those are the symbols the boards were drawn with, not library equivalents, which matters for the switch: Switch:SW_Push_Dual puts its pins in the same places but numbers them 1-3 and 2-4 where this one numbers them 1-2 and 3-4, so substituting it would change which pins are shorted inside the button.

Every board has had Update Footprints from Library run on it, so the footprints are the KiCad 10 revisions and no lib_footprint_mismatch remains. If you run it again, untick Reset text layers and visibilities and Reset text effects, or every component value goes back to F.Fab and stops being printed.

What each board reports today, with all six at 0 unconnected items and 0 parity issues:

BoardDRCERC
Mainboardcleanclean
PSUcleanclean
Backlighting_Dimmercleanclean
Backlighting_LEDModulecleanclean
Korry_Largecleanclean
Korry_Smallcleanclean

The dimmer carries one excluded violation, recorded in the project file: the wire-entry drawing inside the J32 footprint reaches within 0.02 mm of the board edge, so two hundredths of a millimetre of ink do not get printed. J32 cannot move down — C4 sits 0.04 mm under its courtyard and the usable window is 10.49 mm tall for a 10 mm body — and the alternative was editing the library footprint, which is worse than the complaint.

Gotchas

  • Anything edited outside KiCad leaves the ground pour stale. The stored fill is the one computed before the edit, and until you open the board and press B DRC invents clearance, hole and solder-mask violations that all name Zone [GND] and none of which are real. Every board here is committed with its zones freshly filled; if you edit the files by script, refill before generating production output.
  • If you ever run Update Footprints from Library, untick "Reset text layers and visibilities" and "Reset text effects". Without that, every component value goes back to F.Fab and stops being printed.
  • F8 in Pcbnew clears exclude_from_pos_files on the seven mounting holes, which puts them into the pick-and-place file. Re-check before generating production output.
  • Three 3D models are missing, and the KiCad package has nothing to stand in for them: the two Bourns polyfuses on the PSU, the toroid L1 beside them, and P1 on the mainboard. For the toroid the library carries only common-mode ones, which have four pins instead of two; for P1 the four holes sit in a 2 x 2 pattern and every USB-A footprint KiCad ships puts its pins in a single row. Everything else on all six boards renders. A few are stand-ins of the same package rather than the same part number: the crystals use the Wuerth 12SMX, same 7.0 x 5.0 four-pin outline, and the P78A05 uses the RECOM R-78E, whose three pins sit on exactly the same 2.54 mm pitch.
  • Some tracks are narrower than their netclass and are meant to be. The two 0.4102 mm segments on +3V3 are the breakout from pad 24 of the PCA9548A, a 0.65 mm-pitch package whose pad is 0.41 mm tall: it is a dead-end spur 2.35 mm long carrying the mux's own supply. Same story for the 0.4 mm necks at U8 and the 0.5 mm spur to U3 pin 24. Widening any of them breaks clearance and buys nothing.
  • VIN has its own netclass with 0.1 mm clearance. Moving it to the 5V class, which uses 0.2 mm, produces about 70 violations against existing copper.
  • Production files are generated by the Fabrication Toolkit plugin and are not versioned.

Getting Started

Prerequisites

  • Software required:

    • KiCad — version 10 or later, the projects have been migrated
    • SketchUp
    • [VsCode]
    • [MobiFlight]
  • Any libraries or components used.

Installation

  1. Clone the repository:
    bash
    git clone https://github.com/stefanofinetti/MF_A320_Glareshield.git

License

This code and all the items are release under GPLv3.0 license. Feel free to use as you wish as long as you redistribute the source code. It would be nice a mention, though, if you use this work. I invested a good amount of hours just to make it for the amazing MobiFlight community.

Pull requests that fix any of the issues listed above are very welcome.

Acknowledgements

This project couldn't have seen the light without the excellent work, and kind support, of GaGagu and ElRal. Their work is amazing, so please have a look at their repositories

Parts

6
QtyValueFootprintReferences
3MountingHoleMountingHole:MountingHole_3.2mm_M3_DIN965_Pad_TopBottomH1, H2, H3
2Conn_02x10_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_VerticalJ1, J2
1BOARD_CONNTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_HorizontalJ11

More from stefanofinetti/MF_A320_Glareshield

5
  • 2 layers270 × 100 mmFCU Mainboard v3, the printed circuit board in 3D

    FCU Mainboard v3

    stefanofinetti/MF_A320_Glareshield

    Complete project for the MobiFlight FCU/EFIS Mainboard

    143 partsGPL-3.0
  • 2 layers70 × 80 mm9V Distribution, the printed circuit board in 3D

    9V Distribution

    stefanofinetti/MF_A320_Glareshield

    Complete project for the MobiFlight FCU/EFIS Mainboard

    29 partsGPL-3.0
  • 2 layers43.3 × 55 mmBacklighting PCB, the printed circuit board in 3D

    Backlighting PCB

    stefanofinetti/MF_A320_Glareshield

    Complete project for the MobiFlight FCU/EFIS Mainboard

    19 partsGPL-3.0
  • 2 layers32.8 × 32 mmKorryLargePCB SMD, the printed circuit board in 3D

    KorryLargePCB SMD

    stefanofinetti/MF_A320_Glareshield

    Complete project for the MobiFlight FCU/EFIS Mainboard

    9 partsGPL-3.0
  • 2 layers22 × 36.7 mmKorrySmallPCB SMD, the printed circuit board in 3D

    KorrySmallPCB SMD

    stefanofinetti/MF_A320_Glareshield

    Complete project for the MobiFlight FCU/EFIS Mainboard

    9 partsGPL-3.0

Similar boards

  • 2 layers18.5 × 11.1 mmSwitch, the printed circuit board in 3D

    Switch

    byrantech/laptop

    anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.

    6 parts4.3kMIT
  • 2 layers14.6 × 33 mmBrain board SD Card 1, the printed circuit board in 3D

    Brain board SD Card 1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    6 parts1.2k
  • 2 layers9 × 9 mmDpoint, the printed circuit board in 3D

    Dpoint

    Jcparkyn/dpoint

    Open-source digital stylus using camera tracking and inertial measurements

    6 parts1.1kMIT
  • 2 layers51.5 × 16.6 mmMicroswitchXY Endstop, the printed circuit board in 3D

    MicroswitchXY Endstop

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    6 parts1.1kGPL-3.0
  • 2 layers21.9 × 76.7 mmAmiga External, the printed circuit board in 3D

    Amiga External

    hoglet67/RGBtoHDMI

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

    6 parts1kGPL-3.0
  • 2 layers88.9 × 50.8 mmBusinesscard, the printed circuit board in 3D

    Businesscard

    hackclub/OnBoard

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

    6 parts915
  • 2 layers20.3 × 15.2 mmL0 RGB led, the printed circuit board in 3D

    L0 RGB led

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    6 parts546MIT
  • 2 layers9 × 3.6 mmOpticalEncoder, the printed circuit board in 3D

    OpticalEncoder

    adamb314/ServoProject

    Getting the most out of your hobby servo

    6 parts545

Questions

How big is the Backlighting LEDModule PCB PCB?

It measures 32.3 × 55 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Backlighting LEDModule PCB use?

6 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.

Where can I download the Backlighting LEDModule PCB KiCad files?

From the stefanofinetti/MF_A320_Glareshield repository on GitHub, at the commit this page was made from: the board is Backlighting_LEDModule/Backlighting_LEDModule_PCB.kicad_pcb and its schematic Backlighting_Dimmer/Backlighting_PCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Backlighting LEDModule PCB 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).