Skip to the content
2 layers110 × 80 mmCodex Address LED-4IC, the printed circuit board in 3D

Sanitized FreeCAD and KiCad source, exports, checks and videos from Finn Andre Hotvedt's Codex-assisted CAD lab.

Size
110 × 80 mm
Copper layers
2
Thickness
1.6 mm
Parts
44
Nets
43
Pads
152
Tracks, vias
471, 23
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
12 Oct 2026
Updated
13 Oct 2026

Overview

Codex Address LED-4IC is an open-source printed circuit board by finnandreh, from the finnandreh/codex-cad-electronics-lab repository on GitHub, published under the MIT licence. It is a 2-layer board of 110 × 80 mm with 44 parts on 43 nets, routed with 471 tracks and 23 vias.

It is built around the CD74HCT164E, CD74HCT273E and CD74HCT688E. Its parts include 16 resistors, 8 diodes, 5 capacitors, 4 ICs and 2 connectors.

Main components

3

README

kicad/addressed-led-4ic/README.md

Addressed LED board — complete digital prototype workflow

Designed with OpenAI Codex for Finn Andre, 12 October 2026.

This public project connects the complete digital evidence chain shown in the film: editable KiCad schematic and PCB, BOM and Gerbers, an editable FreeCAD enclosure, case-only manufacturing exports, a loopback web/MQTT demonstration and an uncompiled ESP32 firmware example.

The film SHA-256 is 36e50339378d485888e99282146dba78f6cee45e7d6a15c356c44fe37dfe8331. Its 600-second duration is the edited film length, not an independently timed claim about total development time.

Open Codex-Address-LED-4IC.kicad_pro in KiCad 7.0.6 or compatible newer KiCad. The schematic embeds its symbols; used official stock footprints are copied into the project-local footprints libraries. Confirm the dimensions of the actual purchased components before fabrication. No fabrication order has been placed.

The 110 × 80 mm two-layer board has four ICs, eight red indicator LEDs, four address jumpers and four 3.2 mm non-plated mounting holes. It is a demonstration of addressed serial output storage, not a high-current LED or motor driver.

FunctionPartPackage
Serial data shiftU1 CD74HCT164EPDIP-14, 7.62 mm
Serial address shiftU2 CD74HCT164EPDIP-14, 7.62 mm
Address equality and commit gatingU3 CD74HCT688EPDIP-20, 7.62 mm
Eight stored outputsU4 CD74HCT273EPDIP-20, 7.62 mm

This separates the shift and output-storage functions commonly associated with a 74HC595. U4 is an edge-triggered octal register, rather than a transparent latch. Only the matching addressed module receives a positive commit-clock edge.

Connections and initialization

J1 and J2 are electrically parallel, with the same order: 1 = regulated +5 V, 2 = GND, 3 = DATA, 4 = CLOCK, 5 = STROBE. Do not reverse these headers. Do not connect the 5 V supply to an ESP32 GPIO. Use a common ground and short local wires; this is not a validated cable bus.

Use the specified HCT logic at 4.5–5.5 V. Its input thresholds are compatible with valid 3.3 V push-pull logic levels. A 5 V HC substitution does not have the same guaranteed input threshold. DATA, CLOCK and STROBE have 10 kΩ pull-downs to GND; there is no 5 V signal pull-up feeding a controller GPIO. The controller must establish STROBE HIGH before generating any CLOCK edges. Keep the controller and board powered appropriately; power-sequencing and unpowered-input injection behavior must be checked on actual hardware.

Power-up register states are not guaranteed. Press RESET after power-up to clear both shift registers and all LED outputs, or initialize each board with a valid write. RESET is local, active LOW; it is not one of the three bus signals. Change address jumpers with power removed, then initialize again.

Address and frame format

Fitted address jumpers contribute 1, 2, 4 and 8; open contributes zero. Example: jumpers 1 + 4 select address 5. All open selects address 0. Give each parallel module a different address if individual control is wanted.

  1. Keep STROBE HIGH, CLOCK LOW.
  2. Shift the address byte MSB first, then the LED byte MSB first: 16 rising CLOCK edges. Address upper four bits must be zero; accepted addresses are 0–15.
  3. For the reference sequence, leave 500 μs for DATA setup, then CLOCK HIGH for 500 μs and LOW again. This deliberately slow example is not a maximum rating.
  4. After the last falling CLOCK edge, wait at least 100 μs.
  5. Set STROBE LOW for 100 μs, then HIGH. The selected comparator output rises and U4 captures the LED byte. Do not generate CLOCK edges while STROBE is LOW.
  6. Keep data stable for at least 100 μs after STROBE rises.

Bit 0 controls LED 0. A HIGH stored output lights its red LED through 2.2 kΩ, approximately 1 mA at typical red-LED voltage. LED brightness/current depends on the purchased LED and output voltage; no external load capability is specified.

Checks and manufacturing exports

The final native PCB was reopened and its pin nets compared with the schematic. KiCad DRC reports zero violations, zero unconnected pads and zero footprint errors. An ideal event-level model checked all 256 address bytes × 256 output bytes, including invalid addresses and non-selected-board retention. This is not SPICE simulation, a physical measurement or proof of signal integrity. Native schematic ERC was not run; the installed KiCad 7 CLI has no ERC command. Electrical, assembly, power-up and multi-board timing tests remain necessary.

