Skip to the content
2 layers80 × 41 mmTriBitLux V2 1, the printed circuit board in 3D

TriBitLux V2 1

XEMACS-666/TriBit-Lux

3-Bit Flash ADC

Size
80 × 41 mm
Copper layers
2
Thickness
1.6 mm
Parts
61
Nets
56
Pads
197
Tracks, vias
536, 3
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
7 Oct 2026
Updated
3 Nov 2026

Overview

TriBitLux V2 1 is an open-source printed circuit board by XEMACS-666, from the XEMACS-666/TriBit-Lux repository on GitHub. It is a 2-layer board of 80 × 41 mm with 61 parts on 56 nets, routed with 536 tracks and 3 vias.

It is built around the 74HCT244D, LM339 and 74LS148P-E. Its parts include 35 resistors, 7 ICs, 7 diodes, 5 capacitors and 1 connector.

Main components

3

README

README.md

☀️ TriBit Lux

One light. Eight levels. Three bits.
A light-sensing experiment, told through simulations, jumper wires and PCB designs.

3-bit flash ADC concept   ·   LDR input   ·   0–7 display   ·   KiCad + EasyEDA

TriBit Lux V2.1 hybrid board render exported by XEMACS
V2.1 · Compact hybrid design · 5 V input / 2.5 V reference · Not yet fabricated

Latest design · V2.1   /   V2.1 design files   /   Version history   /   Interactive explorer   /   What's next

TriBit Lux converts an LDR's output voltage into one of eight brightness levels and shows the result on a seven-segment display. It began in TinkerCAD, moved onto breadboards, and gradually transferred the encoding and display work from an Arduino to dedicated logic ICs.

This repository presents the latest design first, followed by its earlier versions through the material saved along the way: simulations, sketches, lab photographs, schematics, interactive demonstrations and PCB exports. The breadboard wiring is part of the story—getting it into a compact board was a project in itself.

Where the project stands: V2.1 is now an 80 × 41 mm hybrid THT + SMT design with seven cumulative LEDs, a 2.5 V reference, four mounting holes and a back-side repository QR. The 30 October check reports no PCB errors, unconnected items or schematic-parity issues; 57 existing warnings remain. V2.0 stays as the unfabricated THT milestone, and V2.2 will document the fabricated result.


[blocked]

🧭 Version history · newest first

VersionMilestoneWhat changed
V2.1Current hybrid designCompact THT + SMT board, cumulative LEDs, 2.5 V reference and mounting holes.
V2.0Through-hole PCBThe breadboard connections become an unfabricated KiCad design.
V1.3LCD monitoringAn LCD adds a view of the sensor voltage.
V1.2Hardware display decodingThe 74LS48 drives the display; the Nano monitors the encoder bits.
V1.1Hardware priority encodingThe 74F148 takes over encoding; the Nano still drives the display.
V1.0First breadboardThe LDR and comparator front end move into a physical build.
V0.1LDR simulationLight becomes the input to the simulated comparator circuit.
V0.0Potentiometer simulationThe original voltage-to-level experiment.

V2.2 is the planned fabricated result; see what’s next.


[blocked]

✨ V2.1 · Smaller board, clearer feedback

80 × 41 mm · Hybrid THT + SMT · Seven cumulative LEDs · 2.5 V reference

V2.1 populated CAD render by XEMACS

The light-sensing circuit now fits on a compact rectangle with a regular resistor/LED column, two comparator banks, dedicated encoder and decoder ICs, and a buffer for the threshold LEDs. Four mounting holes form a symmetric 73 × 31 mm pattern. The underside carries a threshold guide and a repository QR code.

Front · Read the layoutBack · Follow the levels
V2.1 front without component bodiesV2.1 underside with QR and threshold voltages

JLCPCB is planned to assemble 39 SMT parts per board; XEMACS will solder the 17 through-hole parts. The three-pin header provides 5 V input, ground and the analog sensor voltage for measurement. The nominal thresholds are spaced by 0.3125 V; the displayed level is not calibrated lux.

These are XEMACS’s existing CAD exports. They precede the 30 October silkscreen alignment; updated high-resolution renders will be supplied by XEMACS.

Schematic · V2.1 hybrid circuit

V2.1 schematic showing the 2.5 V sensor and reference ladder, LM339 comparators, hardware display path and seven cumulative LEDs

Click the schematic to view XEMACS’s full-resolution export.

