No software patents!

WZab's animated logo

PICADC3 - simple intelligent A/D converter

The PICADC3 is a very simple 12-bit A/D converter with additional digital inputs and outputs, based on Microchip PIC16C774 microcontroller (it is possible to modify the firmware to work on PIC16F877 with 10-bit analog inputs).

The PICADC3 can be connected to the serial port of the PC, or (using the additional RS232/USB converter) to the USB port of the PC. This is not the most modern solution, but it makes easy to implement the optoisolation, which is crucial in some biomedical applications.

One of serial port based applications which I'm investigating now is to build the PICADC3 into the wireless access point. The Linksys models (eg. WAP54G) are well suited for that, because they are based on the open source GNU/Linux OS, so it is possible to modify the firmware. A small internal hardware modification allows you to connect PICADC3 to the serial port of the CPU and (after the appropriate firmware modification) to build very cheap wireless data acquisition box. (Please keep in mind that most Access Points use 3.3V hardware. Fortunately PIC16C774 can work with 3.3V power supply).

PICADC3 contains only a minimal amount of hardware. The schematic diagram is shown in figure below, however the PDF version is also available.

schematic diagram

The schematic does not contain any signal conditioning amplifiers. The analog inputs accept the 0V-4.096V voltage range. Because low impedance of voltage source is required, you must add the voltage follower of amplifier to obtain reasonable accuracy.

The schematic diagram does not specify the frequencies of the crystal (X1) and of the auxiliary oscillator (U1). The firmware may accept different values, however the X1 frequency should be chosen to allow accurate RS232 baud rate generation (I use 18.432 MHz), and the U1 frequency should be chosen to allow accurate sampling rates generation (I use 16 MHz).

Except of 9 analog inputs, PICADC 3 features also 8 digital inputs and 4 digital outputs. The achievable sampling rate depends mainly on the throughput of the serial link.

The more detailed description may be found in the PDF documentation.

The PIC16C774 firmware is available as source under GPL licence, with additional clause allowing to distribute binary form (either original or modified) without source as programmed firmware.

The starter PC software written in Python is also available - so it is possible to easily start working with PICADC3 either on Linux or on another platform, where Python is available.

This page is still under development, any corrections or suggestions are appreciated

PICADC 3 is a free and open project. You use it on your own risk. Author does not provide any warranty.

The new version of firmware - suited to communicate at 1.25Mb/s (for 20 MHz main xtal) with FTDI FT232BM USB-Serial converter is beeing prepared. If you need the biological bareer, you can use the Analog Devices ADuM chip able to handle such a high baudrate.

If you are interested in the old PICADC, you can find it here


Wojciech Zabolotny
Last modified: Thu Mar 17 11:51:17 CET 2005