How do I plan a long range product with microcontroller that needs long term support?

The FPGA manufacturers say if you use a 'soft core', that is, a microcontroller written in VHDL, then that VHDL design can be implemented on any future programmable FPGA hardware, thus freeing you from the likelyhood of any particular piece of hardware going out of production.

To buy that argument, you would need to assume that programmable hardware will continue to be available over your timespan (which is probable), and will continue to be available in chip sizes, costs and voltages that will suit your product (which I find harder to believe). To use this approach, you would have to accept that you may need to do a new hardware design to accept a new package, which kinda defeats your object of no major changes.

My approach, and my advice would be, to isolate your control processing from the rest of the circuitry on a small board, and define your own interface to it, the fewer pins the better. Perhaps SPI makes a suitable interface, or a nybble bus with data read/write and address strobes. Then if your chosen processor becomes obsolete during the product lifetime, you only have to redesign and test a small board, rather than a large board with vital analogue product functions on it.

Program the control processor in C. Split your code strictly into generic algorithm, and hardware interface modules. Then if particular bits of hardware have to change, you have isolated the rewrite to a small number of modules, and are not crawling all over your code.

Choose a suitable voltage, I'd prefer 3.3v to 5v for instance.

When you choose your small control board, you could do worse than to pick a form factor that matches an available Arduino or PIC dev board. Then, your development and prototyping get a leg-up, and you could even start low run production with bought modules before designing a lower cost replacement.


Don't forget to consider the reliability of your programming toolchain. If there's special-purpose programming hardware, it also needs to last for decades, and you have to be able to talk to it. Imagine having to dig up a 20-30 year old DOS PC and install an ISA card -- don't forget to manually select the IRQ and DMA lines! Alternately, you might have to buy an expensive niche product that offers backwards compatibility. If you might need to modify the software, remember that compiler tools and libraries also change, often much faster than the hardware.

Also consider how long the MCU needs to function. If you want it to have a decent chance of running for many decades, you need to consider things like flash memory retention and long-term failure rates. If you're going to swap out the chip every ~15 years, that's not as big a problem. Manufacturers should have this information. Instead of going cheap, you might look at MCUs designed for safety-critical applications like aerospace or automotive. They often come with redundant hardware and better quality guarantees.

One option could be to store your own spare parts. If you buy enough, you might be able to get an MCU with a custom mask ROM and avoid the programming/data retention problem altogether.

Make sure everything is very well documented. The MCU itself, the software, memory allocation, CPU instruction set, all electrical interfaces, specifications, etc.

Give user44635's answer serious consideration. What happens if your supply of replacement parts dries up in 30 years, and any reasonable replacements all have 1.8V IOs? Or the oldest chips you can find all have 32-bit ARM CPUs (which are starting to devour the 8-bit market)? A separate board gives you the option of adding voltage regulators, level shifters, and other interface hardware if the worst happens.


While some manufacturers have a better record than others, long product life vs. obsolescence of critical components is addressed on the operations level rather than on circuit design level.

Maintain an ongoing forecast of the quantity of microcontrollers that you will require. Monitor the supply chain. When the manufacturer announces NRND status, you - or your operations - should prickle ears. When the manufacturer announces upcoming obsolescence, they will give you right of last order. You procure the quantity which you have forecasted, and store in a flameproof cabinet.

This is not uncommon in certified industries such as medical device, avionics, defense. I have seen people do this. For example, an OEM supplier X produces WiFi modules for medical device field. The module uses a plain civilian vanilla SoC for WiFi. The SoC is produced by Broadcom for consumer market. The SoC is expected to stay in production only of a year or two. OEM supplier X is aware of this dynamics. They procure 10 years worth of these SoC. OEM supplier X charges premium for a part with a guaranteed long product life. OEM's customers stave-off costly re-certification of their product.

Typically, devices that require long-term support are manufactured in relatively small quantities.