The schematic brings together the regulated 2.5 V sensor/reference rail, the LM339 → 74LS148 → 74LS48 display path, and the 74HCT244-driven threshold LEDs. J1 provides 5 V input, ground and the analog sensor-voltage output.

Editable KiCad schematic · Current netlist · Full-resolution schematic image

Design checkpoint · 30 October 2026: PCB DRC reports zero errors, zero unconnected items and zero schematic-parity issues, with 57 existing warnings. Schematic ERC reports zero violations. The board remains unfabricated, and the next manufacturing export needs a fresh supplier DFM check. The older explorer’s V2.1 concept predates this 2.5 V implementation.

Full V2.1 gallery and files · KiCad project · Schematic · SMT BOM · SMT placement · Layout review


[blocked]

🟢 V2.0 · From jumper wires to copper traces

KiCad design · Through-hole components · Unfabricated

V2.0 brings the circuit into KiCad as an editable schematic and PCB. The design includes a 20 mm LDR, a potentiometer for adjusting the response, local decoupling capacitors and a regulated 3.3 V rail for the sensor divider and reference ladder.

SensorAdjustmentPower and referencesConstruction
20 mm LDRPotentiometer in the divider5 V logic; 3.3 V sensor and ladderThrough-hole board

The board, four ways

V2.0 component-populated CAD render showing the display, comparator banks, encoder, decoder and regulator
Component-populated CAD preview. The LDR and potentiometer have no visible models in this render; both remain in the design and BOM.

Read the boardFollow the routing
V2.0 top view with component names and nominal reference voltagesV2.0 routed KiCad board with both copper layers
Top · Silkscreen and placementLayout · Copper and connections

V2.0 underside showing through-hole pads and copper routing
Underside of the saved PCB design. All board images here are CAD views, not fabricated hardware.

Read the silkscreen

Printed labelCircuit referencePurpose
LM339-AU1Upper threshold comparators plus the ground-reference comparator
LM339-BU2Lower threshold comparators, from 0.4125 V to 1.650 V
74LS148 – ENCODERU3Converts active comparator inputs into three bits
74LS48 – DECODERU4Drives the seven-segment display
D198KU5Displays the selected level
LDR / SENSITIVITYR9 / RV1Light input and divider adjustment
3V3 / 5V INU6 / J2Regulated reference supply and external power input
0 V → 2.8875 VR8 → R1, left to rightNominal lower-voltage end of each 10 kΩ ladder resistor

The ladder labels identify nominal nodes, not voltage drops across the resistors. Each resistor spans 0.4125 V ideally; the far end of R1 reaches 3.3 V. Circuit references remain in the editable design and parts lists.

The current revision includes revised capacitor footprints, a 15.5 mm lead pitch for the 20 mm LDR, a repository QR graphic, and XEMACS attribution. The custom capacitor and QR footprints are included in the project library.

Schematic · current source export

V2.0 schematic exported from the current KiCad source

Click for the PDF, or open the scalable SVG. The older PNG export is retained as an earlier snapshot.

Design checkpoint · 19 October 2026

CheckResult
KiCad PCB DRC0 reported violations; 0 unconnected items
Schematic ↔ PCB parity0 reported mismatches
Schematic ERC0 reported violations
BOM / placement coverage41 components; refreshed JLCPCB-format exports
Fabrication / assemblyNot performed; supplier selection and final export review remain open

These results use the project's configured rules. Some footprint/courtyard checks are disabled; this is not a manufacturer DFM approval. See the review and remaining work for the exact limits and open items.

[blocked]

Inside the circuit

text
                         3.3 V reference ladder
                                  │
Light → LDR + potentiometer → LM339 comparators → Priority encoder → 74LS48 → 0–7
         sensor voltage          parallel decisions     three bits       display
StageWhat happens
1 · SenseLight lowers the LDR resistance. In the current divider arrangement, the sensor voltage rises as the LDR resistance falls.
2 · CompareSeven nonzero ladder references divide the nominal 0–3.3 V range into eight bands, spaced by 0.4125 V.
3 · EncodeThe highest-priority active LOW input determines the output. I7 through I1 receive thresholds from 0.4125 V up to 2.8875 V; I0 uses the eighth comparator with its ground reference on the opposite input.
4 · DisplayEncoder outputs S0, S1 and S2 connect to decoder inputs A, B and C. D is grounded, keeping the displayed range at 0–7.

