Q&A: Ayse Kivilcim Coskun (Engineer, BU)

Ayse Kivilcim Coskun’s research on 3-D stacked systems has gained notoriety in academia, and it could change the way electrical engineers and chip manufacturers think about energy efficiency for years to come. In a recent interview, the Boston University engineering professor briefed us on her work and explained how she came to focus on the topics of green computing and 3-D systems.

Boston University professor Ayse Kivilcim Coskun

The following is an excerpt from an interview that appears in Circuit Cellar 264 (July 2012), which is currently on newsstands.

NAN: When did you first become interested in computer engineering?

AYSE: I’ve been interested in electronics since high school and in science and physics since I was little. My undergraduate major was microelectronics engineering. I actually did not start studying computer engineering officially until graduate school at University of California, San Diego. However, during my undergraduate education, I started taking programming, operating systems, logic design, and computer architecture classes, which spiked my interest in the area.

NAN: Tell us about your teaching position at the Electrical and Computer Engineering Department at Boston University (BU).

AYSE: I have been an assistant professor at BU for almost three years. I teach Introduction to Software Engineering to undergraduates and Introduction to Embedded systems to graduate students. I enjoy that both courses develop computational thinking as well as hands-on implementation skills. It’s great to see the students learning to build systems and have fun while learning.

NAN: As an engineering professor, you have some insight into what excites future engineers. What “hot topics” currently interest your students?

AYSE: Programming and software design in general are certainly attracting a lot of interest. Our introductory software engineering class is attracting a growing number of students across the College of Engineering every year. DSP, image processing, and security are also hot topics among the students. Our engineering students are very keen on seeing a working system at the end of their class projects. Some project examples from my embedded systems class include embedded low-power gaming consoles, autonomous toy vehicles, and embedded systems focusing on healthcare or security applications …

NAN: How did you come to focus on energy efficiency and thermal challenges?

AYSE: Energy efficiency has been a hot topic for embedded systems for several decades, mainly due to battery-life restrictions. With the growth of computing sources at all levels—from embedded to large-scale computers, and following the move to data centers and the cloud—now energy efficiency is a major bottleneck for any computing system. The focus on energy efficiency and temperature management among the academic community was increasing when I started my PhD. I got especially interested in thermally induced problems as I also had some background on fault tolerance and reliability topics. I thought it would be interesting to leverage job scheduling to improve thermal behavior and my advisor liked the idea too. Temperature-aware job scheduling in multiprocessor systems was the first energy-efficiency related project I worked on.

NAN: In May 2011, you were awarded the A. Richard Newton Graduate Scholarship at the Design Automation Conference (DAC) for a joint project, “3-D Systems for Low-Power High-Performance Computing.” Tell us about the project and how you became involved.

AYSE: My vision is that 3-D stacked systems—where multiple dies are stacked together into a single chip—can provide significant benefits in energy efficiency. However, there are design, modeling, and management challenges that need to be addressed in order to simultaneously achieve energy efficiency and reliability. For example, stacking enables putting DRAM and processor cores together on a single 3-D chip. This means we can cut down the memory access latency, which is the main performance bottleneck for a lot of applications today. This gain in performance could be leveraged to run processors at a lower speed or use simpler cores, which would enable low-power, high-performance computing. Or we can use the reduction in memory latency to boost performance of single-chip multicore systems. Higher performance, however, means higher power and temperature. Thermal challenges are already pressing concerns for 3-D design, as cooling these systems is difficult. The project focuses on simultaneously analyzing performance, power, and temperature and using this analysis to design system management methods that maximize performance under power or thermal constraints.

I started researching 3-D systems during a summer internship at  the Swiss Federal Institute of Technology (EPFL) in the last year of my PhD. Now, the area is maturing and there are even some 3-D prototype systems being designed. I think it is an exciting time for 3-D research as we’ll start seeing a larger pool of commercial 3-D stacked chips in a few years. The A. Richard Newton scholarship enabled us to do the preliminary research and collect results. Following the scholarship, I also received a National Science Foundation (NSF) CAREER award for designing innovative strategies for modeling and management of 3-D stacked systems.

The entire interview appears in Circuit Cellar 264  (July 2012).

Elektor Weekly Wrap-Up: Project Generator, 32-Bit Linux on an 8-Bit MCU, & Computer Vision Simplified

Last week Elektor staffers put in a long workweek of, well, a little bit of everything: lab work, news reporting, and book launching. Let’s start with the lab.

Elektor’s Project Generator Edition

The Elektor Lab’s workers were finishing up their final lab duties relating to Elektor’s upcoming double summer edition—the Project Generator Edition, PGE.

Elektor Lab staff preps for the summer issue

Thijs Beckers reported: “Extra attention is paid to the quality of this year’s projects, after upping the standards already in the selection process. We set an ambitious goal for all of us, lab workers and editors alike, to bring you articles and circuit ideas from the utmost quality, with crystal clear details and lots of PCB layouts. All of this would of course be unfeasible without our highly respected freelance contributors and experts, who we are grateful for their efforts in supporting this year’s extra-thick magazine with fresh and exciting projects and circuits.”

Getting read for the "Project Generator Edition"

32-Bit Linux on an 8-Bit MCU

Elektor editor Clemens Valens reported last week about an interesting project by Dmitry Grinberg. Clemens said Dmitry ported a 32-bit operating system to an 8-bit microcontroller lacking most of the features needed to actually run the OS. Seem odd? Learn more here.

A 32-bit OS ported to an 8-bit micro

Computer Vision Simplified

Elektor announced Wednesday a new book on the topic of computer vision. Fevzi Özgül’s Design your own PC Visual Processing and Recognition System in C# is intended for “engineers, scientists and enthusiasts with developed programming skills or with a strong interest in image processing technology on a PC.”

