Skip to the content
PCBKitNew board
2 layers95 × 81 mmSchematics design, the printed circuit board in 3D

Code for the creation of a 737 PFD mock sensor.

Size
95 × 81 mm
Copper layers
2
Thickness
1.6 mm
Parts
15
Nets
34
Pads
75
Tracks, vias
54, 8
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
12 Apr 2026
Updated
7 Nov 2026

Overview

Schematics design is an open-source printed circuit board by dfitzsimo-svg, from the dfitzsimo-svg/PFD_Project2 repository on GitHub. It is a 2-layer board of 95 × 81 mm with 15 parts on 34 nets, routed with 54 tracks and 8 vias.

It is built around the LDL1117S33R. Its parts include 5 connectors, 2 capacitors, 2 ICs and 1 switch. It belongs with the sensors and measurement boards and the ESP32 boards of this library.

Main components

1

README

README.md

PFD_Project2

In this proam trying to make a 737 style standby PFD that can show real time speed, altitude, and attitude. I am using an ESP32 along with a GPS module, barometer and IMU to measure the kinematics. A list of all my components is giving in the project files along with some notes on each. I started the project by first writing Python code in Virtual Studio to simulate the look of the real life 737 max standby horizon as much as possible. I started out using Python and a virtual screen at first as I was much more familiar with that language and being able to use a virtual screen meant I could quickly make edits, see how it looked and then move on without having to flash the code to a physical device each time.

After I was happy with how everything looked, I translated my code over to the Arduino IDE in order to flash it to my ESP. This is where I encountered a few problems and had to make large adjustments to my code. The biggest problem was the low amount of memory of the ESP. At only -500 Kb, I had a small budget of memory and had to try many optimisation techniques. The most beneficial of these was to create sprites for certain elements of the graphics and to seperate the screen into chunks depending on their required refresh rates.

Once I had sorted the graphical issues, I then moved on to incorporating all my sensors together onto a breadboard. This turned out to be very straightforward as I had done plenty of testing with my Python code with fake sensor data. The only issue I had here was from poor connection quality from the breadboard. The next addition was to power the device with a battery as it would be in my final version. This is something that turned out harder than I expected but forced me to learn a lot about battery tech, power regulation and general circuit design. I ended up using a simple 1S LiPo with a TP4056 for charge protection and an MT3608 for voltage regulation to maintain 5V supply to the ESP.

After I was happy with the breadboard prototype, I began by designing my PCB using KiCAD which I was new to but found it to be extremely intuitive and easy to learn. At this stage I have fully completed my schematic and am now trying to settle on a board layout for all the modules.

Hardware used

  • Elegoo ESP32
  • ILI9488 3.5" SPI screen, 480x320
  • NEO-6M GPS - speed
  • BMP280 - altitude (want to add a rotary encoder for QNH later)
  • MPU6050 - pitch/roll

Sidenotes

I originally began by using a Raspberry Pi that I had laying around but the pi lacked the RAM to push detailed graphics to the screen via SPI and also lacked a ready to use driver. This is a known limitation of the chip itself, not something specific to the Pi. I had to write my own driver since there was no existing Linux library that handled this properly. Even after that, the performance was poor and the frame rate was slow.

Change from Pi to ESP:

  • Same layout/logic as the Python version, ported to C++
  • Drawing straight to the screen caused bad flicker
  • Tried a full-screen buffer to fix it but ran out of contiguous RAM
  • Fixed it by drawing in 4 horizontal bands instead, each with its own small buffer

Parts

15
QtyValueFootprintReferences
2MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3H1 M3, H3
11uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1
14.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2
1BMP280 HeaderConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ7
1Display 8 Pin JSTConnector_JST:JST_PH_B8B-PH-K_1x08_P2.00mm_VerticalJ5
1ESP32_DevKit_30PinPFD_Modules:ESP32_30pinU2
1GPS NEO6M HeaderConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1LDL1117S33RPackage_TO_SOT_SMD:SOT-223-3_TabPin2U1
1M3MountingHole:MountingHole_3.2mm_M3H2
1MPU IMU HeaderConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ4
1QNH JSTConnector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_VerticalJ6
1SW_SPSTConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalSW1
1TP4056_OUTConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalGND

The 14 most common of 15 parts.

Questions

How big is the Schematics design PCB?

It measures 95 × 81 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Schematics design use?

15 parts, built around the LDL1117S33R. 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 Schematics design KiCad files?

From the dfitzsimo-svg/PFD_Project2 repository on GitHub, at the commit this page was made from: the board is Schematics design/Schematics design.kicad_pcb and its schematic Schematics design/Schematics design.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Schematics design design in my own project?

Its repository states no licence, so its author keeps all rights: ask dfitzsimo-svg before reusing the design.

Similar boards

  • 4 layers93.3 × 60.3 mmArduino 386EX V5, the printed circuit board in 3D

    Arduino 386EX V5

    dbalsom/arduinoX86

    An interface between an Arduino Due or Arduino GIGA and 8088, 8086, V20, V30, 186 or 286 CPUs

    56 parts114
  • 2 layers167 × 115 mmAquarius plus, the printed circuit board in 3D

    Aquarius plus

    fvdhoef/aquarius-plus

    Official Aquarius+ repository

    217 parts62MIT
  • 4 layers106 × 63.5 mmBrineomatic, the printed circuit board in 3D

    Brineomatic

    hoeken/brineomatic

    Open Source Watermaker Controller.

    323 parts47LGPL-2.1
  • 2 layers65 × 33.4 mmBL R8812AF1 2x mount, the printed circuit board in 3D

    BL R8812AF1 2x mount

    OpenIPC/hardware

    A collection of hardware developments by the OpenIPC team

    28 parts33MIT
  • 4 layers161 × 100 mmPurpledrop, the printed circuit board in 3D

    Purpledrop

    uwmisl/purpledrop

    Newest iteration of PurpleDrop. Reimplemented in kicad5

    265 parts19MIT
  • 4 layers144 × 127 mmFrothfet, the printed circuit board in 3D

    Frothfet

    hoeken/frothfet

    Yarrboard load controller board with current sense, volt sense, fuses, and sender support.

    394 parts14GPL-3.0
  • 4 layers76.2 × 63.5 mmPet on a chip, the printed circuit board in 3D

    Pet on a chip

    ept221/pet-on-a-chip

    Senior Design

    69 parts13MIT
  • 6 layers317.6 × 131.8 mm75he, the printed circuit board in 3D

    75he

    Fefe-Nayz/kbhe-monorepo

    TIPE 2026 - 75% Hall effect keyboard ISO layout - Monorepo: Firmware, PCB, 3D Models, PC Software

    669 parts11