Unit 16 Willow Road
Pen-y-Fan Industrial Estate
Most of M4EMS's product designs include one or more microcontrollers. The reasons for this are obvious in some cases, but in others it might seem like an unnecessary complication and cost. In fact it is very often easier and more cost effective to implement even simple functions in a small microcontroller than it is to use discrete circuitry, with the added bonus of providing greater design flexibility.
The software which runs in such a microcontroller is often referred to as embedded software. It runs all the time the device is switched on, unlike normal computer programs which are loaded and run only when the user chooses. Embedded software normally performs a few specific functions and has minimal user interface. For this reason it must be reliable and fault-tolerant because there is often no-one around to notice an error.
Real-time software must respond to events with hard deadlines. For example an inkjet printer must release ink droplets at precisely the right moment as the print head travels across the page. If it misses its deadline, the image becomes corrupted.
Design and implementation of real-time embedded software is a particular speciality at M4EMS, and we take pride in producing software which is robust and reliable, but also simple and efficient. Making best use of limited hardware resources is one way of keeping product costs down. Producing high quality, maintainable code is the best way of keeping support and maintenance costs down.