The book, which Özgül wrote using Microsoft C# and utilizing object-oriented practices, is a practical how-to guide. He covers essential image-processing techniques and provides practical application examples so you can produce high-quality image processing software. Click here for more information.

CircuitCellar.com is an Elektor group publication.


Issue 263: Net-Enabled Controller, MCU-Based Blood Pressure Cuff, MOSFETs 101, & More

Although the June issue is still in production, I can report that it’s packed with projects and tips you’ll find immediately applicable. The projects include an AC tester design, an Internet-enabled controller, a DIY image-processing system, and an MCU-cased blood pressure cuff. Once you’ve had your fill of design projects, you’ll benefit from our articles on essential topics such as concurrency embedded systems, frequency mixers, MOSFET channel resistance, and “diode ORing.”

An Internet-Enabled Controller, by Fergus Dixon
Power-saving smart switches require a real-time clock-based controller. With a request for an Ethernet interface, the level of complexity increases. Once the Ethernet interface was working, connecting to the Internet was simple, but new problems arose.

Final PCB with a surface-mount Microchip Technology ENC28J60 Ethernet chip (Source: F. Dixon, CC263)

AC Tester, Kevin Gorga
The AC Tester provides a modular design approach to building a tool for repair or prototyping line voltage devices. In its simplest form, it provides an isolated variable AC voltage supply. The next step incorporates digital current and voltage meters with an electronic circuit breaker. The ultimate adds an energy meter for Watts, VA, and VAR displays.

The AC Tester powered up and running. The E meter is shown in the plastic case on the top of the tester. The series current limit bulbs are on the top. (Source: K. Gorga, CC263)

Image Processing System Development, by Miguel Sánchez
Some computer vision tasks can be accomplished more easily with the use of a depth camera. This article presents the basics on the usage of Microsoft’s Kinect motion-sensing device on your PC for an interactive art project.

Build an MCU-Based Automatic Blood Pressure Cuff, by Jeff Bachiochi
Personal health products are becoming more and more commonplace. They reinforce regular visits to personal physicians, and can be beneficial when diagnosing health issues. This article shows you how to convert a manual blood pressure cuff into an automatic cuff by adding an air pump, a solenoid release valve, and a pressure sensor to a Microchip Technology PIC-based circuit.

A manual blood pressure cuff adapted into an automatic cuff by adding an air pump, a solenoid release valve, and a pressure sensor to a microcontroller. (Source: J. Bachiochi, CC263)

Concurrency in Embedded Systems, by Bob Japenga
This is the first in an article series about concurrency in embedded systems. This article defines concurrency in embedded systems, discusses some pitfalls, and examines one of them in detail.

Radio Frequency Mixers, by Robert Lacoste
Frequency mixers are essential to radio frequency (RF) designs. They are responsible for translating a signal up or down in frequency. This article covers the basics of RF mixers, their real-life applications, and the importance of frequency range.

MOSFET Channel Resistance: Theory and Practice, by Ed Nisley
This article describes the basics of power MOSFET operation and explores the challenges of using a MOSFET’s drain-to-source resistance as a current-sensing resistor. It includes a review of fundamental enhancement-mode MOSFET equations compared with Spice simulations, and shows measurements from an actual MOSFET.

Diode ORing, by George Novacek
Diode ORing is a commonly used method for power back up. But there is a lot more behind the method than meets the eye. This article describes some solutions for maintaining uninterrupted power.

The June issue will hit newsstands in late May.

The Renesas RL78 for Low-Power Applications

Renesas Technology announced in late March he start of a design challenge for engineers around the world: develop an innovative, low-power application using the RL78 MCU and IAR Systems toolchain. To get started, you need to familiarize yourself with the RL78. Clemens Valens, Editor-in-Chief of Elektor online, introduces the RL78 in a comprehensive “The RL78 Microcontroller: An MCU Family for Low-Power Applications” (Circuit Cellar 261, 2012).

I’ve worked with Valens in various occasions, and had the pleasure of meeting him in 2011. He’s truly “an engineer’s engineer”: extremely embedded tech savvy, well-read, and inquisitive. Furthermore, I edited Circuit Cellar articles Valens wrote about diverse design projects, such as a virtual instrument interface and a scrolling LED message board. Thus, it’s clear to me that Valens understands the importance of designing high-quality, energy-efficient, systems—and doing so within budget. I trust you’ll find his introduction to the RL78 insightful and immediately applicable.

The RL78 Microcontroller: An MCU Family for Low-Power Applications

By Clemens Valens (Circuit Cellar 261, 2012)

The low-power 8/16-bit microcontroller (MCU) market is a bit of a warzone with several MCU manufacturers proposing “the industry’s lowest power solution.” In a YouTube video, Texas Instruments boasts a best active figure of 160 μA/MIPS for their MSP430 family. In application note AN1267, Microchip Technology claims 110 μA at “1 MHz Run” for their PIC16LF72X. And Renesas Electronics announced 70 μA at “1-MHz normal operation” on their RL78 product website.[1, 2, 3] The absence of justification on how exactly these figures were obtained makes comparing them rather useless. But then again, you don’t really have to because, as most low-power developers know from experience, if you don’t get the hardware and software design right, you will never attain the promised 20-year battery lifetime no matter how low the MCU’s active, sleep, or standby current may be. In this article, I will take a closer look at Renesas’s quickly expanding RL78 family to see what they offer that may help you create a low-power design.

Photo 1 - The Renesas RL78


