Skip to the content
PCBKitNew board
2 layers70.4 × 80.1 mmCpld, the printed circuit board in 3D

ARCHIVED FINAL — Altera MAX 7000S (5V) / MAX 7000AE (3.3V) CPLD board. Calculator-full-5v (EPM7064S) + Calculator-full-3v3 (EPM7064AE), board tests, KiCad, ELEC 211. White board photo = 5V 7000S.

Size
70.4 × 80.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
36
Pads
168
Tracks, vias
864, 82
Pours
2
Routed
Yes
KiCad
KiCad 4
Created
28 Sep 2026
Updated
16 Oct 2026

Overview

Cpld is an open-source printed circuit board by K9DTV, from the K9DTV/cpld-development-system repository on GitHub, published under the MIT licence. It is a 2-layer board of 70.4 × 80.1 mm with 24 parts on 36 nets, routed with 864 tracks and 82 vias.

It is built around the LM1117-5.0 and LM1117-3.3. Its parts include 8 capacitors, 7 ICs, 4 resistors, 2 connectors and 1 switch. It belongs with the fPGA and programmable logic boards and the FPGA and CPLD boards of this library.

Main components

2

README

README.md

Archived — final / last release. This project is complete and frozen. Issues and PRs are not expected; the tree is the historical record.

CPLD Development System

Status Release License: MIT Device Quartus PCB Labs Website

A hand-designed Altera MAX 7000AE/S CPLD development board and the digital labs built on it — from Lake Washington Institute of Technology Electronics 211 (2017–2018), by James Burney (K9DTV).

This repository packs the PCB design, fabrication outputs, board photos, project write-ups, and a Quartus calculator experiment that targeted the board.

CPLD development board (white silkscreen / Ver2) with MAX 7000S 5 V CPLD   CPLD development board (green / Ver1 style)

Left (white / Ver2): board pictured with the MAX 7000S 5 V CPLD setup. Right (green): Ver1-style build.

What this board is

The goal was a durable printed CPLD trainer for the same class work that started on a hand-wired prototype: DIP switches in, dual hexadecimal TIL311-style displays out, on-board clock, and a standard JTAG/ByteBlaster programming header.

Two PCB revisions shipped:

VersionHow to spot itNotes
Ver1No silkscreenUsed for most lab examples in the docs
Ver2Has silkscreenThree display-control pins remapped (see pin table below)

Power: about 6.5 V–12 V input (prefer the low end; regulators get hot). Current-limit around 160 mA when using a bench supply. Drive each display decimal point with an open-drain buffer so the DP turns fully off.

MAX 7000S (5 V) vs MAX 7000AE (3.3 V)

Same PLCC-44 socket and the same lab/pin idea. The difference is supply voltage / family:

FamilyExample partsCore / I/ONotes
MAX 7000SEPM7032, EPM7064S5 VWhite board photo; use Calculator-full-5v
MAX 7000AEEPM7032AE, EPM7064AE3.3 VUse Calculator-full-3v3

Same calculator logic / pinout in both folders — pick the build that matches the CPLD voltage on the board. Do not mix a 5 V part with a 3.3 V rail (or the reverse) without checking VCCIO/VCCINT wiring.

Supported CPLDs (PLCC-44):

  • EPM7032 / EPM7032AE (32 macrocells) — display/switch / board-test labs
  • EPM7064S (64 MC, 5 V) — full calculator (calulator/Calculator-full-5v/)
  • EPM7064AE (64 MC, 3.3 V) — full calculator (calulator/Calculator-full-3v3/)

Repository layout

text
.
├── README.md
├── cpld-white.jpg / cpld-green.jpg   # Assembled boards
├── cpld-pcb.png / cpld-sch.png       # Layout / schematic views
├── PCB-files/
│   ├── cpld/                         # KiCad schematic + PCB (legacy KiCad 4 era)
│   └── CLPD-grb/                     # Gerbers + drill for fab
├── calulator/                        # Quartus II projects (folder spelling preserved)
│   ├── Calculator-full-5v/           # Full calculator — EPM7064S / 5 V
│   ├── Calculator-full-3v3/          # Full calculator — EPM7064AE / 3.3 V
│   ├── board test/                   # Board bring-up
│   ├── board-test-2/                 # Switch / display exercise (32 MC)
│   └── boardtest3/                   # Follow-on board test (uses board-test-2 BDFs)
├── project docs/                     # Word write-ups + markdown/ previews for GitHub
└── homework/                         # Class notes (ELEC 211 Ch. 4)

