This is an old revision of the document!
EVAL-ADPD4100-ARDZ and EVAL-ADPD4101-ARDZ are simple, Arduino form-factor breakout board for developing ADPD4100 and ADPD4101, respectively. The ADPD4101, interfaced through I2C, and the ADPD4100, interfaced through SPI, are highly versatile, multimodal sensor front ends, stimulating up to eight light emitting diodes (LEDs) and measuring the return signal on up to eight separate current inputs. There are a number of other evaluation platforms for these devices, including the EVAL-ADPD4100Z-PPG, optimized for photoplethysmograph applications, and the reference design CN0503, optimized for optical liquid analysis applications (colorimetry, turbidity, fluorescence). The EVAL-ADPD410X-ARDZ boards come in handy for adapting these evaluation boards to meet specific application requirements, as well as for “ground up” development of new applications.
A no-OS device driver and example program is provided, targeting the EVAL-ADICUP3029 platform. The ADICUP3029 example application uses the ADPD410x no-OS driver, and emulates the Linux IIO framework through the tinyiiod daemon library. The application communicates with the host computer via the serial backend, over a USB-UART physical connection. This facilitates rapid application development on a host computer, independent from embedded code development. Similarly, utility software (iio_info, IIO Oscilloscope, PyADI-IIO, etc.) that are typically associated with Linux systems can be used with this no-OS implementation.
There are two basic ways to program the EVAL-ADICUP3029 with the software for both boards.
Confirm that these are the latest HEX files, and that they function with IIOscope and pyadi:
eval-adicup3029/releases/tag/Latest
Prerelease hex files can be found inside this zip archive: eval-adpd410x-ardz_hex_files.zip
If this is your first time using CrossCore Embedded Studio, check the user guide to get you started
There are two shunt-configurable jumpers and 3 types of solder jumpers on both EVAL-ADPD4100-ARDZ and EVAL-ADPD4101-ARDZ boards.
Correct Shunt Position | Layout Picture |
---|---|
Shorted Pin 1 and 2 |
Correct Shunt Position | Layout Picture |
---|---|
Shorted Pin 1 and 2, Shorted Pin 3 and 4, Shorted Pin 5 and 6 |
Correct Shunt Position | Layout Picture |
---|---|
Shorted Pin 1 and 2 |
Correct Shunt Position | Layout Picture |
---|---|
Shorted |
Board | Shorted Resistors | Layout Picture |
---|---|---|
EVAL-ADPD4100-ARDZ (SPI) | Shorted R8 and R9, Open R6 and R7 |
Below is a photo of the EVAL-ADPD4100-ARDZ (SPI) board with all the correct shunt and solder jumper connections.
Board | Shorted Resistors | Layout Picture |
---|---|---|
EVAL-ADPD4101-ARDZ (I2C) | Shorted R6 and R7, Open R8 and R9 |
Below is a photo of the EVAL-ADPD4101-ARDZ (I2C) board with all the correct shunt and solder jumper connections.
The board has 2 parallel 18-pin 100-mil pitch male connectors which give access to the LED driver channels, the photodiode inputs, custom I/O pins from the AFE, and supply voltage for the LED. The user can use this along with the break-away protoboard to implement a custom circuit for test. The pin assignment and functions are shown below.
Pins labeled XYC (where X refers to LED 1, 2, 3, or 4 and Y refers to channel A or B) pins denote connections to the LED cathode which are voltage protected via transistors to the ADPD4100/1 LED inputs (denoted by LXY). It is recommended to connect LED cathodes to this pins instead of connecting directly to LXY pins. PDXY (X refers to photodiode 1, 2, 3, or 4 and Y refers to channel A or B) pins denote photodiode signal inputs to the AFE. ACOM and BCOM pins refer to the common cathode bias output for photodiode sensors. These should be connected to the cathodes of photodiodes in the matching channel (i.e. photodiodes connected to PD1A, PD2A, PD3A, and PD4A should have their cathodes connected to ACOM).
A simple circuit for testing LED driver outputs and photodiode current sensing using the break-away prototype board can easily be set-up using optocouplers as shown below.
To communicate with the device from the PC or laptop using IIO commands, install the Libiio package by following the guide in the repository: libiio/releases. The method is different for Windows or Linux operating systems.
The device must be able to create a context. Context creation in the software depends on the backend used to connect the device. This guide will cover the device communication using a serial backend through a USB-UART connection. A simple way of checking, if the device is connected, is through the iio_info command. It reports all IIO attributes of a detected device and context. Simple enter the command shown below to a terminal / command line. iio_info -u serial:<serial port> Examples:
EVAL-AD410X-ARDZ Design & Integration Files
End of Document