The RL78 family of 16-bit MCUs currently has two branches, “generic” and “application specific,” but a third “display” branch is forthcoming. The generic branch contains the subfamilies G12, G13, and G1A, all based on the 78K core, and the G14, which is based on the R8C core. In the application-specific branch there is the 1A and F12. I am not sure about their core origins as these products are still very new and, at the time of writing, documentation is missing. It doesn’t really matter; from now on it is the new RL78 core for all. Since they share the same core, I will concentrate on the G13 for which I have a nice evaluation board (see Photo 1 and “The Renesas Demonstration Kit for RL78” sidebar).

Sidebar: Renesas Demonstration Kit


This family comes in a large number of variants (I counted 182), with devices having from 20 up to 128 pins (see Figure 1). Note that the parts themselves are labelled R5F10xx. The differences between all these variants are, besides the package type, the amounts of flash memory (program and data) and RAM. Program flash memory starts at 16 KB and currently ends at 512 KB, data flash sizes can be 0, 4, or 8 KB and RAM is 2 KB for the small devices and up to 32 KB for the big ones.

Figure 1 - Diagram of 128-pin RL78/G13 devices

The CPU is 16-bit, but the internal memory architecture is 8 bit. Its 32 general-purpose registers are organized in four banks of eight and can be used as 8- or 16-bit registers. The memory-mapped special function registers (SFRs) that control the on-chip peripherals can be addressed per bit, per byte, or as 16-bit registers, depending on the register. A second set of SFRs, the extended or second SFRs, are available too, but they need longer instructions to be accessed.

For those who need to squeeze the maximum out of MCU performance, it may be interesting to know that the CPU offers a short addressing mode enabling you to access a page of 256 bytes with a minimum amount of code.

The maximum clock frequency of the processor is 32 MHz, but the hardware user’s manual, which is almost 1,100 pages, interestingly also boasts about the ultra-low-speed capabilities of the processor as it can run from a 32.768-kHz clock.

The RL78 core features 15 I/O ports, most of which are 8-bit wide. Port 13 is 2-bit wide and ports 10 and 15 are 7-bit wide. The port pins that are actually available depend on the device. Inputs and outputs are highly configurable. Inputs can be analog, CMOS, or TTL. Outputs can be CMOS or N-channel open drain. Pull-up resistors are available too. The exact configuration possibilities depend on the port pin, so consult the datasheet. Because of the many configuration options, it is possible to use the MCU in multi-voltage systems without level-shifting circuitry except for the occasional external pull-up resistor. The chip can be powered from 1.6 V to 5.5 V, the core itself runs from 1.8 V provided by an internal voltage regulator.


Several options are available for the MCU clock. When clock precision is not too important, the MCU can be run from its internal clock, up to 32 MHz, otherwise it is possible to connect an external crystal, resonator, or oscillator. An internal low-speed clock (15 kHz) is also available, but not for the CPU, only for the watchdog timer (WDT), the real-time clock (RTC), and the interval timer.

The timers of the RL78 are flexible and offer many functions. Depending on the pin size of the device, you can have up to 16 16-bit timers, grouped in two arrays of eight. Each timer (called a “channel”) can function as an interval timer, square-wave generator, event counter, frequency divider, pulse-interval timer, pulse-duration timer, and delay counter. For even more possibilities, timers can be combined to create monostable multivibrators or to do pulse-width modulation (PWM). This way, up to seven PWM signals can be generated from one master timer. If you need more timers but resolution is less important, you can split some 16-bit timers in two 8-bit timers (this is not possible with all timers). Timer 7 of array 0 is extra special as it features local interconnect network (LIN) network support (see below).

Aside from date and time keeping with alarms, the RTC also provides constant period interrupts at 2 Hz and 1 Hz and also every minute, hour, day, or month. A 1-Hz output is available on devices with 40 or more pins. For extra precision, the RTC offers a correction register for fine tuning the 32,768-kHz clock. Unsurprisingly, the RTC continues operation when the MCU is stopped.

Now that I mentioned Stop mode, a special interval timer peripheral enables wakeup from this mode at periodic intervals. This timer is also used for the analog-to-digital converter’s (ADC’s) Snooze mode. More on that later. With a clock frequency of 32,768 Hz, the lowest interval rate is 8 Hz (0.125 ms).

Yet another time-related peripheral on the RL78 is the buzzer controller (not available on 20-pin devices). This is a clock output destined at IR comms carrier generation, to clock other chips in a system or to produce sound from a buzzer. A gate bit enables modulation of this output in such a way that pulses always have the same width.

Finally, a WDT completes the timing peripherals. It has a special Window mode that limits the time frame during which you can reset the watchdog to a fraction of the watchdog interval (50%, 75%, or 100%). Resetting the watchdog counter outside the window results in a reset. The window is open in the second part of the interval. An interrupt can be generated when the WDT reaches 75% of its time-out value, (i.e., when the watchdog reset window is known to be open in all cases). Figure 2 illustrates the mechanism.

Figure 2 - Trying to reset the watchdog counter when the window is closed results in an internal reset signal


The ADC is of the 10-bit successive approximation type and can have up to 26 inputs. Several triggering options are provided, hardware and software, where hardware triggering means triggering by a timer module (timer channel 1 end of count or capture, interval timer, or RTC). The time it takes to do a conversion depends partly on the triggering mode. When input stabilization is not too much of an issue (i.e., when you don’t switch inputs) you can achieve conversion times of just over 2 μs.

Two registers enable comparing the ADC’s output to maximum and minimum values, producing an interrupt when the new value is either in or out of bounds. This function is also available in Snooze mode. In this mode, the processor itself is stopped and consumes very little power, but ADC conversions continue under control of the hardware trigger. When a conversion triggers an ADC interrupt, the processor can then wake up from Snooze mode and resume normal operation.


The RL78 features multifunction serial units. The devices with 25 pins or less have one such unit, the others have two. Only serial unit 2 provides LIN bus support.

