To an embedded designer, which components to use is an important decision impacting every other aspect of the design, including the initial architecture; the learning curve; procurement of development tools; installation; time to obtain proficiency using the part; and finally, how a design will be prototyped and tested. In addition, other decisions have to be made with regard to support circuitry elements: for example, is an R/C oscillator good enough or do I need a crystal?
Any well-thought-out design needs a stable supply chain to be assured that the components needed for fabrication are available throughout the manufacturing life of the product. In addition, as engineers, we want our “babies” to live long and productive lives. Unfortunately, however, not every design is aimed at a long service life. Indeed, the entire notion of disposability or one-time use can have a big impact on an engineer’s design approach and the entire design process.
This article examines a variety of low-cost, small size, and stand-alone microcontrollers that are suitable in designing disposable products. All parts, datasheets, tutorials, and references are available through Hotenda’s website.
Getting used to the concept
Initially, the idea of a throwaway micro design might make an engineer shudder, given how much time and effort goes into the design process from concept to coding. However, in today's once-and-out society, many devices are used once and then discarded. Therefore, it should not come as a surprise that this is now true of embedded systems.
For many disposable embedded systems, size, cost, and low power are the driving factors. Size is often a key constraint, especially with medical devices. A wearable or implantable device needs to be as small as possible. Here, a small die form or system-on-chip (SoC) micros are the best choice.
Size may also factor into other designs even if they require a lot of I/O. An example is an embedded processor in a toner cartridge. In this case, a small size with very few (or no) external components may be required, even though it also has to be very low in cost.
Size can be reduced by eliminating hooks into the design for future options. No firmware updates or JTAG ports, no debug headers, maybe a test point or two, and that is it. Suppliers can help by delivering pre-programmed and tested parts. In addition, a target part should be selected based on how few components it requires. Ask yourself: how many caps, regulators, references, oscillators, and decode logic does it need to work? Reducing component count reduces size and cost, with the latter always a constraint.
Here is another example: with a throwaway design, the odds are you will not need an elaborate, replaceable coin cell holder. If a cell can be soldered to a board, maybe with an activation tag to extend usable shelf life, that can be a large cost saving.
This dovetails into our low-power needs. In addition to shelf life and activation tabs, run-time life and usability can be critical. While some designs will have access to power, such as our toner cartridge example, some will not. Take, for example, sensors embedded in a device at the bottom of the sea. Once activated, they may never be recovered, but the data they provide throughout their lifetimes is more valuable than the hardware itself.
This means that our disposable micros may need to have advanced low-power features and comprehensive energy management capabilities. You might consider, in this case, low-power and low-frequency oscillators to extend life expectancies. Coding practices will also strongly influence usable life.
Consider the following: if a detector is waiting for an event, there are three ways the micro can be coded to look for that event. The first is fully alive in a loop watching for the event to happen. This provides very fast response time but draws the most power (Figure1, left).
Another coding technique is to put the micro to sleep for ‘resolution intervals’, then wake up and examine the situation. If the event has occurred, it remains awake and takes action. If not, it goes back to sleep for another “resolution interval”. This saves a lot of energy compared to alternative 1 (Figure1, middle).
Figure 1: Coding practices can affect energy usage. Energy, which is the area under the plot, is power x time. We can see that a full-on micro (left) draws a steady but high amount of power compared to an interval-based wake-up-scheme device (middle). The most power-efficient technique also providing good response time is with event detection, which uses the lowest amount of energy over time.
The best way to use the microcontroller hardware and to code for low-energy event detection is to select a micro that has event detection capability. Many devices have comparators that can be used as wake-ups to the micro. This keeps energy draw low as long as possible (Figure 1, right, above).
Note, though, that not every one-time-use or disposable embedded system is cost or even power sensitive. Take, for instance, the guidance computer in a missile guidance system. At first glance, it could be viewed as a throwaway design since it will really only be used once. The reality, of course, is that all the time, effort, and expense of its deployment is instead tied to fail-safe operation as lives may depend on it.
A few solutions
Most small micros have limited resources and architectures and are 8-bit in nature (yes, 4-bit machines can handle some basic functions, too, but modern fab processes and geometries do not offer any appreciable cost savings with 4-bit, and 8-bit is more preferable). The same argument even extends to 16-bit in some cases.
One such part comes from Microchip with its 8-bit 4 MHz PIC10F200T-I/OT. This low-cost part has very limited resources such as sixteen 8-bit RAM locations and 256 12-bit code space locations. With only three I/O, it is a very small part (6 pins) that can easily monitor a state, pull an I/O line for a relay or actuator, or light up a status alert LED.
Texas Instruments also makes very-low-cost devices for these needs. Consider the MSP430G2001IPW14R with an internal 16-bit architecture and a whopping 512 bytes of code space with 128 bytes of RAM (Figure 2). The small 14-pin TSSOP package still allows it to fit into pretty tight places and the 1.8 to 3.6 V supply range lets it draw fairly low amounts of power, even at its 16 MHz peak clock rate.
Figure 2: This no-frills architecture gets right to business with basic but flexible I/O, clock control, and emulation/debug facilities. The 16-bit architecture and low cost make this a good choice for one-time-use or disposable designs.
Several training modules are available online for the TI MSP430 family including presentations on ultra-low-power design, tools, clock control, driver libraries, and more. Also, note that these parts are scalable from very small and basic cores, up to more complex high-end microcontrollers.
Atmel also offers small, low power and low cost micros suitable for throwaway designs. The Tiny AVR-based ATTINY5-TSHR
is an 8-bit 6-pin part, but has 12 MHz performance and 256 words (16 bit) of program memory with 32 bytes of RAM. It should be mentioned that while the architectural block diagram looks advanced, from a top-down perspective it is a pretty basic microcontroller (Figure 3). It does contain 8-bit A/D converters, which can make it very attractive for rudimentary sensor applications. Note the A/D converters and the analog comparator for event detection.
Figure 3: While the granularity in the block diagram makes this architecture look complex, it is really a rather basic and simple processing unit, ideal for low-cost and one-time-use devices. Note the A/D converters and the analog comparator for event detection.
This part is also capable of 1.8 V operation. A training module on the tiny AVR architecture is available on the Hotenda website.
Another contender is Freescale’s 8-bit 10 MHz “low-end” MC9RS08KA1CSCR
(Figure 4). As part of the RS08 series, this scalable architecture supports sizes as small as 6 pins with two I/O up to 48-pin parts with 33 I/O. Also, 20 MHz versions are available to boost bandwidth and performance levels.
Figure 4: While scaled down to be a minimum daily requirement type of core, this low-cost processor adds some nice features like keyboard wake-up as well as analog compare wake-ups. Note the internal regulators to keep external component costs low.
These parts can also incorporate A/D converters (10-bit), making them suitable for mixed-signal designs. A specific training module on the Freescale RS08 Low End Microcontrollers is available on Hotenda’s website.
Any embedded processor you choose has to have the raw resources and performance levels necessary to do the job. Micros suitable for use in “disposables” are no exception and often can be limited in resources and features. Fortunately, basic arithmetic and Boolean functionality can carry us a long way, and rudimentary mixed-signal capabilities add a lot. The application will ultimately dictate various constraints and requirements. However, many pegs will fit into the holes we drill, and the bottom line is that there are many choices at our disposal.
For more information on the parts discussed in this article, use the links provided to access product information pages on the Hotenda website.