

DS-88
DS-88 Digisector PC Video Frame Grabber
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 102
- Nets
- 203
- Pads
- 633
- Tracks, vias
- 1,895, 21
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 19 Jun 2025
- Updated
- 19 Jun 2025
Overview
DS-88 is an open-source printed circuit board by schlae, from the schlae/DS-88 repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 2-layer board with 102 parts on 203 nets, routed with 1,895 tracks and 21 vias.
It is built around the 74LS367PC, 74LS85DC and 74LS161DC, with the 74LS00SC, 74LS273PC and 74LS74PC among its other parts. Its parts include 33 resistors, 26 ICs, 25 capacitors, 5 transistors and 3 connectors.
Main components
974LS367PC
PDIP-16Buffers, Drivers, Receivers, TransceiversTexas Instruments74LS85DC
CDIP-16-55℃~+125℃ 10mA 24ns Four channels TTL CDIP-16 Comparators ROHSTexas InstrumentsComparators74LS161DC
-0℃~+70℃ 14ns 32MHz 4 4.75V~5.25V 74LS 93mW Asynchronous Binary Counter Programmable divide ratio、Reset function、Cascade counter、Synchronous counting Rising Edge Synchronous - Counters, DividersTexas InstrumentsCounters, Dividers74LS00SC
-0℃~+70℃ 15ns@5V,50pF 2 2.7V 2V 4 4.75V~5.25V 400uA 500mV 74LS 800mV 8mA NAND Gate - Logic Gates ROHSTexas InstrumentsLogic Gates74LS273PC
PDIP-201 15ns 27mA 27ns@5V,15pF 30MHz 5ns 74LS Series 8 D-Type Reset Rising Edge PDIP-20 Flip Flops ROHSonsemiFlip Flops74LS74PC
DIP-140ns 0℃~+70℃ 1 2 20MHz 3.5pF 35ns@5V,50pF 4.5ns 4.75V~5.25V 400uA 74LS Series 8mA 8mA Asynchronous Complementary D-Type Rising Edge Set and Reset DIP-14 Flip FlopsTexas InstrumentsFlip Flops74LS02PC
DIP-140℃~+70℃ 15ns@5V,15pF 2 2.7V 2V 4 4.75V~5.25V 400uA 500mV 74LS 800mV 8mA 8mA NOR Gate DIP-14 Logic Gates ROHSonsemiLogic Gates74LS123FP-E
-Reset input、Adjustable pulse width、Retriggerable function - Monostable Multivibrators ROHSRenesas ElectronicsMonostable MultivibratorsMC14549BDW
SOIC-16-300mil-55℃~+125℃ 1 3V~18V 4000B 8 Asynchronous clear function Push-Pull SOIC-16-300mil Shift Registers ROHSonsemiShift Registers
README
README.mdDS-88 "Digisector" NTSC Frame Grabber
The DS-88 Digisector is an early video frame grabber designed for the IBM PC by a company called The Micro Works. They also made an Apple II version called teh DS-65 Digisector, and an S-100 version called the DS-80.
It uses a discrete successive approximate ADC to capture the video frame one pixel at a time. Since the SAR ADC is relatively slow, it's not able to digitize the entire frame at once. Instead, it uses a set of vertical and horizontal counters to trigger the ADC to capture a pixel at a particular, consistent place in the frame. You can see this point by connecting a video monitor to the output RCA jack, where the current pixel will be highlighted.
There are three adjusment knobs on the edge of the card. The one marked W adjust the width of the captured image. B adjusts the brightness, and C adjusts the contrast.
Registers
The registers are mapped to an IO port set by the switch bank. The card comes with the address set at 0x330. The address bits controlled by each switch are marked on the card (A2-A9).
There are four registers total; two of them are read only, and the other two are write-only.
| Address | Read/Write | Function |
|---|---|---|
| 0 | Read | ADC results |
| 1 | Read | Status register |
| 0 | Write | Horizontal pixel location |
| 1 | Write | Vertical pixel location |
The status register bit assignments are as follows:
| Bit | Function |
|---|---|
| 0 | Unused |
| 1 | Unused |
| 2 | Horizontal counter most significant bit |
| 3 | Vertical counter most significant bit |
| 4 | Conversion in progress |
| 5 | 0=hsync in progress |
| 6 | 0=vsync in progress |
| 7 | Conversion result ready |
See the files in the asm subdirectory for programming examples.
Parts
102| Qty | Value | Footprint | References |
|---|---|---|---|
| 18 | 0.1uF | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C6, C7, C10, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C23, C24, C25 +2 |
| 10 | 4.7K | Passive:RESA500 | R1, R2, R3, R4, R5, R6, R7, R8, R15, R20 |
| 6 | 74LS85 | Package_DIP:DIP-16_W7.62mm_LongPads | U15, U16, U17, U18, U23, U24 |
| 5 | 2.2K | Passive:RESA500 | R10, R14, R16, R18, R30 |
| 4 | 74LS161 | Package_DIP:DIP-16_W7.62mm_LongPads | U5, U6, U7, U8 |
| 4 | ? | Diode_THT:D_DO-34_SOD68_P12.70mm_Horizontal | CR1, CR2, CR3, CR4 |
| 3 | 1.5K | Passive:RESA500 | R9, R11, R17 |
| 3 | 2N3904 | Package_TO_SOT_THT:TO-92L_Inline_Wide | Q1, Q2, Q3 |
| 3 | 75 | Passive:RESA500 | R24, R27, R33 |
| 2 | 1K | Passive:RESA500 | R19, R22 |
| 2 | 220 | Passive:RESA500 | R23, R26 |
| 2 | 220pF | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C5, C11 |
| 2 | 2K | Potentiometer_THT:Potentiometer_Vishay_148-149_Single_Vertical | RV1, RV2 |
| 2 | 74LS00 | Package_DIP:DIP-14_W7.62mm_LongPads | U4, U11 |
| 2 | 74LS273 | Package_DIP:DIP-20_W7.62mm_LongPads | U26, U27 |
| 2 | 74LS74 | Package_DIP:DIP-14_W7.62mm_LongPads | U3, U13 |
| 2 | ? | Package_DIP:DIP-8_W7.62mm_LongPads | U20, U21 |
| 2 | D_Small_Filled | Diode_THT:D_DO-34_SOD68_P12.70mm_Horizontal | CR5, CR7 |
| 1 | 0.1uF | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C22 |
| 1 | 1.5nF | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C3 |
| 1 | 10 | Passive:RESA500 | R21 |
| 1 | 10.0K 1% | Passive:RESA500 | R29 |
| 1 | 1nF | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C4 |
| 1 | 2.2M | Passive:RESA500 | R32 |
| 1 | 20K | Passive:RESA500 | R28 |
| 1 | 22K | Passive:RESA500 | R31 |
| 1 | 2N3906 | Package_TO_SOT_THT:TO-92L_Inline_Wide | Q4 |
| 1 | 30pF | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C2 |
| 1 | 4.7nF | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C1 |
| 1 | 470 | Passive:RESA500 | R25 |
| 1 | 500 | Potentiometer_THT:Potentiometer_Vishay_148-149_Single_Vertical | RV3 |
| 1 | 74LS02 | Package_DIP:DIP-14_W7.62mm_LongPads | U14 |
| 1 | 74LS123 | Package_DIP:DIP-16_W7.62mm_LongPads | U2 |
| 1 | 74LS138 | Package_DIP:DIP-16_W7.62mm_LongPads | U25 |
| 1 | 74LS244 | Package_DIP:DIP-20_W7.62mm_LongPads | U29 |
| 1 | 74LS367 | Package_DIP:DIP-16_W7.62mm_LongPads | U28 |
| 1 | 8.2K | Passive:RESA500 | R13 |
| 1 | 910 | Passive:RESA500 | R12 |
| 1 | ADDR | Package_DIP:DIP-16_W7.62mm_LongPads | SW1 |
| 1 | Bus_ISA_8bit | Conn:BUS_PC | J1 |
| 1 | DAC0808_DIP | Package_DIP:DIP-16_W7.62mm_LongPads | U19 |
| 1 | LM311? | Package_DIP:DIP-8_W7.62mm_LongPads | U10 |
| 1 | MC14549 | Package_DIP:DIP-16_W7.62mm_LongPads | U9 |
| 1 | SD211 | Package_TO_SOT_THT:TO-72-4 | Q5 |
| 1 | VID IN | Conn:KOBICONN_161-03X0-E | J2 |
| 1 | VID OUT | Conn:KOBICONN_161-03X0-E | J3 |
Questions
What parts does the DS-88 use?
102 parts, built around the 74LS367PC, 74LS85DC, 74LS161DC and 74LS00SC. 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 DS-88 KiCad files?
From the schlae/DS-88 repository on GitHub, at the commit this page was made from: the board is ds88.kicad_pcb and its schematic ds88.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the DS-88 design in my own project?
Its repository publishes it under the CERN-OHL-P-2.0 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 layers486 × 306.3 mm

- 2 layers630 × 300 mm

- 2 layers248.9 × 139.7 mm

GIMIX DMA Floppy
roberto314/GIMIX_reproduction
Reproducing SS-50 and SS-30 cards and GIMIX Ghost Case and Mainboard
138 parts1BSD-2-Clause - 2 layers229.9 × 86.4 mm

- 2 layers301.9 × 194.8 mm

TRS80 Model I EI RevD
RetroStack/TRS-80-Model-I-Expansion-Interface-Rev-D
Hardware Replica of the TRS-80 Model I Expansion Interface - Revision D
185 partsMIT - 2 layers99.7 × 149.9 mm

- 2 layers338.7 × 107.7 mm

- 2 layers190.6 × 172.4 mm