A serial unit can function in asynchronous UART mode, in synchronous CSI mode (three-wire bus with clock, data in and data out signals, master and slave mode supported), and in simplified (master-only) I²C mode. Again, depending on the device, you can have up to four UARTs or eight CSI and/or simplified I²C ports. Of course a mix is also possible. Full I²C is possible with the specialized I²C unit.

UART0 and UART2, CSI00 and CSI20 provide Snooze mode functionality similar to the ADC. In Snooze mode, these ports can be made to wake up on the arrival of incoming data without waking up the CPU. If the received data is interesting enough, it is also possible to wake up the CPU.

LIN communications are possible with UART2 together with Timer 7 of Array 0. The LIN bus is an inexpensive alternative to the CAN bus in automotive systems to control simple devices like switches, sensors, and actuators. LIN only uses one wire and is rather low speed (20 Kbps maximum). The timer takes care of the LIN synchronization issues and the UART performs the (de)serialisation of the data.

Full blown I²C communication is possible with the specialized I²C peripheral IICA. The 80-pin and more devices have two channels, the others only one. Communication speeds up to 20 MHz are permitted to enable I²C “fast mode” (3.5 MHz) and “fast mode plus” (10 MHz). This module is capable of waking up the CPU from Stop mode.


Of interest is the hardware multiplier and divider module intended for filtering and FFT functions. This module is capable of 16 × 16 bits signed and unsigned multiplications and divisions producing 32-bit results. It can also do 16 × 16 bit multiply-accumulate. We are talking about a module here, not an instruction, meaning that you have to load the operands yourself in special registers and get the result from yet another. The multiplication itself is done in one clock cycle, a division takes 16. The accumulate operation adds another cycle.

Another special math function is the binary-coded decimals (BCD) correction register that enables you to easily transform binary calculation results into BCD results.


To speed up data transport without loading the CPU, the RL78 core features direct memory access (DMA), up to four channels. DMA transfers up to 1,024 words of data (8 or 16 bit) to and from SFRs and RAM and they can be started by a range of interrupts (e.g., ADC, serial, timer). Although DMA transfers are done in parallel with normal CPU operation, it does slow down the CPU. For time-critical situations, it is possible to put a DMA transfer on hold for a number of clock cycles and let the CPU finish its job first.


Interrupts are pretty standard on the RL78 and many sources are available. The “key interrupt” function on the other hand is less common. It provides up to eight (depending on the device, you guessed it) key or push button inputs that are ORed together to generate an interrupt on a key press (active low).


Besides the aforementioned Stop and Snooze modes, the RL78 also provides a Halt mode. In this mode, the CPU is stopped but the clocks keep running, making a fast resume possible. In Stop mode, the clocks are stopped too reducing power consumption more than in Halt mode. Snooze mode is like Stop mode, but with one or more peripherals in a snoozing state, ready to wake up when something interesting happens. Interrupts can be used to wake up from Snooze, Stop, or Halt mode. A reset usually works too.

Reset, by the way, can have seven origins, three of which are related to safety functions: illegal instruction, RAM parity, and illegal memory access. Two others involve the power supply: power-on reset (POR) and low-voltage detection (LVD). All these reset options are needed to conform to the International Electrotechnical Commission (IEC) 60730-1 (“Automatic Electrical Controls for Household and Similar Use; Part 1: General Requirements”) and IEC 61508-SER (“Functional Safety of Electrical/Electronic/Programmable Electronic Safety-Related Systems”) safety standards. Since the RL78 is compliant, it also implements flash memory CRC checking, protections to prevent RAM and SFRs to be modified when the CPU stops functioning, an oscillator frequency-detection circuit, and an ADC self-test function.

The hardware used for the flash memory CRC check is also available as a general-purpose CRC module for user programs. It implements the standard CCITT CRC-16 polynomial (X^16 + X^12 + X^5 + 1).

The RAM guard function protects only up to 512 bytes, so be careful where you put your sensitive data.


Those familiar with the fuse bytes of PIC and AVR processors will be happy to know that the RL78 contains four of them, the option bytes that configure such things as the WDT, low-voltage detection, flash memory modes, clock frequencies, and debugging modes.

Flash memory is divided into two parts, program memory and data memory, and it can be programmed in-circuit over a serial interface. A boot partition is available too. This partition uses a kind of ping-pong mechanism called “boot swapping” to ensure that a valid bootloader is always programmed into the boot partition so that even power failures during bootloader programming will not harm the boot partition. A flash window function protects the memory against unintentionally reprogramming parts of it.


This concludes our voyage through the Renesas RL78 core. As you have seen, the RL78 offers many interesting peripherals all combined in a flexible low-power optimized design. Thanks to the integrated oscillator and other functions, an RL78 MCU can be used with very little external hardware, enabling inexpensive and compact designs. Once you master its Snooze mode and your low-power design skills, you can use this MCU family in battery-operated metering applications, for instance, but I am sure you can think of something more surprising.

Clemens Valens (c.valens@elektor.fr) is Editor-in-Chief of Elektor Online. He has more than 15 years of experience in embedded systems design. Clemens is currently interested in sound synthesis techniques, rapid prototyping, and the popularization of technology.


[1] Texas Instruments, Inc., “Ultra-Low Power MSP430 – The World’s Lowest Power MCU,” 201.

[2] Microchip Technology, Inc., “AN1267: nanoWatt and nanoWatt XLP Technologies: An Introduction to Microchip’s Low-Power Devices,” 2009.

[3] Renesas Electronics Corp., “RL78 Family,” www.renesas.com/pr/mcu/rl78/index.html.


International Electrotechnical Commission (IEC), “60730-1, Automatic Electrical Controls for Household and Similar Use; Part 1: General Requirements,” 2002.

———, “61508-SER, Functional Safety of Electrical/

