How to Choose a Communications Module for Your IoT Product
A lot of my friends are engineers and we are constantly talking shop. If you’re in the mood for hearing about weird IoT, then it’s always a good idea to ask what project they are working on. I’ve stopped asking what programs they’re using since everyone is learning Python. Seriously, everyone. We talk about what’s fun at work, it’s usually design, but sometimes it’s soldering. We talk about what’s terrible at work, and it’s usually component selection, but sometimes it’s soldering.
One thing we always agree on is how much we dislike sitting down and grinding through an 84-page datasheet for component selection. Alas, most communication modules in IoT and microcontrollers have vast datasheets that you need to review before you can start incorporating them into your new IoT devices PCB layout.
For me, rereading and comparing possible used to quickly devolve into an onerous cross-checking of tiny details and a haze of numbers and post-its. Obviously, this haphazard approach doesn’t scale into complex PCB designs or critical components. It’s better to clarify what component requirements will suit your product specifications early in the design process. It will save you a lot of angst and blue smoke once you are designing and testing. We’ll tackle microcontrollers another day, and start with identifying requirements so you can select your IoT module.
Identify Your requirements
The first IoT device design I worked on was handed off to me when it was very immature, but we needed to get prototypes done ASAP. That version just barely did its job, and we quickly realized that there was a lot of room for improvement. For our next version, I put a lot more effort into evaluating standard hardware specifications.
Transmission and network: What kind of base station will you be using? How far do the devices need to transmit? If the modules can’t manage the communication modules in IoT you want, you’ll need to change the network, or you’ll only have the “of Things” part of IoT.
Footprint: How much space do you have available? We needed to fit the new PCB into an existing enclosure. This caused me to worry about the module’s actual size and the additional area required for the RF tuning .
Most modules will include any tuning in the internal packaging. I really, really prefer this, since it not only saves you space, but you don’t have to design around the tuning on your PCB. As a side note, the manufacturer should provide the tuning layout for you.
Power requirements: Does your system have access to wall power, or does it use batteries? We needed batteries to last at least a year, so I wanted low values for both the power and the quiescent current of our module.
Environmental tolerances: Will your product get hot or cold? Rained on? Will dust get blown into every crevice? Make sure your IoT module has adequate tolerances for the environment where it will be deployed. You should put it through the same rigorous selection you’d use for any other component.
Compatibility: Check that your IoT application can handle the inputs and outputs from the rest of your hardware. Are the communication protocols and speed the same for the microcontroller? Will it need to handle any direct input from sensors? Can it use the same power supply as the microcontroller?
Your IoT module drives your product functionality. This is why it is important that you rigorously design for and check all of your IoT module’s necessary requirements.
I know these checks seem obvious. I’ve still seen people get so swept up in the IoT buzz that they’ve jumped into designing without reviewing their requirements. The catch is, it usually costs them thousands of dollars when they finally get around to fixing their compatibility or tolerance issues. Trust me, it’s all I heard about when my friends were in the process of fixing their mistakes. Be considerate and plan ahead.
Learn About the Manufacturer
Before you commit to a module, you should learn a little bit about the manufacturer if you haven’t worked with them before. Lots of new modules are showing up as the IoT market expands. If you choose a newer module, make sure that your manufacturer has the capacity to produce and support the amount of hardware that you plan to buy from them.
You should also ask your manufacturer about:
Capacity: New companies may have very cool modules, but make sure they have enough availability to support the scale and production rate you need. You can spend weeks waiting if their lead time isn’t incorporated into your manufacturing plan.
FCC Certification: Find out if they have a modular certification for the RF in their module, and if other customers have successfully certified products using the same modules. It’s also helpful to ask who they use for a test lab. You might want to have the same lab certify your products (and that occasionally comes with a discount). Finally, you may need the manufacturer to send proprietary documentation to the test lab. Make sure you have a manufacturer who is willing to assist, or they can hold up your certification for weeks.
Layout assistance: As I mentioned previously, certain modules will require a tuning on your PCB. Find out if you’ll need to plan around that and what kind of support you’ll get incorporating it into your layout. If they are sending layout files, find out the format and compatibility with your design tools.
Firmware updates and long term support: Some devices will get firmware updates over their life cycle, both for security and general functionality. Find out how those are handled. Believe me, you do not want to be in the situation where you have to recall your systems and update them by hand. If you have a device that's transmit only and can’t have updates “pushed” to it, you need to have a plan for how to handle those changes. We lost a week of data for a new customer when the network updated, but our firmware didn’t. Such bad times…
There are a lot of factors to consider when choosing your IoT product and module. Instead of dragging yourself through the post-its and spreadsheets approach, there are great tools available to help you. I’ll share some advice that I’ve gotten from my friends, and recommend that you check them out. One of those tools is Altium Vault®, which helps you manage manufacturers, distributors, and even components, using your own design rules. This not only helps you keep requirements consistent across your design, but ensures good design controls as you work. To learn more about professional PCB design, there are Altium representatives standing by to help you get started now!