---
title: Firebird
url: 'https://andywhittaker.com/articles/firebird'
markdown: 'https://andywhittaker.com/articles/firebird.md'
lang: en
date: '2017-04-14'
description: 'A custom 4-channel DAC/ADC PCI interface card based on a Xilinx FPGA, built circa 1998 for a client. Includes the Visual C++ software used to communicate with the card.'
taxonomy:
  category:
    - articles
  tag:
    - fpga
    - xilinx
    - pci
    - electronics
    - software
    - visual-cpp
    - retro
---

## [Firebird](https://andywhittaker.com/articles/firebird)

    14th Apr 2017   [fpga](https://andywhittaker.com/tag:fpga#body-wrapper) [xilinx](https://andywhittaker.com/tag:xilinx#body-wrapper) [pci](https://andywhittaker.com/tag:pci#body-wrapper) [electronics](https://andywhittaker.com/tag:electronics#body-wrapper) [software](https://andywhittaker.com/tag:software#body-wrapper) [visual-cpp](https://andywhittaker.com/tag:visual-cpp#body-wrapper) [retro](https://andywhittaker.com/tag:retro#body-wrapper)  

  0 views today · 292 views all time

This was done for a client circa 1998. My customer had a long pipe where at one end four transducers were pulsed with a user-definable waveform and, at the other end, there were another four transducers that listened to the resulting sound pulse.

The project required a custom 4-channel digital to analogue converter and a 4-channel analogue to digital converter built into a PCI interface card. The card was based on a Xilinx FPGA in the days where PCI was still in its infancy.

The software below was a Visual C++ project that communicated with the card, enabling you to define the transmit waveform and record the resulting input waveform.

It's even got a picture of a very young Andy Whittaker 😀

# About

[![Firebird About screen](https://andywhittaker.com/user/pages/02.articles/firebird/firebird5.gif?g-3fe147bf)](https://andywhittaker.com/articles/firebird/firebird5.gif)

# Main

[![Firebird Main screen](https://andywhittaker.com/user/pages/02.articles/firebird/firebird1.gif?g-3fe147bf)](https://andywhittaker.com/articles/firebird/firebird1.gif)

# Configuration

[![Firebird Configuration screen](https://andywhittaker.com/user/pages/02.articles/firebird/firebird2.gif?g-3fe147bf)](https://andywhittaker.com/articles/firebird/firebird2.gif)

# Graph

[![Firebird Graph screen](https://andywhittaker.com/user/pages/02.articles/firebird/firebird3.gif?g-3fe147bf)](https://andywhittaker.com/articles/firebird/firebird3.gif)

# Files

[![Firebird Files screen](https://andywhittaker.com/user/pages/02.articles/firebird/firebird4.gif?g-3fe147bf)](https://andywhittaker.com/articles/firebird/firebird4.gif)

 [ Previous Post](https://andywhittaker.com/articles/rs232) [Next Post ](https://andywhittaker.com/articles/behringer-djx700-sensitive-microphone-modifications)

---

## Navigation

- Parent: [Articles](https://andywhittaker.com/articles.md)
- Previous: [Behringer DJX700 Sensitive Microphone Modifications](https://andywhittaker.com/articles/behringer-djx700-sensitive-microphone-modifications.md)
- Next: [RS232](https://andywhittaker.com/articles/rs232.md)