Electronic/Programmable Electronic Safety-Related Systems,” 2010.

Renesas Electronics Corp., Renesas Rulz, “RL78/G13 Demonstration Kit,” www.renesasrulz.com/community/demoboards/rdkrl78g13.

For more information about the RL78 Family of microcontrollers, visit www.renesas.com.

For information about the 2012 Renesas RL78 Green Energy Challenge (in association with Elektor & Circuit Cellar), go to www.circuitcellar.com/RenesasRL78Challenge.

This article appears in Circuit Cellar 261 (April 2012).



Issue 261: The Deeply Embedded 8-Bit MCU

The 8 bit debate continues. Last week at Design West in San Jose, CA, the topic came up more than once, and I reported on Microchip Technology’s expanded 8-bit PIC16F(LF)178X midrange core MCU family.

Over the years, Circuit Cellar has published several articles on the topic. Back in Circuit Cellar 8 (1989) Tom Cantrell tackled the topic in an article titled “HD647180X: A New 8-Bit Microcontroller Embedded Controllers Get Respect.” In 2010 in Circuit Cellar 143 he tackled the topic again in an article titled “Live for Today: The 8-Bit MCU Still Matters.” This month in an editorial titled “8-Bit Control Is Dead – No Way!” (Circuit Cellar 261), Steve Ciarcia weighs in on the long-debated topic.

For years tech pundits have been predicting the end of 8-bit micros. Apparently, with the prices of 16- and 32-bit MCUs constantly dropping, and presuming you always want your application to do more stuff, there is no reason not to replace a less powerful MCU, right? In my opinion, it was a false assumption then, and it still is today.

We can’t look at this as a zero-sum game. Yes, 32-bitters open up all kinds of new opportunities for embedded processing, especially in the area of network-connected personal entertainment and information devices. But this doesn’t mean they’re a better fit in the low-end control and text-based applications that the 8-bitters have occupied for so long. The boundaries are certainly “fuzzy,” but consider how we tend to generally categorize MCUs.

At the low end, we have the 8-bit controllers which typically have 8-bit data and registers along with 16-bit address paths. This is a sweet spot for all kinds of control and text-based functions that simply don’t need to handle more than 64 KB of data at a time. The price/performance of the 8-bit chip should win this fight every time.

In the midrange, we have the 16-bit MCUs and lower-end 16-bit DSP chips. These chips can do a bunch more because they handle 16-bit data and have at least 24-bit address paths. There is often a hardware multiplier as well, which makes this class of chip ideal for many types of signal processing and audio applications.

At the high end, there is the 32-bit MCU/MPU (and higher-end DSPs) that have 32-bit data and address paths. These are the chips that have the power to drive an interactive graphical user interface and process video signals in real time.

It’s clear that chip manufacturers believe in the future of all three classes of MCU; just look at the innovations they continue to introduce at all levels. Fundamentally, as the silicon improves in terms of transistor density, more memory fits onto a smaller chip, and there’s more room for on-chip peripherals. Also, clock and power management has become a lot more flexible than ever before. The lower-end and midrange MCUs are all available with some combination of hardware timers (e.g., PWM, pulse capture, and motor control), communications (e.g., UART, SPI, I2C, CAN, USB, etc.), and analog interface (e.g., ADC, DAC, and touch). Some include hardware controllers for multiplexed LCDs or Ethernet interfaces.

At the higher end, in addition to all of that, we also see options like on-chip SDRAM controllers, SD memory and I/O controllers, Ethernet MAC (and sometimes PHY), mass storage (ATAPI, SATA) and video support, including in some cases a separate GPU core. Basically, everything you need to run a full-up operating system like Windows, MacOS, or Android.

Probably the greatest result of across-the-board lower MCU costs is that we will be seeing multiple chips where just one was used before. This has been the situation with automobiles for years where reliability has increased with lots of “smart”-control modules all networked together. Certainly, this make senses in a $30,000 car, but the concept is moving down the cost spectrum as well. Take your typical household washing machine or dryer that has a motor or two and a control panel. Instead of one chip handling all of the control functions and user interface I/O, there will be one (or two) motor controller chip with a communications interface (e.g, SPI, I2C, CAN, etc.) and a second chip with a communications interface along with an LCD controller and touch sensor support.

If the system designers are forward-thinking when they define the protocol by which these subsystems communicate, they’ll end up with intelligent building blocks (e.g., “smart motor,” “smart valve,” “smart sensor”) that can be easily reused in other products, keeping manufacturing costs low. The modules themselves will be reliable and energy-efficient, contributing substantially to end-user satisfaction and low recurring costs. The key is to make each module just smart enough without going overboard on processing power or overloading it with a top-heavy protocol.

And, that’s where the lowly 8-bit MCU shines. A smart valve that just needs to sit on a LIN or 1-wire bus, operate a solenoid, and verify that it opened or closed doesn’t need a lot of CPU cycles or 32-bit addressing to do the job. One of the tiny 8-bitters in a six- or eight-pin package will do nicely, and might even cost less than the manufacturing cost and testing of the dedicated wiring harness needed to do the job in the traditional way. There’s no way a 16-bit or 32-bit MCU makes sense in this context. But more importantly, these lowly control tasks aren’t going to go away. In fact, I think you’ll be seeing a lot more of them and they’ll all need MCUs. So, although it will be less visible, the 8-bit MCU will still be deeply embedded in increasingly subtle, but important, parts of your life, working hard so you don’t have to.


Design West Update: Advanced 8-Bit MCUs

Is the 8-bit MCU dead? No. And if you take a look at Microchip Technology’s PIC16F(LF)178x family, it’s clear that it will be around for a long time to come.