The comparator and logic ICs use 5 V. The sensor divider and reference ladder use the regulated 3.3 V rail. Earlier breadboards used a 74F148; the current V2.0 CAD source specifies a 74LS148.

About the number on the display: it is a relative brightness level, not calibrated lux. The LDR, potentiometer setting and component tolerances influence the physical transition points.

[blocked]

Open the V2.0 design

ResourceDirect links
KiCad sourceProject · Schematic · PCB
Schematic exportsPDF · Current SVG · Earlier PNG · Netlist
Parts listsBOM · JLCPCB BOM
Placement exportsTop · Bottom · JLCPCB top
Manufacturing snapshot · JLCONE pass reportedGerber ZIP
Custom footprintsProject library · Library table
ReviewChecks and remaining work
Interactive documentationLive explorer · Standalone HTML · GIF preview

Open TriBitLux_V2_0.kicad_pro in KiCad to work with the schematic and PCB together. The editable files are the design sources. The JLCPCB CSVs now reflect the current component list and saved placement export. Blank supplier codes require part selection; retained codes are historical selections that still need verification. XEMACS reports that the KiCad export passed all JLCONE checks. Preserve the exact checked archive; regenerate it after any further manufacturing-layer changes. A later PCB save timestamp alone does not establish that the archive is stale.


[blocked]

📟 V1.3 · A window into the sensor voltage

Physical prototype · 16×2 I²C LCD · Parallel monitoring

The Nano gained another role: driving an LCD to make the working flow easier to follow. The hardware seven-segment path remained in place, while the Nano supplied power and sampled the LDR voltage through its own ADC.

LCD-equipped breadboardAnother view of the build
V1.3 breadboard with its illuminated 16 by 2 LCD and seven-segment displaySecond view of the V1.3 LCD-equipped breadboard

Explore the LCD demonstration

Animated V1.3 five-volt LCD demonstration

The LCD firmware calculates its own level from the analog voltage; it does not read the encoder bits. That makes the LCD useful for observing the input, while the hardware display follows the comparator and encoder chain. These saved demonstrations belong to the V1.3 archive; the main explorer shows the updated V2.0 logic model.

Open this version: LCD sketch · Original assets


[blocked]

🔢 V1.2 · Hardware takes over the display

Physical prototype · 74LS48 decoder · Serial monitoring

Adding the 74LS48 completed the dedicated hardware display path: comparator bank → encoder → decoder → seven-segment display. The Nano supplied 5 V and received the three encoder bits so the serial console could show them for assurance.

The wiring, up close

Overhead wiring viewSensor and jumper connections
V1.2 overhead wiring view with the seven-segment display unlitV1.2 close view showing the LDR at the front of the breadboard

Powered V1.2 breadboard with the seven-segment display illuminated
The powered build. The photographed display is driven by the 74LS48.

Additional powered viewA second captured state
V1.2 powered breadboard, JPEG preview of original HEIC photograph 0733V1.2 powered breadboard, JPEG preview of original HEIC photograph 0734

The last two previews link to the original HEIC photographs. Large photographs throughout this page use smaller preview copies; click them for the originals.

Open this version: Serial-monitor sketch · Original photo collection

The saved sketch includes experimental segment-driving code. In the photographed build, the 74LS48 drives the display, while the Nano observes the encoder output.


[blocked]

🧠 V1.1 · Giving the encoder its own IC

Physical prototype · 74F148 priority encoder · EasyEDA design exports

The 74F148 took over priority encoding from the Nano. The comparator bank now fed a dedicated logic IC, which produced the three output bits. The Nano continued to decode those bits and drive the display. This version also has an EasyEDA schematic and PCB design archive.

At the workbench

Schematic beside the buildFull demonstration setup
V1.1 schematic on screen beside the breadboardV1.1 breadboard displaying 2 beside a reference table
Schematic and wiring togetherDisplay and reference table
Watching the outputAnother angle of the setup
V1.1 breadboard with reference information and a serial log visible on a phoneAngled view of the V1.1 breadboard, schematic and serial log
Hardware output alongside monitoringThe complete workbench arrangement

From connections to a board design

SchematicRouted PCB layout
V1.1 EasyEDA schematicV1.1 annotated EasyEDA PCB layout

V1.1 EasyEDA blue PCB design render with an Arduino Nano fitted
EasyEDA design render with the Nano fitted. This image documents the board design.

Top board view · SVGBottom board view · SVG
V1.1 top board-view exportV1.1 bottom board-view export