gerbers/ contains F.Cu, B.Cu, F.Mask, B.Mask, F.Silkscreen and Edge.Cuts, plus separate PTH and NPTH Excellon drill files. The manufacturing ZIP includes these eight machine files; drill-map PDFs are for human review. The ZIP can be uploaded to PCBWay after inspecting its fabrication preview and selected manufacturing options. Sending files is not approval to place an order or to pay for one.

The Control-Demo/ directory provides a real loopback-only Aedes MQTT broker, two real MQTT clients and a local web interface. The ESP32, GPIO and electrical hardware are simulated. Enclosure/ contains the editable FreeCAD case and case-only STEP/STL exports. See the full workflow note for the exact checked and still-unknown boundaries.

Source and licence boundary

The original design, documentation and controller example are covered by the repository MIT licence. The project-local stock KiCad footprints and embedded component models retain the KiCad library terms and exception described in the repository third-party notices. Dependencies retain their own licences. No real credentials, workstation paths, raw capture logs or internal authorization receipts are included. secrets.example.h contains placeholders only; create a private secrets.h for any hardware test.

References: TI HCT164, TI HCT688, TI HCT273, KiCad scripting, PCBWay KiCad export guide.

Production: real native KiCad layer changes captured with OBS Studio, paid Microsoft Azure Speech (Ryan), editing/captions with FFmpeg and OpenAI Codex. Attribution does not imply endorsement by OpenAI, KiCad, TI or PCBWay.

Parts

44
QtyValueFootprintReferences
810kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR9, R10, R11, R12, R13, R14, R15, R16
82.2kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R3, R4, R5, R6, R7, R8
8RED LEDLED_THT:LED_D3.0mmD1, D2, D3, D4, D5, D6, D7, D8
4100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mmC1, C2, C3, C4
4MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
25V GND DATA CLK STBConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ1, J2
2CD74HCT164EPackage_DIP:DIP-14_W7.62mmU1, U2
110uF 16VCapacitor_THT:C_Radial_D5.0mm_H11.0mm_P2.00mmC5
1ADDR 1Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1
1ADDR 2Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP2
1ADDR 4Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP3
1ADDR 8Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP4
1CD74HCT273EPackage_DIP:DIP-20_W7.62mmU4
1CD74HCT688EPackage_DIP:DIP-20_W7.62mmU3
1RESETButton_Switch_THT:SW_PUSH_6mmSW1

More from finnandreh/codex-cad-electronics-lab

1
  • 2 layers50 × 35 mmCodex Pulse-5V, the printed circuit board in 3D

    Codex Pulse-5V

    finnandreh/codex-cad-electronics-lab

    Sanitized FreeCAD and KiCad source, exports, checks and videos from Finn Andre Hotvedt's Codex-assisted CAD lab.

    16 partsMIT

Similar boards

  • 2 layers21.7 × 10 mmSensor Unit, the printed circuit board in 3D

    Sensor Unit

    Dooganar/engg3800-t3-eaar-pcb-design

    A repo used to track and collaborate on the pcb design for the University of Queensland "Team Project II" course.

    164 parts
  • 2 layers120 × 98 mmPs2mkb, the printed circuit board in 3D

    Ps2mkb

    clydeshaffer/gametank

    design files for the gametank hardware implementation

    29 parts150
  • 2 layers78 × 60 mmIce viz, the printed circuit board in 3D

    Ice viz

    muni-works/vcad

    BRep CAD kernel in Rust/WASM

    44 parts442Apache-2.0
  • 2 layers115 × 14.5 mmUFC Function Select, the printed circuit board in 3D

    UFC Function Select

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    44 parts431
  • 2 layers37.7 × 20 mmCandleLight, the printed circuit board in 3D

    CandleLight

    HubertD/candleLight

    stm32f0 usb can adapter (KiCAD)

    44 parts400
  • 2 layers88.9 × 88.4 mmTeensypi v91, the printed circuit board in 3D

    Teensypi v91

    simondlevy/Hackflight

    Minimalist flight-control toolkit for makers

    44 parts334GPL-3.0
  • 2 layers125 × 98 mm3-in-1, the printed circuit board in 3D

    3-in-1

    mudmin/AnotherMaker

    This is where I will store code snippets for AnotherMaker Videos

    44 parts258
  • 2 layers65 × 56.5 mmRPiG3iMac, the printed circuit board in 3D

    RPiG3iMac

    qbancoffee/imac_g3_ivad_board_init

    iMac G3 IVAD board initialization with an arduino

    44 parts240LGPL-3.0

Questions

How big is the Codex Address LED-4IC PCB?

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

What parts does the Codex Address LED-4IC use?

44 parts, built around the CD74HCT164E, CD74HCT273E and CD74HCT688E. 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 Codex Address LED-4IC KiCad files?

From the finnandreh/codex-cad-electronics-lab repository on GitHub, at the commit this page was made from: the board is kicad/addressed-led-4ic/Codex-Address-LED-4IC.kicad_pcb and its schematic kicad/addressed-led-4ic/Codex-Address-LED-4IC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Codex Address LED-4IC design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).