Microchip Technology announced Monday from Design West in San Jose, CA, that it “expanded its 8-bit PIC16F(LF)178X midrange core MCU family to include advanced analog and integrated communication peripherals, such as on-chip 12-bit analog-to-digital converters (ADCs), 8-bit digital-to-analog converters (DACs), operational amplifiers, and high-speed comparators, along with EUSART (including LIN), I2C, and SPI interface peripherals.”

Microchip claims the low power consumption and advanced analog and digital integration make the MCUs (28- and 40-pin packages) well suited for lighting (LED), battery management, motor control, and more.

Check out the specs and more details at www.microchip.com/pagehandler/en-us/family/8bit/.

Build a CNC Panel Cutter Controller

Want a CNC panel cutter and controller for your lab, hackspace, or workspace? James Koehler of Canada built an NXP Semiconductors mbed-based system to control a three-axis milling machine, which he uses to cut panels for electronic equipment. You can customize one yourself.

Panel Cutter Controller (Source: James Koehler)

According to Koehler:

Modern electronic equipment often requires front panels with large cut-outs for LCD’s, for meters and, in general, openings more complicated than can be made with a drill. It is tedious to do this by hand and difficult to achieve a nice finished appearance. This controller allows it to be done simply, quickly and to be replicated exactly.

Koehler’s design is an interesting alternative to a PC program. The self-contained controller enables him to run a milling machine either manually or automatically (following a script) without having to clutter his workspace with a PC. It’s both effective and space-saving!

The Controller Setup (Source: James Koehler)

How does it work? The design controls three stepping motors.

The Complete System (Source: James Koehler)

Inside the controller are a power supply and a PCB, which carries the NXP mbed module plus the necessary interface circuitry and a socket for an SD card.

The Controller (Source: James Koehler)

Koehler explains:

In use, a piece of material for the panel is clamped onto the milling machine table and the cutting tool is moved to a starting position using the rotary encoders. Then the controller is switched to its ‘automatic’ mode and a script on the SD card is then followed to cut the panel. A very simple ‘language’ is used for the script; to go to any particular (x, y) position, to lift the cutting tool, to lower the cutting tool, to cut a rectangle of any dimension and to cut a circle of any dimension, etc. More complex instructions sequences such as those needed to cut the rectangular opening plus four mounting holes for a LCD are just combinations, called macros, of those simple instructions; every new device (meter mounting holes, LCD mounts, etc.) will have its own macro. The complete script for a particular panel can be any combination of simple commands plus macros. The milling machine, a Taig ‘micro mill’, with stepping motors is shown in Figure 2. In its ‘manual’ mode, the system can be used as a conventional three axis mill controlled via the rotary encoders. The absolute position of the cutting tool is displayed in units of either inches, mm or thousandths of an inch.

Click here to read Koehler’s project abstract. Click here to read his complete documentation PDF, which includes block diagrams, schematics, and more.

This project won Third Place in the 2010 NXP mbed Design Challenge and is posted as per the terms of the Challenge.



Issue 261: Renesas RL78, Cap Touch, Synapse SNAP, & More!

Here’s a sneak peek at the projects and topics slated for the April issue of Circuit Cellar: Linux software development tools, DIY cap-touch, gain-controlled amplifier; color classification reader; start designing with the Renesas RL78 microcontroller; an introduction to sigma-delta modulators; RFI bypassing, with a focus on parallel capacitors; mesh networking simplified with SNAP technology; and more.


Clemens Valens introduces the Renesas Electronics RL78:

Click the image to link to the Renesas product page

Jeff Bachiochi takes a close look at Synapse Wireless SNAP technology:

Click the image to link to the Synapse-Wireless Kit webpage

Ed Nisley presents Part 2 of his article series “RFI Bypassing”:

The tracking generator output and spectrum analyzer input connect to adjacent PCB pads on the left of the SMD capacitor. Connecting the spectrum analyzer to the pad on the right side changes the measured self-resonant frequency.

The April issue will hit newsstands in late March.

Raspberry Pi: Is It for You?

Unless you’ve been locked in your lab or design studio for the past several weeks, you’ve likely heard about Raspberry Pi, which is a compact, affordable computer that has been creating a buzz on the ‘Net for some time now. The group behind the computer is the Raspberry Pi Foundation, which is a UK-based charity that has an ever-growing following of more than 52,000 followers on Twitter!

(Source: TechTheFuture.com and The Raspberry Pi Foundation)

According to the Raspberry Pi Foundation, “The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.”

The 85.60 mm × 53.98 mm × 17 mm Raspberry Pi weighs in at 45 g. It features a Broadcom BCM2835, including an ARM1176JZFS and a Videocore 4 GPU.

So, how can Circuit Cellar members use Raspberry Pi? Well, look at it in three ways. One, you can use it in a design of your own. Grab one and start building as soon as you can get your hands on one. Two, you can learn from the “story” of the Raspberry Pi Foundation—how it formed, how it works as a charity—and consider launching a tech foundation of your own. Three, you can design a low-cost embedded design platform or rapid prototyping solution—something distinguishable from the usual suspects of Arduino and mbed—and bring it to market.

In a recent post titled “What Are You Doing!?” at TechTheFuture.com, Tessel Renzenbrink detailed an interview with Eben Upton, a founder and trustee of the Raspberry Pi Foundation. Tessel writes:

Raspberry Pi is grabbing the attention with a $25 computer ($35 for a networked model). In the middle of the storm is Eben Upton. Why is he convinced that a computer which has no casing, no keyboard, no HD and no screen, will be successful? It is time to put the question to him: ‘what are you doing?’

