Using 433 MHz for wireless connectivity in the Internet of Things
The radio frequency that you choose for your wireless IoT application is very, very important. There are regulatory and physical considerations that must be accounted for and weighed against the design goals and specifications of the IoT application you are developing. The three primary frequencies to consider in the US market are 433 MHz, 902-928 MHz, and 2.4 GHz. Here, I am going to focus on the first of these: 433 MHz.
As a reference example, consider Ninja Blocks, a popular IoT solution for makers and hobbyists that uses 433 MHz wireless communications. The vendor offers a plug-in module that adds this wireless capability to its Ninja Block (which is to all intents and purposes a gateway). The wireless "things" the company offers are switches, temperature sensors, wall sockets, and window/door contact sensors. Using these "things" as our analytical basis, let's explore the regulatory and physical aspects of using 433 MHz.
The US Federal Communications Commission (FCC) regulates operation at 433 MHz under Regulation 10CFR47 Part 15.231. This frequency band is intended for remote control, and although other uses are allowed such uses are not optimal. If you want to do something like control a wall socket with a key fob by pushing a button, you are perfectly welcome to do so as long as the transmission stops within five seconds of the button being released. However, if you want to use a microcontroller or computer to activate the wall socket, you become a data transmitter and different restrictions come into effect.
There are two main restrictions for data applications to consider. First, 15.231.a.3 prohibits scheduled periodic data transmissions, but it does allow polling transmissions (with data) that cannot exceed two seconds of transmission time per hour. Second, 15.231.e makes a provision for more frequent periodic polling transmissions as long as "the duration of each transmission shall not be greater than one second and the silent period between transmissions shall be at least 30 times the duration of the transmission but in no case less than 10 seconds."
Although this ruling contemplates a maximum of one second of transmission time, it really says that if you want to transmit at the maximum repetition rate, you can only transmit for 300mSec every 10 seconds. This restriction to one transmission in 10 seconds is the important thing to glean here.
Therefore, there are two modes, if you will, that you can use in this band.
The first is what I will call an event mode. This would be used for things like activating a wall socket when some event, such as throwing a switch, happens. Because you can only transmit for a maximum of two seconds an hour you will be limited in how many events you can handle even if you have very short transmission periods. Consider a transmission period of only 2mSec; you could transmit 1,000 of these messages in an hour. While that might be fine if you simply want to turn a couple of lights on and off, it is wholly inadequate if you want to do more.
If activities like turning wall sockets on and off are not the only thing we want to do in our IoT application, this is where the second mode comes in. Say we want to collect temperature readings to monitor trends. In this case, we will be regularly sending data to the gateway from the temperature sensor so the 15.231.e rule will apply. Under this rule, we can only transmit one time in 10 seconds. There are, in fact, inexpensive indoor/outdoor wireless temperature sensors with displays that currently operate under this rule, but they only tell us the current temperature. They are not capable of logging trends. Their display will update once every 10 seconds, but the user will never notice.
However, for our trend logging IoT application, this 10-second limitation can be a big problem. For example, you might want to log temperature every second to monitor the operation of your air conditioner. If so, you won't be able to use 433 MHz. You're not allowed to transmit that often.
The FCC regulations also limit transmitter power output. In the case of 433 MHz, there are two separate limitations. In the event mode application, 15.231.b applies and the transmit power is limited to about 10,000uV/meter at 3 meters. That means that the testing lab that certifies the product will measure the field strength of the transmission (including the transmitter's antenna) at 3 meters using a calibrated measurement antenna. My experience is that if I use a 3dBi antenna (¼ whip), I can usually transmit about 5mW into the antenna to generate the 10,000uV/meter at 3 meters. However, the ¼ wave antenna is more than 7 inches long, which is way too big. So most people use a helical coil antenna. That reduces the efficiency considerably and, correspondingly, the range.
Realistically, the range you can expect at 433 MHz with helical antennas and a compliant transmitter is in the order of 100-300 feet outdoors and 30-100 feet indoors. For some IoT applications, that might be sufficient, but for many it will not.
This 433 MHz band used to dominate the remote control market because the available chips and components were cheaper than those for other frequencies. With recent advances, however, 433 MHz now offers no cost advantage over 900 MHz.