Embedded Microcontroller

Replacing a Microcontroller

So, your 8-bit or 16-bit Embedded Microcontroller (MCU) running C, Forth or, even x86 assembly is no longer available. This Bare-Metal Microcontroller board, which has been operating flawlessly and reliably for the last 15 to 20 years, can no longer be produced. What do you do now?

You start by trying to find a code-compatible Microcontroller MCU, but that option disappeared many years ago. Googling the board or processor manufacturer and model you found what options were available. All that is located are Wikipedia pages and web links to dead pages (and hopefully this page). This led to the discovery that it was one of the most commonly used processors with a long family history and that the rights to build it were passed along through 3 or 4 companies before it was retired. Like the following examples:

  • Zilog Z80 or eZ80
  • Zilog Z180
  • Siemens/Infineon 80C515
  • Motorola 6809
  • Motorola 68HC11 “HC11” or MC68HC11
  • Motorola 68HCS12
  • Hitachi HD64180/Z80
  • Freescale 68HC12 “HC12”, 6812 or MC9S12 “HCS12”
  • Freescale 68HC16 “HC16”
  • Dallas DS80C400 TINI
  • Cirrus EP9302

Next, you find an MCU with all the necessary I/O, but it’s not code-compatible. At this point, the challenge becomes trying to track down the source code, but the engineer who wrote the program and launched the system retired over 10 to 15 years ago. When the system was setup, the engineer documented everything and while there was source code for the system, it was stored on a floppy that is now nowhere to be found. His computer that compiled the software was retired and sent to surplus years ago when the engineer left. What do you do now?

While finding a replacement MCU is sometimes easy, the hard part is recreating the software application. To make this task easier using an Operating System (OS) is recommended versus the bare metal approach. If your application requires Real-Time decision-making, then a Bare Metal or Real-Time Operating System (RTOS) is required.  If there is an option to move your application to a Microprocessor instead of a Microcontroller then Linux can be an OS option. While moving to a Linux-based board will be easier to program it will likely be more expensive and complex and not offer true Real-Time capabilities.

Microcontrollers options:

IOT-F407M MitiPyIOT-F407C CutiPyDEV-IIOTC CutiPy IIOT Development kit

EMAC offers Embedded Microcontroller Single Board Computers, based ST Microelectronics STM32 MCUs. These off-the-shelf products come preloaded with either MicroPython or FreeRTOS Operating Systems, and have programming and development tools to help get you started:

The IOT-F407M MitiPy™

The IOT-F407C CutiPy™

These boards have loads of I/O including Wifi/BT and Ethernet Options. There is also a development kit based on the CutiPy™, the DEV-IIOTC preconfigured with the operating system, battery, connection cables and some basic code to demonstrate the product’s capabilities.

DEV-IIOTC

Microcontroller Single-Board Computer (SBC) options:

iPAC-9x25iPAC-35D1

If you wish to make the leap to Linux, EMAC has you covered there as well offering many SBCs such as the iPAC-9X25 and the iPAC-35D1. The iPAC-9X25, is based on the Microchip AM95X25 32-bit ARM Microprocessor running 400MHz.

iPAC-9X25

While the iPAC-35D1 is based on the NuvoTon MA35D1 ARM 64-bit Dual-Core Processor, with an additional 200MHz Cortex-M4 Real-Time core. iPAC-35D1 Processor starts into the AI spectrum of embedded systems, offering Edge or Tiny AI (Artificial Intelligence) and Tiny ML (Machine Learning) allowing the machine to make programmed reactive adjustments without user input.

IPAC-35D1

System-on-Module(SoM) options:

SOM-1062MSOM-35D1FSOM-RZV2L

Finally, when a more custom option is required, but a fully custom board is not in the budget, a semi-custom approach can be had. EMAC offers System-on-Modules “SOMs” which allow a standard off the shelf processor module to be coupled with an off the shelf or custom Carrier board. The SOM contains the processor, memory and all of the standard I/O such as serial, USB and Ethernet ports. The Carrier board contains any additional I/O, interfaces and connectors. See our whitepaper on Using the som approach (Download PDF)

These SOMs are able to go into development Carrier boards or Baseboards to provide a test platform, allowing engineers to create, debug, and test software before a custom carrier board is designed for production usage and specialized replacements.

The SOM-1062M is an ARM SoM based on the NXP RT Crossover MCU processor the RT1062 powered by a Cortex-M7 processor. With minimal RAM and flash on the CPU, but the ability to add Micro-SD cards, this system will run Free-RTOS or MicroPython as well as other lightweight operating systems.

SOM-1062M

The SOM-35D1F is a full-featured SOM module offering a full Linux operating system, with 512MB DDR3 RAM and up to 64GB of eMMC flash on board. This processor starts into the AI spectrum of embedded systems, offering Edge or Tiny AI (Artificial Intelligence) and Tiny ML (Machine Learning) allowing the machine to make programmed reactive adjustments without user input. Combined with the ability to drive a local LCD display and touchscreen to act as an HMI input onsite or log remotely to another location.

SOM-35D1F

Finally, there is  The SoM-RZV2L which is an ARM64 System on Module (SoM) based on the Renesas RZ/V2L ARM Cortex-A55 Dual-Core processor, with Built-in AI accelerator DRP-AI for Vision and a Cortex-M33 core. This module provides complete processing with real-time Artificial intelligence (AI) along with Machine learning(ML) capabilities.

SOM-RZV2L

For further assistance Contact EMAC:

These are just a few of the many SBC and SOM EMAC offerings. For more information on our other products go to: https://shop.emacinc.com/emac-products/

Beyond Just the hardware availability EMAC’s Engineering can help reverse engineer your working system software and assist in programming a new replacement.