Folder and filename spellings (calulator, CLPD-grb, spaces in project docs) match the original archive on purpose.

Hardware pin map

DIP switches are active-low (closed = logic 0). Most designs invert them in the CPLD so “switch ON” reads as a 1 in the logic.

FunctionVer1 CPLD pinVer2 CPLD pin
DIP SW 1–124, 5, 6, 8, 9, 12, 11, 14, 16, 17, 19, 18same
Clock (~66.6 kHz from 555)2424
Display A / B / C / D27 / 25 / 26 / 28same
Display Blank2929
Right Latch3133
Left Latch3336
Right DP3434
Left DP3631

Programming-header pins follow the usual Altera JTAG layout (not duplicated in the table).

Major bill of materials (either revision)

RefPartNotes
IC1EPM7032 / EPM7064S (5 V) or EPM7064AE (3.3 V), PLCC-4464 MC for full calculator
U1–U2LM1117-5.05 V rails
U3LM1117-3.3CPLD I/O / core as wired
U4LM555~66.6 kHz board clock
U5–U6TIL311 (or DIS1417)Hex displays (hard to source; eBay)
SW112-position DIP slideActive-low inputs
RN1 / RN210 kΩ SIP arraysPull-ups
J22×5 headerProgramming

Full Digi-Key / Mouser part numbers are in project docs/pcb document and cpld project.docx.

Labs and example designs

Documented in project docs/:

  1. Board bring-up — display blank/latch behavior, 555 clock divider blinking both DPs (~1 Hz after ÷65536).
  2. Priority encoder — exercises all DIP switches into the hex displays (BCD).
  3. Calculator (needs 64 MC device) — mode select on SW11/SW12:
    • SW11=0, SW12=0 → min/max (7485-style compare; DPs show a swap)
    • SW11=0, SW12=1 → add
    • SW11=1, SW12=1 → subtract (borrow aware)
    • SW11=1, SW12=0 → multiply
      Full builds: Calculator-full-5v/ (EPM7064S, 5 V) and Calculator-full-3v3/ (EPM7064AE, 3.3 V).
  4. Two-digit counter — final-style exercise on the same pinout (two digit counter cpld project.docx).
  5. Hand-wired prototype — earlier 7000-series socket board used for Ch. 4 / Ch. 7 (211 build board.docx).

Quartus project (calulator/)

Intel/Altera Quartus II block-diagram labs. Folder name spelling calulator is preserved. The calculator top entity is named Calculator.

Full calculator (two voltage builds)

FolderDeviceI/O standardFitUse when
Calculator-full-5v/EPM7064SLC44-10 (MAX7000S)TTL (5 V)60 / 64 MC5 V CPLD (white board photo setup)
Calculator-full-3v3/EPM7064AELC44-10 (MAX7000AE)3.3-V LVTTL60 / 64 MC3.3 V AE CPLD

Each folder has its own Calculator.qpf, BDFs/BSFs, Calculator.pof, and reports. Ver2 display pins (latch_R=33, latch_L=36, Left_DP=31). Open the folder that matches the chip on the board.

Board tests

FolderRole
board test/Bring-up (boardtest.qpf, .pof included)
board-test-2/Switch/display lab (board-test-2.qpf, EPM7032AE, .pof included)
boardtest3/Later board test (test3.qpf; BDFs referenced from ../board-test-2/)

Suggested tools: Quartus II 13.0 SP1 (or 17.1 Lite) with a USB-Blaster.

KiCad / fabrication (PCB-files/)

  • PCB-files/cpld/ — schematic (.sch), board (.kicad_pcb), netlist, project (KiCad 4-style .pro).
  • PCB-files/CLPD-grb/ — Gerber layers (F/B Cu, mask, silk, edge cuts) and cpld.drl.

Open with a modern KiCad via the legacy importer, or send the Gerbers straight to a fab.

PCB copper / X-ray style view   Board schematic excerpt

Documentation (project docs/)

Original Word write-ups stay in the folder (provenance). GitHub-readable Markdown previews (text extracted from those .docx files) live under project docs/markdown/:

