Skip to the content
6 layers499.5 × 326 mmOLD obfuscated DontUse link, the printed circuit board in 3D

OLD obfuscated DontUse link

Jeo0/atg-client3

automatic trajectory generator cross-platform client for acoustic volumetric displays (dis our thesis :))

Size
499.5 × 326 mm
Copper layers
6
Thickness
1.6 mm
Parts
548
Nets
1,157
Pads
3,264
Tracks, vias
5,727, 1,200
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Dec 2025
Updated
2 Nov 2026

Overview

OLD obfuscated DontUse link is an open-source printed circuit board by Jeo0, from the Jeo0/atg-client repository on GitHub. It is a 6-layer board of 499.5 × 326 mm with 548 parts on 1,157 nets, routed with 5,727 tracks and 1,200 vias.

It is built around the LFE5U-25F-6BG256C, MIC4127YML-TR and TLV62569DBV, with the W25Q32JVSSIQ, 74HC595D and TPS54302 among its other parts. Its parts include 165 ICs, 99 capacitors, 19 resistors, 3 connectors and 3 inductors. It belongs with the lEDs and displays boards and the FPGA and CPLD boards of this library.

Main components

8

README

README.md

atg-client

Automatic Trajectory Generator Client — A cross-platform desktop application for acoustic volumetric displays. (Undergraduate thesis project) see https://github.com/Jeo0/3rd-opengl-test for the desktop client status (to be merged here afterwards)


Table of Contents


About the Project

atg-client is a cross-platform GUI client for controlling and visualizing acoustic volumetric displays — devices that levitate and move particles in mid-air using ultrasound to create 3D images visible to the naked eye.

The client is responsible for:

  • Generating trajectories — computing the paths that levitated particles should follow to form 3D shapes or animations.
  • Visualizing the output — rendering a real-time 3D preview of the trajectories using OpenGL and an ImGui-based interface.
  • Communicating with hardware — sending trajectory data to the acoustic display hardware.

The project is split into two main parts:

DirectoryDescription
software/The desktop GUI client (C++, OpenGL, ImGui)
hardware/PCB schematics and hardware design files (KiCad)

Tech Stack

TechnologyRole
C++ 14Core application language
OpenGL 4.63D rendering
GLFWCross-platform window and input management
GLADOpenGL function loader
Dear ImGuiImmediate-mode GUI framework
GNU MakeBuild system
KiCadHardware PCB design

Repository Structure

text
atg-client/
├── software/               # Desktop client source code
│   ├── src/
│   │   ├── main.cpp        # Entry point — initializes and runs the GUI app
│   │   ├── guiApp.cpp      # Core app class: window, OpenGL, ImGui lifecycle
│   │   ├── shaders/        # GLSL vertex and fragment shaders
│   │   ├── opengltings/    # OpenGL helper utilities (e.g., shader reader)
│   │   ├── window/         # Window abstraction layer
│   │   └── 3rdparty/       # Third-party source files (e.g., glad.c)
│   ├── include/            # Header files and library includes
│   ├── build/              # Compiled output (generated, not tracked)
│   └── Makefile            # Build script (cross-platform: Linux & Windows)
│
├── hardware/               # Hardware design files
│   ├── KiCad/              # PCB schematics and layouts
│   ├── diamond/            # Diamond-pattern transducer array designs
│   ├── lib/                # KiCad component libraries
│   └── docs/               # Hardware documentation
│
├── TODO                    # Active development notes
└── README.md

Prerequisites

Before building, ensure your system meets the following requirements:

  • OpenGL 4.6 or higher
  • GCC / G++ with C++14 support
  • GNU Make
  • GLFW 3
  • pkg-config

Verify your OpenGL version

Install mesa-utils and run:

bash
sudo pacman -S mesa-utils      # Arch Linux
glxinfo | grep "OpenGL version"

Building on Arch Linux

1. Install dependencies

bash
sudo pacman -S glfw base-devel

2. Build and run

Navigate to the software/ directory and use GNU Make:

bash
cd ./software/
make clean      # Remove any previous build artifacts
make            # Compile the project
make run        # Build (if needed) and launch the application

The compiled binary will be placed at software/build/example_glfw_opengl3.

Note: Always run make clean before make after pulling new changes to avoid stale build artifacts.


Building on Windows

Prerequisites

  • MinGW-w64 (provides g++, gcc, make)
  • GLFW binaries for Windows
  • pkg-config configured for your MinGW environment

Build

powershell
cd .\software\
make clean
make
make run

The compiled binary will be placed at software/build/example_glfw_opengl3.exe.

Parts

