Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

ADC ADS7138 always read 0x00

Not open for further replies.


Advanced Member level 1
Jan 22, 2014
Reaction score
Trophy points
Activity points
Hello everybody, I am facing an issue with the following ADC: ADS7138...

See below my schematics:


I was able to communicate with the part because adter sending the next command: RIB 0x2E 0x1000 1 => Result: 0x81

However after sending the next settings to configure the ADC in a manual way, I alwas read 0x00 in all the channels (I have already checked that the input voltage on AINXX are in the range of 1V - 1v8 :

1) All AINxx configured as Analog inputs:

WIB 2e 0805 00

2) Send the calibration command:

WIB 2E 0801 02

3) CON_MODE = Manual:

WIB 2E 0804 00

4) SEQ_MODE = Manual:

WIB 2E 0810 00

5) Select Channel to read (AIN0):

WIB 2E 0811 00

6) Read the register of AIN0:

RIB 2E 10A0 1

Result=0x00 for all the AIN. I have tried to enable the FIX PATTERN register (WIB 2E 0802 80) and I read always 0x00 too.

Any idea about what is going on?

Thanks in advance.


Just a guess as we can't see the rest of the schematic or see your software - do you have pull-up resistors on the I2C lines?

Hi! Yes i have them on other page. Actually i can read other registers from the ADC but the ones with the analog values are always at 0x00

Many possibilities:
1) You're not reading from the registers you THINK you're reading from
2) You've configured your analog inputs as GPIO
3) You've got a timing issue


I haven't had a detailed look on the datasheet, but you are mentioning your result is 0x00. This corresponds only to 8 Bit, so at least 4 additional bits are missing here (I assume 8). This missing bits include your LSB"s", if the MSB is clocked out first. So depending on your test condition, which I do not know, and it looks like the inputs are floating, the floating/open ADC input "noise" (flipping of the lower bits) will not be displayed.

Further, for your read hex presentation I'm missing a digit (ending zero?): 2E 10A0 1X.



What library or software do you use?
Where is the description of "RIB" and "WIB" commands?

Your commands are rather messy:
* upper case / lower case
* HEX identifier "0x" and not (maybe without "0x" is interpreted as decimal values)
* leading zeroes and not

--> clean up the mess and only change one item per time. Then do the test.


Not open for further replies.

Part and Inventory Search

Welcome to