“Most people think glamour is happiness.” – Peter Falk
They say sex sells, maybe even in the MCU business. Once found only in dull products like coffee makers, washing machines, and industrial tools, microcontrollers (MCUs) are now in flashy and exciting products like… coffee makers and washing machines. What’s different now is that those embedded systems are a lot more glamorous, sexy-looking, and consumer-oriented than ever before.
Just look at a Nest thermostat. It’s a $250 device (yikes!) that replaces your average, run-of-the-mill, hardware-store home thermostat. What could be more mundane and unsexy than a thermostat? But Nest (now part of the Alphabet empire) made thermostats cool and aspirational, like parking an Aston Martin in your driveway.
That sudden appeal had nothing to do with mercury switches or bimetallic coils, either. It wasn’t what’s inside the thermostat that made Nest popular – it’s what’s outside. It just looks cool (for a thermostat, anyway). The same goes for the newest washers and dryers on display in your local home-appliance store. “White goods” (the pejorative term for home appliances) doesn’t apply anymore. “Color LCD, Wi-Fi-equipped, brushed stainless, app-enabled consumer items” might be a more apt description.
So appliance makers, machinists, and metal benders all over the world are learning how to code. They’re turning their interfaces around: from turning knobs to tapping icons. That’s good news for MCU makers, and good news for embedded programmers seeking employment. It’s especially good news for LCD vendors. Combine all three and you’ve got the makings of the ideal consumer GUI.
Enter Microchip and its new PIC32MZDA family of MCUs. It’s yet another addition to the bewildering array of existing Microchip MCUs that already cover every conceivable niche in the microcontroller ecosystem. (Corporate interview question: Name five alphanumeric combinations Microchip hasn’t already used as a part number.) What makes the Mazda – sorry, the MZDA series – different is the sex appeal.
That allure comes courtesy of an on-chip 2D GPU and a pile of embedded DRAM. The MZDA is really two chips in one: a conventional logic device and a die-bonded DRAM, all in the same package. The flip-chip memory is a first for Microchip, though far from unique in the industry.
Why the cohabitating DRAM? Because Microchip wants to you keep your graphics display buffer to yourself, on-chip, rather than using off-chip memory. That reduces pin count substantially, diminishes RF radiation, trims power consumption by a bit, and slightly increases security (no outside pins to probe). The internal DRAM measures 32MB in size, more than enough to store your frame buffer and probably a fair amount of your code, heap, or stack as well.
That’s not to say the MZDA chips can’t use external RAM; they certainly can. But Microchip sees the integrated memory as a way to reduce package count for appliances that don’t need more than 32MB total memory.
The other half of this sexy duo is the GPU itself. It’s not an original cleanroom Microchip design, but Vivante’s GC200 engine, a popular 2D processor that seemingly appears in every Android handset and tablet ever made. The GC200 isn’t in quite the same performance league as ARM’s Mali or Imagination’s PowerVR, but it’s more than adequate for your average thermostat, washing machine, or coffee maker. For now, at least.
The GPU and its ancillary components can drive nearly any medium-sized LCD screen directly, with little or no external circuitry needed. It supports 1280×1024 resolution (that’s SXGA, for you graphics aficionados) with 24-bit color depth. The comparatively high resolution, combined with the full-spectrum color depth, means the MZDA chips can produce remarkably nice-looking displays. Nice for a $10 microcontroller, anyway.
The GPU also handles three display layers, so you can, for example, have a static background image overlaid with moving gauges that are, in turn, overlaid with text or warning indicators. In other words, you can change part of the scene (the number on a thermometer, for instance) without re-rendering the whole scene.
If 24 bits of color seems like overkill for your application, and you don’t want to squander megabytes of RAM on a big frame buffer, the MZDA chips also support a 256-color mode. Unlike GPUs of a decade ago, however, that doesn’t mean you’re limited to just 256 “crayon” colors equally spread across the color wheel. Through the magic of a color lookup table (CLUT), you get to choose which 256 colors you want out of the entire 24-bit spectrum. That means you can shrink your frame buffer and still match Pantone colors. A marriage of art and science.
Recognizing that many of its customers will be using LCD displays and designing GUIs for the first time, Microchip offers some fairly idiot-proof programming tools along with the MZDA family. Harmony Configurator, Harmony Graphics Composer, and Harmony Display Manager make hooking up your first LCD very straightforward. Display Manager, for example, auto-generates the fiddly LCD driver code for you. It doesn’t even need to know what make and model of LCD screen you’re using. It simply asks for a few datasheet parameters and takes it from there.
Naturally, there will be 40 different part numbers for all the assorted MZDA variants, depending on what package you want, the amount of internal memory, and whether you want crypto features or not. And, just as predictably, there will be low-cost evaluation boards, starting at $130.
Just like word processors and blogging sites allowed anyone to become a published author, even those demonstrably unsuited to it, Microchip’s new MZDA devices and their associated software enable just about anybody to design an embedded GUI with pretty colors, layering, sprites, transparency, and all the neat tricks of a modern graphical user interface. Whether that will make our thermostats, washers, and coffee makers more usable is a different question entirely.