548
QtyValueFootprintReferences
256Speaker_UltrasoundBuzzer_Beeper:Buzzer_15x7.5RM7.6LS1, LS10, LS11, LS100, LS101, LS102, LS103, LS104, LS105, LS106, LS107, LS108, LS109, LS110, LS111, LS112 +240
128MIC4127YML-TRPackage_DFN_QFN:DFN-8-1EP_3x3mm_P0.65mm_EP1.55x2.4mmU100, U102, U103, U104, U105, U107, U108, U109, U110, U112, U113, U114, U115, U117, U118, U119 +112
650.1μFCapacitor_SMD:C_0805_2012MetricC1, C2, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23 +49
3274HC595DPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU1, U11, U16, U101, U106, U111, U116, U121, U126, U131, U136, U141, U146, U151, U156, U161 +16
21100nFCapacitor_SMD:C_0805_2012MetricC65, C85, C86, C87, C88, C89, C90, C91, C100, C101, C102, C103, C104, C105, C106, C107 +5
114.7KResistor_SMD:R_0805_2012MetricR1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11
810μFCapacitor_SMD:C_0805_2012MetricC67, C71, C73, C84, C95, C97, C99, C108
422μFCapacitor_SMD:C_0805_2012MetricC68, C69, C72, C74
2TLV62569DBVPackage_TO_SOT_SMD:SOT-23-5U9, U10
110kResistor_SMD:R_0805_2012MetricR17
1120RInductor_SMD:L_0805_2012MetricFB1
112kResistor_SMD:R_0805_2012MetricR16
116kResistor_SMD:R_0805_2012MetricR19
11KResistor_SMD:R_0805_2012MetricR13
11μHInductor_SMD:L_Taiyo-Yuden_NR-30xxL2
12.2μHInductor_SMD:L_Taiyo-Yuden_NR-30xxL3
122RResistor_SMD:R_0805_2012MetricR12
122kResistor_SMD:R_0805_2012MetricR15
14.7μHInductor_SMD:L_Bourns_SRN6045TAL1
147μFCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC66
151kResistor_SMD:R_0805_2012MetricR18
168kResistor_SMD:R_0805_2012MetricR14
1Conn_01x03_PinConnector:FanPinHeader_1x03_P2.54mm_VerticalJ1
1JTAGConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ2
1LFE5U-25F-6BG256CPackage_BGA:LFBGA-289_14x14mm_Layout17x17_P0.8mmu2
1SMAJ12ADiode_SMD:D_SMAD2
1SS34Diode_SMD:D_SMAD1
1Screw_Terminal_01x02TerminalBlock:TerminalBlock_bornier-2_P5.08mmJ4
1TPS54302Package_TO_SOT_SMD:SOT-23-6U8
1W25Q32JVSSPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU7

More from Jeo0/atg-client

1
  • 2 layersTest lattice ecp5 fofotprint, the printed circuit board in 3D

    Test lattice ecp5 fofotprint

    Jeo0/atg-client

    automatic trajectory generator cross-platform client for acoustic volumetric displays (dis our thesis :))

    2 parts3

Similar boards

  • 6 layers90 × 90 mmClock odial, the printed circuit board in 3D

    Clock odial

    JulienKluge/Clock-odial

    Clock-odial is a PCB featuring a ECP5 fpga for frequency/clock signal processing

    370 partsMIT
  • 2 layers208 × 58 mmPOV LED, the printed circuit board in 3D

    POV LED

    Circuit-Digest/POV-Display

    DIY POV Display Tutorial using ESP32 Arduino

    326 parts34
  • 4 layers431.5 × 125.5 mmClavier, the printed circuit board in 3D

    Clavier

    lsartory/Clavier

    An FPGA-based mechanical keyboard with an integrated USB hub and communication interfaces

    344 parts212
  • 4 layers64.5 × 60 mmOrangeCart, the printed circuit board in 3D

    OrangeCart

    zeldin/OrangeCart

    The Orange Cartridge, an FPGA cartridge for the C64/C128

    140 parts22
  • 4 layers100 × 60 mmWork after r3, the printed circuit board in 3D

    Work after r3

    cfbird/usb3-sdr

    USB3 direct-sampling HF SDR: AD9649 ADC -> ECP5 FPGA DDC -> FT601 USB 3. KiCad 9 + Verilog, co-designed by Claude and Gemini (AGY).

    231 parts
  • 4 layers54.8 × 45.1 mmFPGA SDRAM, the printed circuit board in 3D

    FPGA SDRAM

    Rahul9-spb/FPGA-1

    A compact 4-layer FPGA development board based on the Lattice LFE5U-25F-6BG256C, designed to explore high-speed PCB design, FPGA hardware, memory interfaces, and signal integrity practices.

    126 parts

Questions

How big is the OLD obfuscated DontUse link PCB?

It measures 499.5 × 326 mm and has 6 copper layers, 1.6 mm thick.

What parts does the OLD obfuscated DontUse link use?

548 parts, built around the LFE5U-25F-6BG256C, MIC4127YML-TR, TLV62569DBV and W25Q32JVSSIQ. 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 OLD obfuscated DontUse link KiCad files?

From the Jeo0/atg-client repository on GitHub, at the commit this page was made from: the board is hardware/projects/arraypcb/OLD-obfuscated-DontUse-link.kicad_pcb and its schematic hardware/projects/KiCad/shematic1/FPGA.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the OLD obfuscated DontUse link design in my own project?

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