Open this version: Schematic PDF · PCB PDF · Arduino sketch · BOM · Gerber archive

Browse the individual EasyEDA layer PDFs

Board outline · Holes · Multi-layer · Document layer


[blocked]

🔌 V1.0 · The first breadboard

Physical prototype · Two LM339s · Arduino Nano

The LDR and comparator bank moved out of the simulator and onto a breadboard. The Nano read the comparator outputs and drove the seven-segment display. The saved recording captures the early physical build, with the jumper wiring fully on show.

Frame from the V1.0 breadboard recording, showing the Nano, comparator wiring and illuminated seven-segment display
▶ Watch the breadboard recording · 24 seconds

A closer look at the display pins

Animated guide to the seven-segment display pin connections

Click the animation to explore the display pin layout.

Open this version: Recording · Interactive pin guide · HTML source · Visualizer sketch

The saved visualizer sketch is a debugging aid; it is not the complete original V1.0 display firmware.


[blocked]

🌤️ V0.1 · Let there be light

TinkerCAD simulation · LDR input · LM339 comparators

The potentiometer input was replaced with an LDR, and the comparator section moved to LM339 devices. Now the input responded to light. The Uno still supplied both digital stages: deciding the encoded value and converting it into segment signals.

V0.1 TinkerCAD simulation with an LDR and LM339 comparator stage

The sensor enters the picture. The display logic is still handled by the Uno.

Open this version: Simulation · Schematic PDF · Arduino sketch · BOM


[blocked]

🧪 V0.0 · Starting with a knob

TinkerCAD simulation · Potentiometer input · Arduino Uno

The first version used a potentiometer to stand in for the sensor voltage. Turning the knob changed the input to the comparator bank, while the Uno performed priority encoding and drove the seven-segment display. This established the basic voltage-to-level idea before adding a light-sensitive input.

V0.0 TinkerCAD simulation with potentiometer input, comparator circuitry and Arduino Uno

The starting point. Click the circuit image to open its TinkerCAD simulation.

Open this version: Simulation · Schematic PDF · Arduino sketch · BOM


[blocked]

🎛️ Explore the project

Animated project explorer showing the version timeline, comparator states and brightness levels 0 through 7

Open the interactive TriBit Lux explorer →

Follow the evolutionTrace a signalPreview the next revision
Select a version and watch the role of the Arduino change.Move the voltage slider and follow the comparator outputs, three encoder bits and displayed digit.Switch to the V2.1 concept to see cumulative threshold lights.

The preview above is animated; the linked page is interactive. The explorer uses the updated V2.0 reference mapping, including the level-0 band. It models ideal logic, with real-world tolerances, noise and timing left out. Open the standalone HTML file.


[blocked]

🚧 What's next

V2.0 · PreserveV2.1 · RefineV2.2 · Build
Keep the full THT design as an unfabricated milestone.Review the compact 80 × 41 mm hybrid design and refresh its manufacturing exports.Fabricate and assemble the completed design.
Retain its schematic, layout and development record.Refine threshold lights, silkscreen and assembly details.Record power-up measurements, light response and the finished assembly.
Current design archiveDesign the acrylic enclosure around the four mounting holes and confirm the on-board QR scans reliably.Fit the enclosure and document the physical result.

The planned lights should make each level transition easier to see. The acrylic enclosure should make the circuit easier to display while providing secure mounting. Support components such as decoupling and protection remain electrically important whether their packages are THT or SMT.

[blocked]

📂 Finding your way around

text
TriBit-Lux/
├── README.md                    Illustrated project walkthrough
├── docs/media/                  Photo previews and video poster
├── Version_2.1/
│   ├── README.md                Hybrid board gallery, pinout and status
│   ├── TriBitLux_V2_1/          Editable KiCad project, schematic and PCB
│   ├── assets/                 XEMACS’s board renders and schematic image
│   ├── schematic/              Current netlist
│   ├── bom/                    Full and SMT-only parts lists
│   ├── cpl/                    Native and JLCPCB placement exports
│   └── review/                 Current checks and layout feedback
├── Version_2.0/                 Unfabricated through-hole milestone
├── Version_1.3/                 LCD build and demonstrations
├── Version_1.2/                 Hardware decoder and serial sketch
├── Version_1.1/                 Encoder build and EasyEDA archive
├── Version_1.0/                 First breadboard and pin visualizer
├── Version_0.1/                 LDR simulation
└── Version_0.0/                 Potentiometer simulation

