Abusing the Internet of Things

(Rick Simeone) #1

client device and the microcontroller. The first order of business is to locate the VCC (power),
GND (ground), RX (receive), and TX (transmit) pins, as shown in Figure 7-26.


FIGURE 7-26. UART communication pins


Along with visual inspection, a multimeter is used to measure voltages to identify UART
pins. The multimeter should be set to continuity mode, which is a feature present in most
multimeters. This mode lets us test the resistance between two points on the board. If there is
low resistance, it means that the two points are connected electrically and the multimeter will
emit a tone. If the two points have high resistance between them, it means that the circuit is
open and the multimeter will not emit a tone.
To identify the ground pin, find an area on the board that has metal shielding (this
appears as a metal cover over parts of the board) and place the black-colored multimeter probe
on it. Next, place the red probe on a pin that you suspect is the ground pin. If the multimeter
emits a tone, it means that the pin is connected to ground and so it is the ground pin. The
UART exposes four or more pins, so look for areas on the board that have four or more pins
next to one another.
If the red probe is placed on the power pin, the multimeter will emit a short beep rather
than a continuous tone. It is useful to identify the power pin, so we know it is not a transmit
or receive pin.
A transmit pin will cause the multimeter to show a voltage value of around 3.3V, which is
common for the UART. As the transmit pin transmits data (often when the device has been
powered on and it is booting firmware), the voltage drops to 0V and then back to 3.3V. The
multimeter will average the sampled voltage, which will dip down when data is being trans-
mitted, especially when the device has just been powered on.
Identifying the receive pin is more difficult: the best course of action is to identify it by
eliminating the ground, power, and transmit pins.
In order to communicate with the UART, a simple UART-to-USB adapter can be used.
The ground pin on the board should be connected to the ground of the adapter, while the
transmit and receive pins should be switched.


214 CHAPTER 7: SECURE PROTOTYPING—LITTLEBITS AND CLOUDBIT
Free download pdf