Have you ever tried designing a truly embedded x86-based system? We have, and it was a journey full of unexpected pitfalls.
Consider the importance of unattended operation, including resilience in the face of power failures and power voltage fluctuation. Need support for different CPU models? A compact, IP65+ enclosure? Each of these requirements is tricky on its own; taken together, they begin to feel insurmountable. But wandering into previously uncharted territory is half the fun of engineering, and we at Fairwaves are not ones to shy away from a challenge!
Today, we are making the results of more than a year’s worth of development available to the world. With the launch of XCOM, no one ever needs to face this particular set of challenges again.
We designed XCOM to be the ultimate platform for the Fairwaves UmTRX and XTRX Software Defined Radios (SDRs), but it works just as well with other USB, Ethernet, and miniPCIe SDRs. We have already started using the first revision of XCOM in our OpenRAN cellular base stations, and the version that will ship at the end of this campaign will incorporate everything we have learned from that field experience.
We also believe that XCOM has many applications outside of the SDR space. If you have suggestions for how we could make XCOM even more useful for non-SDR projects, please reach out and let us know!
These days, a lot of control boards are based on ARM chips because they are small, inexpensive, power-efficient, and embedded-friendly. But what if you need more CPU power or faster I/O than an ARM chip can provide?
What if, for example, you are working in the growing field of Software-Defined Radio (SDR) and the RF processing of your application demands intensive Digital Signal Processing (DSP) and high throughput I/O? You could use a specialized DSP chip or an FPGA, but processing your data on a sufficiently powerful x86 CPU is not only simpler, it also benefits from a more developed software ecosystem and easy virtualization.
ARM | x86 | Solved by XCOM? | |
---|---|---|---|
Computing power | Low | High | Yes |
Software selection | Medium | High | Yes |
Virtualization support | Poor | Good | Yes |
Always-on device support | Good | Poor | Yes |
Battery-powered device support | Good | Poor | Yes |
Remote firmware upgrade infrastructure | Good | Poor | Yes |
Power efficiency | Good | Poor | No |
The downside of using x86 is a less developed ecosystem of truly embedded, unattended designs. A lot of x86-based embedded systems are used in point-of-sale terminals, measurement devices, and other equipment that are easy to access and therefore easy to restart or fix if something goes wrong. For our use case, we need equipment that adheres to the infamous telecom standard of 99.999% uptime, even though it might be hundreds of kilometers – and many hours of driving – away from anyone who could fix it. Or it might be deep under water. Or hanging from a weather baloon. Or orbiting the Earth!
Building an x86-based device that is always on when it’s connected to power, and that can be reliably reflashed to a new software release remotely is surprisingly non-trivial. We had to pay special attention to everything from hardware design to Coreboot support to make it possible.
There are three ways to design an embedded x86 device:
We went with the last approach. By designing a carrier board for the popular COM Express Type 10 modules, we were able to optimize XCOM for reliable unattended operation so that you don’t have to design something from scratch. At the same time, many different COM Express Type 10 modules are available, from a variety of companies, so using XCOM helps you avoid CPU model lock-in.
Fairwaves XCOM | Off-the-Shelf SBC | In-House COM Carrier | In-House Custom SBC | |
---|---|---|---|---|
NRE Cost | $1k | $1k | $100k | $500k |
Development Time | 1 week | 1 week | 3 months | 1 year |
CPU Flexibility | Yes | No | Yes | No |
IP65+ Rugged Friendly | Yes | Very few models | Yes | Yes |
SDR-Friendly | Yes | No | Yes | Yes |
Wide Input Power Range / Direct Battery Operation | Yes | Very few models | Yes | Yes |
Coreboot Support | Yes (selected COM boards) | Very few models | Yes | Yes |
For this campaign, we are offering XCOM bundles based on two different COM Express models, one with a Core i7-7600U from AAEON and one with an Atom E3940 from Portwell. XCOM is designed to work with other COM Express Type 10 Mini modules as well, but we have only tested these two. Please report any success or challenges you might have with other modules!
To illustrate XCOM’s application in real world products, we are offering the following specific bundles:
"Designed to support unattended operation, IP65+, and passive cooling"
We are a vertically integrated vendor of cellular equipment focused on the needs of emerging markets. We are developing, manufacturing, deploying, and operating turn-key cellular network solutions including radio equipment, towers, power and backhaul all the way to a core network and SS7 interconnect. Our team has been building software-defined radios and systems based on them since 2009 and is well known for its ClockTamer, UmTRX, and UmSITE products.
An open source FT2232H-based, multi-protocol, multi-voltage tool for hardware hacking
A fully open source dual-channel SDR Raspberry Pi HAT with a tuning range up to 6 GHz
Classic NES games on open source hardware that fits in the palm of your hand