1.8V UART using tio2 for serial_rx

Hello,

I think I broke the tio2 of two chipwhisperer, but I am not sure how.

I use tio2 as “serial_rx” and target.read() gives me nothing. It used to work but now I don’t have anything.

scope.io.tio1 = “gpio_disabled”
scope.io.tio2 = “serial_rx”
scope.io.tio3 = “gpio_disabled”
scope.io.tio4 = “gpio_disabled”
scope.io.pdic = “gpio_disabled”
scope.io.pdid = “gpio_disabled”

I changed my configuration and used tio1 or tio3, it worked a bit but now it doesn’t work anymore.

The UART does not seem broken, but in fact the target UART voltage is 1.8V. Is it possible to read 1.8V signals using the chipwhisperer ?

Regards

Hi,

1.8V is too low for the ChipWhisperer to properly read. It’s very unlikely that you’ve damaged anything, but I recommend using a level shifter to bring the signal up to 3.3V.

Alex

yes i converted the 1.8V to 3.3V and now the UART works on all tios.

I was wondering if it was possible to lower down the threshold voltage (V_IH) for the chipwhisperer UART.

Thank you

If you’ve got a ChipWhisperer-Lite, you do have the ability to set the IO voltage of the FPGA as described here: CW1173 ChipWhisperer-Lite - NewAE Hardware Product Documentation. As that section states, you do that at your own risk, as only the FPGA IO voltage is affected, so it’s possible to damage IO pins if you feed in too low or too high of a voltage.