Each version folder contains the records that survived that stage. Older versions may not contain a complete build package. The photographs, videos and interactive pages show the development process; the editable design files describe the circuit. KiCad temporary files and backups are excluded through .gitignore.

Built and documented by XEMACS
From a simulated input to a board designed around light.

Try the explorer · Back to the latest design · Repository

Parts

61
QtyValueFootprintReferences
810kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R3, R4, R5, R6, R7, R8
82.2kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17, R18, R19, R20, R21, R22, R23, R24
71.5kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR28, R29, R30, R31, R32, R33, R34
7220Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR10, R11, R12, R13, R14, R15, R16
7REDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD1, D2, D3, D4, D5, D6, D7
50.1uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C3, C4, C7
4MountingHole_2.1mmMountingHole:MountingHole_2.1mmH1, H2, H3, H4
310kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR25, R26, R27
2LM339Package_DIP:DIP-14_W7.62mm_SocketU1, U2
110kPotentiometer_THT:Potentiometer_Runtron_RM-065_VerticalRV1
1470Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR35
174HCT244Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU7
174LS148Package_DIP:DIP-16_W7.62mm_SocketU3
174LS48Package_DIP:DIP-16_W7.62mm_SocketU4
1Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1
1D198KDisplay_7Segment:7SegmentLED_LTS6760_LTS6780U5
1LDR07OptoDevice:R_LDR_D20mm_P15.5mm_VerticalR9
1LOGOExtra Footprints:QR(2)G***
1TL431LPTriBitLux_Custom:TL431_TO92_Body4.1x3.1mm_P1.27mmU6

More from XEMACS-666/TriBit-Lux

1
  • 2 layers86.8 × 42.7 mmTriBitLux V2 0, the printed circuit board in 3D

    TriBitLux V2 0

    XEMACS-666/TriBit-Lux

    3-Bit Flash ADC

    42 parts

Similar boards

  • 2 layers99.1 × 94 mmKm discrete adc, the printed circuit board in 3D

    Km discrete adc

    KnoxMakers/Electronics

    schematics, board files, firmware, slide decks, and the like

    66 parts3
  • 4 layers160 × 100 mmRosco m68k, the printed circuit board in 3D

    Rosco m68k

    rosco-m68k/rosco_m68k

    Design, documentation and software for the Really Old School Computer (M68K)

    140 parts200
  • 2 layers134.6 × 208.3 mmTs2, the printed circuit board in 3D

    Ts2

    jefftranter/68000

    Code related to the Motorola 68000 microprocessor.

    110 parts133
  • 6 layers243.8 × 243.8 mmRaven, the printed circuit board in 3D

    Raven

    agranlund/raven

    Homemade MC68060 + DSP56303 Atari-compatible computer. Hardware, firmware, and software stack

    331 parts87
  • 4 layers214 × 170 mm.C68, the printed circuit board in 3D

    .C68

    ProbablyNotArtyom/Blitz

    Blitz is a 68030 based homebrew computer I designed over the course of nearly 3 years, starting in late 2017.

    185 parts51GPL-2.0
  • 2 layers159.5 × 99.8 mmM68kcomp1, the printed circuit board in 3D

    M68kcomp1

    jtsiomb/m68kcomputer

    Homebrew Motorola 68010 computer

    55 parts32CC-BY-SA-4.0
  • 4 layers340 × 210 mmYddraig, the printed circuit board in 3D

    Yddraig

    ddraig68k/hardware

    Schematic and CAD files for my 68K based computer

    224 parts29MIT
  • 2 layers58.4 × 68.4 mmCbm2rrcart, the printed circuit board in 3D

    Cbm2rrcart

    sjgray/CBM-II-Carts

    My CBM-II cartridge designs plus cloned carts

    13 parts6

Questions

How big is the TriBitLux V2 1 PCB?

It measures 80 × 41 mm and has 2 copper layers, 1.6 mm thick.

What parts does the TriBitLux V2 1 use?

61 parts, built around the 74HCT244D, LM339 and 74LS148P-E. 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 TriBitLux V2 1 KiCad files?

From the XEMACS-666/TriBit-Lux repository on GitHub, at the commit this page was made from: the board is Version_2.1/TriBitLux_V2_1/TriBitLux_V2_1.kicad_pcb and its schematic Version_2.0/TriBitLux_V2_0/TriBitLux_V2_0.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the TriBitLux V2 1 design in my own project?

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