Tag Archives: MCP4725
This is the second post on the Bus Pirate Demo Board I2C, showing the MCP4725 digital to analog converter and the PCF8563 real-time clock.
Connections
Like the last post, the ground and Vin need to be connected, and VPU (the pull-up resistors) need to be connected to the Vin as well. CLK on the Bus Pirate needs to be connected to SCL, and MOSI on the Bus Pirate needs to be connected to the SDA pin. There are other connections that will be necessary and will be different for each.
Digital to Analog Converter
The additional connection that needs to be made for this is the ADC connection on the Bus Pirate should be connected to the OUT pin on the demo board. This will allow you to see the output. As shown in this video by Mike Parks, it is pretty easy to address and use.
(1) – macro to search for address
[0xc8 0x0f 0xff] – turn the analog output to full
v – show voltages
Note the ADC voltage, which is at 5.03V (the max it will show).
To change things, try using [0xc8 0x01 0x00]. It will set the voltage to 0.30V. using …0x00 0x00 will turn the ADC to 0V. It is linear from 000 to FFF hex, so 800 (0x08 0x00) is half, and so on.
Real-Time Clock
The RTL uses the same SDA, SCL, and power connections as above, and those are the only necessary connections. However, the ADC and AUX connector CAN be used if wanted.
Setting and retrieving the time can be done using the following (ref):
(1) – address search macro
[0xa2 2 0 13 23 15 7 3 14] – 0xa2 is the address, 0 is the location to write, and I’m writing
[0xa2 2 [0xa3 r:7] – 0xa2 is the address, and 2 is the address to READ from in the next command, 0xa3 is the read location, and it reads 7 bits.
It seems to me that connecting the AUX on the Bus Pirate to the CLK pin on the clock should be measurable (by using f in the BP interface), but I’m not seeing a reading, so it may not be the correct way to use that. However, when I took the AUX wire and held it to pin 1 on the RTL IC and read the frequency, it came up to 60 Hz, and was not controlled by sending commands to the 0x0d address.
-73-