1.8V UART with Voltage divider

Connect 3.3/5V UART hardware to a 1.8V device using a voltage divider

We recommend buying suitable 1.8V equipment

Theory of Voltage divider

Simple voltage divider

Use a voltage divider to get TX 3.3V / 5V down to 1.8V

Vout=Z2Z1+Z2VinVout = \frac{Z2}{Z1+Z2} * Vin

Calculating a voltage divider

3.3V:Vout=20kΩ20kΩ+20kΩ3.3V=1.65V3.3V: Vout = \frac{20k\Omega}{20k\Omega + 20k\Omega} * 3.3V = 1.65V
5.0V:Vout=20kΩ20kΩ+47kΩ5.0V1.5V5.0V: Vout = \frac{20k\Omega}{20k\Omega + 47k\Omega} * 5.0V \approx1.5V

3.3V: Z1 = 20k; Z2 = 20k 5.0V: z1 = 20k; Z2 = 47k

These values should be safe even if the resistors vary by 5%

Test the output Voltage before you send data to 1.8V ports

Connection of Z2 to GND is very important. If it has a bad connection Vout can get close to Vin

You need to have a common GND. The easiest method is connecting UART-GND and SRT-GND.

Silicon Labs CP2102

Raspberry Pi

See Raspberry Pi UART Setup for further on information on how to setup your RPI.

Raspberry Pi's use 3.3V UART. Surface RT only uses 1.8V.

Raspberry Pi can receive 1.8V signals without a problem. But the Surface doesn't want to receive a 3.3V Signal. Therefore we need a levelshifter. A simple and cheap solution is to use a voltage divider, as shown above.

Last updated