‘We wanted to have a computer especially for Python, and there is a great tradition of naming computers after fruit: like Apricot, Acorn and even today there are computers named after fruit. So Raspberry is following the line of a rich tradition with the Pi, and yes, we wanted this connection with Python. That is where the Pi comes in’, explains Eben when asked for the name Raspberry Pi. And why is it a charity that brings this computer to the market? ‘That all has to do with value creation’, Eben continues. ‘I’ve been involved in several start-ups and then you always end up with the question; how will this create value?’. ‘In this case I do not have to worry about creating value. I can concentrate on designing and producing the board. The Raspberry Pi can be seen as a ‘white label’ product. If there are people out there with a commercial idea for this product, they are more then welcome’.

The Raspberry Pi is a bare PCB board; no keyboard, no HD, no screen.. how will this product become successful? ‘Basically, there is no reason why a computer has to cost more than $50. The peripherals like a screen and keyboard and storage will create a higher price, but with the Raspberry Pi we have taken another route – a normal TV can be used as a screen’, comments Eben. ‘Combine that with a ‘charity shop’ keyboard for a few dollars and you have a full working system’. He further emphazises that ‘the Raspberry is specifically aiming at youngsters learning to program’.

And how about the Raspberry Pi being ‘the next big thing’ after Arduino? There are many hints in that direction on the Internet? ‘The Raspberry Pi is different from the Arduino. The Arduino is great for direct applications and there are dozens of programs available. The Raspberry Pi is a computer system – designed to work with a screen and keyboard, a completely different idea. You can even watch videos with this thing. What might be interesting is the possibility to use the Raspberry Pi as a host for the Arduino board – the combination of these two, resulting in low priced systems can be very interesting and useful’.

‘There is also a difference the flexibility and usability, adds Eben. We have chosen for Broadcom chips and they are not easy to get in the market, making it very difficult to call the Raspberry Pi an ‘open source’ project. We are hoping to take this development into the open source direction, but that will require a new design’.

Can designers use the Raspberry Pi for different applications? ‘Yes, no problem. There is plenty of I/O (I2C and UART) to start using it for whatever challenges you’.

The first batch of 10,000 Pi’s has now arrived from the factory – what will be the next step? ‘Another 10,000 we hope and that is all just the start of it…’

You can read the entire post at TechTheFuture.com.

If you want to check out other kits and modules, visit the CC Webshop.

TechTheFuture.com is part of the Elektor group.


Weekly Elektor Wrap Up: Laser, Digital Peak Level Meter, & “Wolverine” MCU

It’s Friday, so it’s time for a review of Elektor news and content. Among the numerous interesting things Elektor covered this week were a laser project, a digital peak level meter for audio engineering enthusiasts, and an exciting new ultra-low-power MCU.

Are you an embedded designer who wants to start a laser project? Read about “the world’s smallest laser”:

What is the biggest constraint in creating tiny lasers? Pump power. Yes sir, all lasers require a certain amount of pump power from an outside source to begin emitting a coherent beam of light and the smaller a laser is, the greater the pump power needed to reach this state. The laser cavity consists of a tiny metal rod enclosed by a ring of metal-coated, quantum wells of semiconductor material. A team of researchers from the University of California has developed a technique that uses quantum electrodynamic effects in coaxial nanocavities to lower the amount of pump power needed. This allowed them to build the world’s smallest room-temperature, continuous wave laser. The whole device is only half a micron in diameter (human hair has on average a thickness of 50 micron).

The nanolaser design appears to be scalable – meaning that they could be shrunk to even smaller sizes – an important feature that would make it possible to harvest laser light from even smaller structures. Applications for such lasers could include tiny biochemical sensors or high-resolution displays, but the researchers are still working out the theory behind how these tiny lasers operate. They would also like to find a way to pump the lasers electrically instead of optically.

Be sure to check out Elektor’s laser projection project.

In other news, Elektor reached out to audio engineering-minded audio enthusiasts and presented an interesting project:

Are you an audio amateur hobbyist or professional? Do you try to avoid clipping in your recordings? To help you get your audio levels right, in January 2012 Elektor published a professional-quality peak level meter featuring 2x 40 LEDs, controlled by a powerful digital signal processor (DSP). As part of the eight-lesson course on Audio DSP, all the theory behind the meter was explained, and the accompanying source code was made available as a free download.

The DSP Board has been available for a while, and now we are proud to announce that the Digital Peak Level Meter is available as an Elektor quality kit for you to build. Although the meter was designed as an extension module for the Audio DSP board, it can be used with any microcontroller capable of providing SPI-compatible signals. So get your Peak Level Meter now and add a professional touch to your recording studio!

And lastly, on the MCU front, Elektor ran interesting piece about the Texas Instruments “Wolverine,” which should be available for sampling in June 2012:

Codenamed “Wolverine” for its aggressive power-saving technology, the improved ultra-low-power MSP430 microcontroller platform from Texas Instruments offers at least 50 % less power consumption than any other microcontroller in the industry: 360 nA real-time clock mode and less than 100 µA/MHz active power consumption. Typical battery powered applications spend as much as 99.9 % of their time in standby mode; Wolverine-based devices can consume as little as 360 nA in standby mode, more than doubling battery life.

Wolverine’s low power performance is made possible by using one unified ferromagnetic RAM (FRAM) for code and data instead of traditional Flash and SRAM memories, allowing them to consume 250 times less energy per bit compared to Flash- and EEPROM-based microcontrollers. Power consumption is further reduced thanks to an ultra low leakage  process technology that offers a 10x improvement in leakage and optimized mixed signal capabilities.

MSP430FR58xx microcontrollers based on the Wolverine technology platform will be available for sampling in June 2012.

Circuit Cellar and CircuitCellar.com are part of the Elektor group.


DIY Cap-Touch Amp for Mobile Audio

Why buy an amp for your iPod or MP3 player when you can build your own? With the proper parts and a proven plan of action, you can craft a custom personal audio amp to suit your needs. Plus, hitting the workbench with some chips and PCB is much more exciting than ordering an amp online.