Word (original)Markdown previewContents
211 build board.docx211-build-board.mdHand-wired prototype + Ch. 7 calculator path
pcb document and cpld project.docxpcb-document-and-cpld-project.mdVer1/Ver2 PCB, pin map, BOM, calculator labs
two digit counter cpld project.docxtwo-digit-counter-cpld-project.mdCounter lab on the PCB
211 PROJECT.docx211-project.mdCourse project write-up
211 final.docx211-final.mdFinal write-up

Course context: Lake Washington Institute of Technology, Electronics 211, instructor Professor Peter Welty.

License / provenance

MIT -- see LICENSE. Personal educational hardware and reports by James Burney (K9DTV). Course homework notes in homework/ are included as archived class material. Altera/Intel tool output remains under their respective license terms.

Site / project page: k9dtv.com/project-cpld.html · GitHub: K9DTV/cpld-development-system


Archived from the original CPLD development-system materials (2017–2018) and published as a public K9DTV project.

Parts

24
QtyValueFootprintReferences
4CCapacitors_ThroughHole:C_Axial_L3.8mm_D2.6mm_P7.50mm_HorizontalC5, C6, C7, C8
3CP1_SmallCapacitors_ThroughHole:CP_Radial_D5.0mm_P2.50mmC2, C3, C4
2LM1117-5.0Power_Integrations:TO-220U1, U2
2RResistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1, R4
2R_SmallResistors_ThroughHole:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2, R3
2Til311Housings_DIP:DIP-14_W7.62mmU5, U6
1CPCapacitors_ThroughHole:CP_Radial_D5.0mm_P2.50mmC1
1Conn_01x02Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmJ1
1Conn_02x05_Odd_EvenPin_Headers:Pin_Header_Straight_2x05_Pitch2.54mmJ2
1EPM7032LC44-12Sockets:PLCC44IC1
1LM1117-3.3Power_Integrations:TO-220U3
1LM555Housings_DIP:DIP-8_W7.62mmU4
1R_Network05Socket_Strips:Socket_Strip_Straight_1x06_Pitch2.54mmRN2
1R_Network12Socket_Strips:Socket_Strip_Straight_1x13_Pitch2.54mmRN1
1SW_DIP_x12Buttons_Switches_ThroughHole:SW_DIP_x12_W7.62mm_SlideSW1

Questions

How big is the Cpld PCB?

It measures 70.4 × 80.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Cpld use?

24 parts, built around the LM1117-5.0 and LM1117-3.3. 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 Cpld KiCad files?

From the K9DTV/cpld-development-system repository on GitHub, at the commit this page was made from: the board is PCB-files/cpld/cpld.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Cpld 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).

Similar boards

  • 2 layers84.3 × 58.4 mmEnocderDriver, the printed circuit board in 3D

    EnocderDriver

    NikodemBartnik/Small-Projects

    All of smaller projects (Arduino, PCBs, electronics, code)

    35 parts55
  • 2 layers97 × 97 mmQO100 RX, the printed circuit board in 3D

    QO100 RX

    barisdinc/N3B_SDR_Transceiver_HW

    V/U/SHF and QO-100 SDR Transceiver Project

    167 parts20GPL-3.0
  • 2 layers85 × 60 mmBaseModule, the printed circuit board in 3D

    BaseModule

    KarlVaello/VehicleControlSystem

    Vehicle Control System. Using C++ Qt and C. Hardware and Software

    67 parts14GPL-3.0
  • 2 layers40 × 100 mmMidiMonger components, the printed circuit board in 3D

    MidiMonger components

    dchwebb/MidiMonger

    Eurorack MIDI interface supporting USB and serial MIDI. Based on ARM STM32F446 MCU.

    70 parts12
  • 2 layers96 × 100 mmADS1299EMG8xR2, the printed circuit board in 3D

    ADS1299EMG8xR2

    RF-Lab/emg_platform

    EMG platform

    152 parts9
  • 4 layers80.8 × 100 mmQuango Components, the printed circuit board in 3D

    Quango Components

    dchwebb/Quango

    Eurorack polyphonic controller

    197 parts5
  • 2 layers37 × 90 mmESP32-BLE GSM, the printed circuit board in 3D

    ESP32-BLE GSM

    shridattdudhat/ESP01-MOSFET-Control

    Control LED or DC Motor using ESP-01!

    43 parts5
  • 4 layersPicoDevR02, the printed circuit board in 3D

    PicoDevR02

    DhruvaG2000/RP2040_Dev_Board

    Kicad PCB design for a RP2040 Development Board Designed to make the RP2040 more beginner friendly

    16 parts4MIT