Real World RF Range Testing

A project log for WiSer

Bringing wireless convenience to serial connectivity

jaydeepJaydeep 11/29/2023 at 15:490 Comments

We have been testing WiSer in various scenarios. One such important test is the actual RF range of WiSer devices. The purpose of the test was to determine the physical distance from which WiSer devices can reliably communicate with each other.


One of the most common questions that arise for any wireless device is: How far can it transmit/receive? The range of a wireless device is determined by various factors such as transmit power, receive sensitivity, supply voltage, ambient environment, etc.

While factors like transmit power or sensitivity can be controlled by the user, the ambient environment cannot often be controlled by the user, thus playing a crucial role in defining the actual range. Recognizing this, RF testing can be conducted in both indoor and outdoor environments. Although the device will likely be used indoors, each indoor environment differs. Factors such as building structure, construction materials, room size, floors, pathways, and even furniture vary. Testing a wireless device in one indoor environment and providing an RF range may not be replicable in another indoor setting. Due to these limitations, testing the RF range of the wireless device in an indoor setup becomes meaningless.

The most effective way to determine the RF range is to test the wireless device in an outdoor, line-of-sight environment. This setup offers a means to test the RF range in optimal conditions with reproducible test conditions and similar test results.


The outdoor test took place in an open ground using a pair of WiSer devices, WiSer-USB and WiSer-TTL. The WiSer-USB device was connected to a laptop's USB port, while the WiSer-TTL was connected to the UART pins of a Raspberry Pi. Both devices were positioned about 3 feet above the ground with their antennas facing each other. The initial distance between the WiSer-USB and WiSer-TTL devices was set at 20 feet.

To assess data transmission between the laptop and Raspberry Pi using WiSer devices, a Python script was developed. The script opens serial port with a configuration of 921600 baud, 8 data bits, no parity, and 1 stop bit. It writes a specified size of dummy data to the serial port without delay between chunks, simultaneously reading incoming data. At the end, it prints the amount of data sent and received.

The script was executed simultaneously on both the laptop and Raspberry Pi, sending a specified data size of 1 MB. At a distance of 20 feet, we successfully received 1 MB of data on both devices. We then increased the distance between the WiSer devices and repeated the test until we no longer received 1 MB of data on either side.


The maximum RF range we achieved was 65 feet. Thus, with a line-of-sight distance of 60 feet between WiSer devices in an open ground, the setup remained operational at the maximum supported baud rate of 921600 baud. Of course, it is possible to increase the RF range further by adjusting test conditions, such as lowering the baud rate or sending data at a slower speed by adding delays between data chunks or even allowing 5% data loss, for example. However, for this test, we specifically wanted to measure the RF range at the maximum baud rate possible, ensuring functionality with zero data loss under optimal conditions.