In the April 2012 issue of Circuit Cellar, Coleton Denninger and Jeremy Lichtenfeld write about a capacitive-touch, gain-controlled amplifier while studying at Camosun College in Canada. The design features a Cypress Semiconductor CY8C29466-24PXI PSoC, a Microchip Technology mTouch microcontroller, and a Texas Instruments TPA1517.

Denninger and Lichtenfeld write:

Since every kid and his dog owns an iPod, an MP3 player, or some other type of personal audio device, it made sense to build a personal audio amplifier (see Photo 1). The tough choices were how we were going to make it stand out enough to attract kids who already own high-end electronics and how we were going to do it with a budget of around $40…

The capacitive-touch stage of the personal audio amp (Source: C. Denninger & J. Lichtenfeld)

Our first concern was how we were going to mix and amplify the low-power audio input signals from iPods, microphones, and electric guitars. We decided to have a couple of different inputs, and we wanted stereo and mono outputs. After doing some extensive research, we chose to use the Cypress Semiconductors CY8C29466-24PXI programmable system-on-chip (PSoC). This enabled us to digitally mix and vary the low-power amplification using the programmable gain amplifiers and switched capacitor blocks. It also came in a convenient 28-pin DIP package that followed our design guidelines. Not only was it perfect for our design, but the product and developer online support forums for all of Cypress’s products were very helpful.
Let’s face it: mechanical switches and pots are fast becoming obsolete in the world of consumer electronics (not to mention costly when compared to other alternatives). This is why we decided to use capacitive-touch sensing to control the low-power gain. Why turn a potentiometer or push a switch when your finger comes pre-equipped with conductive electrolytes? We accomplished this capacitive touch using Microchip Technology’s mTouch Sensing Solutions series of 8-bit microcontrollers. …


The audio mixer flowchart

Who doesn’t like a little bit of a light show? We used the same aforementioned PIC, but implemented it as a voltage unit meter. This meter averaged out our output signal level and indicated via LEDs the peaks in the music played. Essentially, while you listen to your favorite beats, the amplifier will beat with you! …
This amp needed to have a bit of kick when it came to the output. We’re not talking about eardrum-bursting power, but we wanted to have decent quality with enough power to fill an average-sized room with sound. We decided to go with a Class AB audio amplifier—the TPA1517 from Texas Instruments (TI) to be exact. The TPA1517 is a stereo audio-power amplifier that contains two identical amplifiers capable of delivering 6 W per channel of continuous average power into a 4-Ω load. This quality chip is easy to implement. And at only a couple of bucks, it’s an affordable choice!


The power amplification stage of the personal audio amp (Souce: C. Denninger & J. Lichtenfeld)

The complete article—with a schematic, diagrams, and code—will appear in Circuit Cellar 261 (April 2012).








Aerial Robot Demonstration Wows at TEDTalk

In a TEDTalk Thursday, engineer Vijay Kumar presented an exciting innovation in the field of unmanned aerial vehicle (UAV) technology. He detailed how a team of UPenn engineers retrofitted compact aerial robots with embedded technologies that enable them to swarm and operate as a team to take on a variety of remarkable tasks. A swarm can complete construction projects, orchestrate a nine-instrument piece of music, and much more.

The 0.1-lb aerial robot Kumar presented on stage—built by UPenn students Alex Kushleyev and Daniel Mellinger—consumed approximately 15 W, he said. The 8-inch design—which can operate outdoors or indoors without GPS—featured onboard accelerometers, gyros, and processors.

“An on-board processor essentially looks at what motions need to be executed, and combines these motions, and figures out what commands to send to the motors 600 times a second,” Kumar said.

Watch the video for the entire talk and demonstration. Nine aerial robots play six instruments at the 14:49 minute mark.

Q&A: Hanno Sander on Robotics

I met Hanno Sander in 2008 at the Embedded Systems Conference in San Jose, CA. At the time, Hanno was at the Parallax booth demonstrating a Propeller-based, two-wheeled balancing robot. Several months later, we published an article he wrote about the project in issue March 2009. Today, Hanno runs HannoWare and works with school systems to improve youth education by focusing technological innovation in classrooms.

Hanno Sander at Work

The March issue of Circuit Cellar, which will hit newsstands soon, features an in-depth interview with Hanno. It’s an inspirational story for experienced and novice roboticists alike.

Hanno Sander's Turing maching debugged with ViewPort

Here’s an excerpt from the interview:

HannoWare is my attempt to share my hobbies with others while keeping my kids fed and wife happy. It started with me simply selling software online but is now a business developing and selling software, hardware, and courseware directly and through distributors. I get a kick out of collaborating with top engineers on our projects and love hearing from customers about their success.

Our first product was the ViewPort development environment for the Parallax Propeller, which features both traditional tools like line-by-line stepping and breakpoints as well as real-time graphs of variables and pin I/O states to help developers debug their firmware. ViewPort has been used for applications ranging from creating a hobby Turing machine to calibrating a resolver for a 6-MW motor. 12Blocks is a visual programming language for hobby microcontrollers.

The drag-n-drop style of programming with customizable blocks makes it ideal for novice programmers. Like ViewPort, 12Blocks uses rich graphics to help programmers understand what’s going on inside the processor.

The ability to view and edit the underlying sourcecode simplifies transition to text languages like BASIC and C when appropriate. TBot is the result of an Internetonly collaboration with Chad George, a very talented roboticist. Our goal for the robot was to excel at typical robot challenges in its stock configuration while also allowing users to customize the platform to their needs. A full set of sensors and actuators accomplish the former while the metal frame, expansion ports, and software libraries satisfy the latter.

Click here to read the entire interview.