What is the Best MCU for Robotics in 2020?
Pulse
Octopart Staff
Dec 12, 2020

Robotics is one of those unbelievably interesting areas that fuses design principles from multiple disciplines. Examples include machine learning/AI, edge computing, computer vision, motor control, sensor fusion, wireless communication, and much more. At the heart of all these applications is an MCU, SoC, FPGA, or other processing unit, as well as the firmware that makes it tick.

If you’re just getting started designing robotics systems and you want to go the MCU route, you’ve probably started looking for the best MCU for robotics applications. There is no single MCU that is objectively best for every robotics system, but certain specifications are more important in different types of robots. Let’s look at some of the common MCUs for smaller robots and what specifications you should watch for when selecting an MCU.

Finding the Best MCU for Robotics

While there is no single best MCU for robotics, certain MCUs will be better for different types of robots. It all depends on matching the MCU specifications to the requirements of the system or subsystem. Before selecting an MCU for your application, you should ask yourself some of the following questions:

  • System master or subsystem? If you’re designing a simple robot with limited sensors and peripherals, a single MCU will do the job. You could also use a single-board computer (SBC) (Raspberry Pi and BeagleBone are popular choices). If you’re designing the master portion of a robotics system, it may be easier to use an SBC, and the subsystems can use smaller MCUs.

  • Required I/O count and interfaces. Depending on how you want your MCU to communicate with peripherals or motor controls in your robot, you’ll need to check its I/O count and available low-speed/high-speed interfaces.

  • Clock speed. This becomes more important as your robot needs to process more data on the device. Currently, embedded devices will only run simple calculations on the device; the rest are run in a cloud environment. Simple ML models could be run with a fast MCU, but you get more compute resources if you use something more powerful (see below).

  • SDK and developer support. You’ll need to program your MCU, so any component you choose should have an SDK available from the manufacturer. It never hurts to buy a dev board and test out your application during development.

  • Wireless capabilities. Your robot may need to interface with a larger network over WiFi, Bluetooth, LoRaWAN, or other protocol. Some MCUs include integrated transceivers needed to operate on these and other protocols.

There is a range of MCUs that satisfy some or all of the above requirements, many of which offer varying levels of developer support (both from the manufacturer and open-source community). Arduino is arguably the most popular line of MCU boards for simpler robots. An Arduino board or a dev board for your particular MCU is a good place to start developing your application while you design your custom hardware.

The ESP32 MCU from Espressif is an excellent option for simpler robotics systems (dev board shown here).

Not many components are specifically advertised for use in robotics, mostly because the industry is still growing. However, MCUs and other processors marketed for automotive or industrial automation use are ideal for use in robotics. Components for these applications are built to high reliability standards and include safety features that are ideal for robotics systems.

MCU vs. FPGA vs. MPU vs. GPU for Robotics

Unless you’re designing a relatively simple robot with a limited number of sensors or subsystems, you won’t be using a single MCU to control your system. Other MCUs will be involved in providing control and processing power for various subsystems. If you’re designing an entire system, rather than just a subsystem, you’ll need to choose a master MCU to receive data from other subsystems and provide command and control functions. For commercially viable applications, it’s possible you won’t be using an MCU at all; they simply don’t offer the required compute power.

SRAM-based or Flash-based FPGAs are one alternative to MCUs as they can still be reprogrammed as needed through an external communications port. FPGAs also have high I/O count and fast clocks, making them a good choice for high-level processing of data received from other subsystems. As an example, Xilinx has developed a line of FPGAs specifically for robotics, although these carry a hefty price tag and are best used for high-level processing and control.

The Xilinx XC7Z030-1FBG676C was designed specifically for robotics systems. This component includes multiple high-speed interfaces (CSI, PCIe, DDR) and runs up to 1 GHz.

Another great alternative to an FPGA or MCU for high-level processing power is to use an MPU, such as the Sitara line of processors from Texas Instruments. The Sitara line includes a range of options that provide high-level processing power required for complex robotics systems. The MPUs in this line run up to 1.5 GHz and include multiple high-speed interfaces you’d expect to see in a single board computer. They also come in at a lower price than comparable FPGAs.

Computer-on-module for the AM3352BZCZ080 from Texas Instruments.

One other option for processing power in robotics subsystems is a GPU, particularly for integrating computer vision and machine learning/AI applications. In my opinion, NIVIDIA’s Jetson platform claims the top spot in this area and is already popular in the maker community for AI applications involving computer vision (object identification, image segmentation, object tracking, etc.). There is also plenty of developer support from the open-source community to help designers get started with the Jetson platform.

Other Components for Robotics

Any robot will require a range of subsystems to enable everything from power regulation to wireless communications. Here are some other components you’ll likely need in subsystems for large and small robots:

As the robotics industry matures and certain applications start to become prominent, you’ll likely see a range of non-FPGA-based SoCs released by major component manufacturers. As new SoCs for robotics are released, Octopart will be here to help you find and buy the components you need.

If you’re looking for the best MCU for robotics or any other components you need for robotics systems, try using the advanced search and filtration features in Octopart to find the components you need. Octopart’s electronic parts search engine gives you a complete electronics sourcing and supply chain management solution, and you can easily filter through search results by lifecycle, specifications, and price. Take a look at our integrated circuits page to the processing power your robots need.

Stay up-to-date with our latest articles by signing up for our newsletter.

Read More Articles