25 functions for 25 cents: An introduction to using MCUs for simple function enhancement

Other Parts Discussed in Post: MSP430FR2000

What could you do with 0.5KB of memory if you had a 25 cent MCU?

You’ve probably been using fixed-function integrated circuits (ICs) for quite some time now, and in some cases accepting their limited flexibility. A simple universal asynchronous receiver transmitter (UART)-to-Serial Peripheral Interface (SPI) bridge, a reset controller or an external real-time controller (RTC) with backup memory are specialized in their functions and can’t go beyond them.

But what if you could add intelligence or tailor these simple functions to better meet your needs? What if you could implement these individual functions using separate low-cost MCUs?

The new MSP430™ value line sensing MCU family enables you to implement simple sensing solutions through a variety of integrated mixed-signal features. To add to these low-cost MCUs, TI created a library of code examples for 25 common system-level functions, including timers, input/output (I/O) expanders, system reset controllers, electrically erasable programmable read-only memory (EEPROM) and more.

The 25 functions are divided into four functional categories ubiquitous in standard circuits: system and housekeeping, pulse-width modulation, timers, and communications. The majority of code examples fit in under 0.5KB of memory when using the MSP430FR2000 device, and the lowest-cost MSP430 MCU is priced as low as 29 cents in 1,000-unit quantities – 25 cents in higher volumes.Figure 1 gives you an overview about some of the discrete function IC’s such as an external watchdog or a real time clock IC which you can replace by one of our 25 function set. If you use more than one of the shown IC’s or functionalities (such as timer or PWM), you could even combine multiple functions and adapt them to your application to reduce effort and board space.

Figure 1: A few examples of the 25 functions 


To help you get started, TI has compiled an e-book containing 25 brief application notes with links to source code. Within a couple of minutes you’ll be able to compile, download and run the source code on your target MSP430 value line sensing MCU. Adapt the functions to your application needs and thereby reduce your time to market significantly.

As you start exploring this programmable alternative to many fixed-function ICs (and we look forward to seeing what you can do with the 25 functions), we’ll continue to build out the application note series.

Additional resources

  • Hi Britta,

    Nice work!!!

    A few years back I designed and implemented a sonar ranger (40kHz) using only a MSP4302013 from the MSP430 USB Stick Development Tool.

    It used a single 40kHz ceramic transceiver, and  generated the 40kHz pulse train .  Using the internal A/D to convert the received analog train back and then convoluted it with a 40kHz (4x over sampled at 160kHz) and accumulated  the instant "energy" at 160kHz, comparing against a threshold to detect the returning pulses. The F2013 was pushed to the limit with the A/D reference at about 150 mV @160kHz. Worked satisfactorily up the 50". Increasing the range  would need a Opamp for the received back signal. The sensor frequency response itself cleared the noise and the convolution with the over sampled 40 kHz took care of additional noise. Please note that using all internal registers of the MSP430F2013 operating @16Mhz only let the convolution to sample 3 full 40kHz cycles (12 registers) which was pretty good and the main noise was in the A/D from the very low  reference voltage and the ultra noisy USB power supply. Using batteries, detection was much better. The number of  transceivers could be increased up to 4 with no extra components beside the transceivers, detecting one at a time. I did not implement it, but a usart could be programmed for communications between sonar readings to receive commands and report readings.

    Not bad at all for a low cost little CPU...