When it comes to displays, there is a gap between a traditional microcontroller and a Linux system-on-a-chip (SoC). The SoC that lives in a smartphone will always have enough RAM for a framebuffer and usually has a few pins dedicated to an LCD interface. Today, Microchip has announced a microcontroller that blurs the lines between what can be done with an SoC and what can be done with a microcontroller. The PIC32MZ ‘DA’ family of microcontrollers is designed for graphics applications and comes with a boatload of RAM and a dedicated GPU.
The key feature for this chip is a boatload of RAM for a framebuffer and a 2D GPU. The PIC32MZ DA family includes packages with 32 MB of integrated DRAM designed to be used as framebuffers. Support for 24-bit color on SXGA (1280 x 1024) panels is included. There’s also a 2D GPU in there with support for sprites, blitting, alpha blending, line drawing, and filling rectangles. No, it can’t play Crysis — just to get that meme out of the way — but it is an excellent platform for GUIs.
The PIC32MZ DA chips are available in three packages, including a 169-pin BGA, a 288-pin BGA, and a 176-pin LQFP. Program size for these chips is either 1024 KB or 2048 KB and data memory is either 256 KB or 640 KB. The PICs come with an option for an DDR2 controller with an optional “on die” 32 MB of DDR2 SDRAM. This ‘on die’ SDRAM specifically isn’t; instead, we’re looking at something like a package-on-package component. Either way, some of these parts come with 32 MB of DDR2 encapsulated in a blob of epoxy.
Two starter kits for the PIC32MZ DA will be available shortly, one featuring the stacked DRAM, and the other featuring external DRAM. Additionally, a WQVGA touchscreen daughterboard will also be available. This daughterboard is not necessary, though, and Microchip has put a lot of effort into creating new tools to get LCD panels up and running quickly. A new version of the MPLAB IDE features a Display Manager, that allows a developer to generate drivers for any display in minutes.
The volume pricing for the PIC32MZ DA starts at $7.73 in 10k unit quantities.
GPUs are the in thing right now, and between the latest from Nvidia and tiny cheap ARM boards that can push pixels to a 4k display, you could be forgiven to think the only way to add a large, high-resolution display to a product is to include a Linux-based SoC. The PIC32MZ DA is a bridge between these SoCs and traditional microcontrollers, allowing for simpler boards with easier routing that are still able to pump pixels out to a display.
This is a small personal observation, but since the release of the Raspberry Pi and the deluge of cheap ARM boards with HDMI, Hackaday hasn’t seen many microcontrollers used for video applications. There are always people messing around with VGA, but remember that the Uzebox was at one time a very popular product. Part of this is due to the increasing availability of Linux-based boards, but part of it is also due to the tiny amount of RAM microcontrollers are still shipping with. This is a very cool chip, and we can’t wait to see what it will eventually wind up in.
63 thoughts on “Microchip’s PIC32MZ DA — The Microcontroller With A GPU”
Looks like a good fit for the example they give – a coffee maker UI. The one at work is a touch-screen that looks similar, but it certainly doesn’t need more than the 2D functions listed here, or more than 32MB.
The only issue is cost, when you can get a full ARM SoC with GPU and 1GB memory for under $10… isn’t the low-end Pi using a $5 SoC including RAM?
The entire low end Pi is $5, so it’s using a very cheap SoC (~$1).
Pee zero is a bad example (availability), but low end Chinese SoCs are there for >5 years now at single digit dollar price for whole system.
Pi Zero is a loss leader. They can’t make it at $5 which is why they’re always out of stock. Broadcom don’t supply BCM2835 to whoever’s unknown company, and a real CPU like that is going to be PITA to debug if you’re spinning your own board. Whereas Microchip…
At over $7 each just for the chip, it’s going to be a tough sell when the Pi Zero (without wireless) retails at $5 each, unless you can make use of the features the Pi doesn’t have like a high speed ADC. Of which, 18MHz sample rate would make a pretty decent SDR.
It may be a tough sell for a hobbyist, but not for someone looking to source these for a product. When you’re building a product, the supply chain is as important as the parts you choose. So while you get potentially better performance from a Pi Zero at $2 less, you may not be able to source them in quantity. There’s also the value in having variety in the product market. I’ve often thought a part wouldn’t be worth producing only to be proven wrong by others who saw a niche for it that I never would have.
Yeah, a closer competitor might be something like the $6 Next Thing Co GR8 system-on-module with on-package DDR3 RAM, if they’ve got the supply chain for that sorted out (which is always a big if).
Next Thing will be going out of business soon. They laid off most of the company in January. I wouldn’t recommend their products for anything.
Next Thing will most likely be going out of business soon. They laid off most of the company in January. I wouldn’t recommend their products for anything.
Saying this (twice) doesn’t necessarily make it true. References?
What’s funny bit, is that – minus an MMU – this thing is far more capable than the first engineering workstations based on the original R2000 and R3000 MIPS CPUs which sold for tens of thousands of dollars.
Ah, kids today! The MIPS M500 had a R1000 in it. Not one of those new fangled R2Ks. Now get of my lawn! :-)
We had two M500s at Harris to port MACH to the MIPS processor way back when.
But cursory look into the datasheet says it has MMU (or at least it is mentioned)
Actually, all the PIC32MZ line have a standard MIPS page-mode MMU (including support for mixed huge page sizes, so you can have 4k pages alongside 64k pages alongside 256M pages). Given the TLB is only 16 entries but on a small machine like this that isn’t bad.
Not a tough sell at all when you cannot buy a Pi Zero in anything approaching 10k quantities.
The Pi foundation makes a point of not making it easy for the product to be used in any sort of mass-produced application.
It’s still hard to buy a PiZero in the U.S. for under $25.00. Adafruit sells them for $10.00, that’s when they’re in stock.
So it’s a no go for production volumes.
I can also see a use for it in retro systems and apps that don’t need Linux and the overhead/IO laterncies introduces.
And the P0 needs an SD card (+$ and -reliability) and realistically has to load an OS if you want a display.
Sounds like a one-chip retrocomputer in the making, to me…
Give it time, someone will make it play doom (:
When they mentioned it nut running “crysis” that was my thought: “But perhaps doom.” :-)
I was thinking that too.
Check out “maximite”
He actually did it without a built-in GPU, I think.
It’s not that tough of a sell when you can’t buy a Raspberry Pi Zero in quantity > 1. Maybe a tough sell to hacker types, but that’s not the intended market (of just about any silicon, for that matter).
Doubtful. The “GPU” seems to be 2d fixed-function. You need something programmable instead to actually do the Bitcoin calculations.
Good for a keyboard with an LCD display.
Interesting. Espressif is working on a variant of the ESP32 called “Wrover” that has a few megabytes of pSRAM attached via SPI, but no GPU. Wonder what the pricing will be.
This looks like a nice SoC for a retro console!
You spelled “DOOM” wrong!
Have a look on Cypress FM4 or Travel, there you have an ARM M4 or R5 and also a GPU, which can even do 3D in some versions.
Or a Renesas S7 although there currently isn’t a version with the DRAM in the same package.
32 MB of built-in video memory and only 640 KB of main RAM??? This thing desperately needs unified memory.
BTW, if anyone wants this plus an extra CPU, a lot of RAM, 3D, HW video decoding and more: http://hackaday.com/2012/10/08/stm32-driving-a-pcie-video-card/
except you cant replicate this hack, authors github repo was always empty, and he tried his best to stay anonymous, probably because he based his work on NDA documentation.
640kb should be enough for everyone :)
on the serious note, what is preventing to use the video memory as common memory?
It’s possible that the CPU cache is only set up to work with SRAM since it likely has different timing requirements than DRAM. The PIC32 can run out of RAM which is unusual for a PIC, so I guess we’ll have to see whether it’s actually possible or not to use data directly out of the video RAM.
Instructions fetching bus?
The 32MB sdram isn’t limited to GPU, so I guess you could call it ‘unified memory’ already.
“GPUs are the in thing right now”
Been working with GPU’s for twenty years now, I think they can now be considered an established technology.
There has also been many 2D accelerated micro controllers, some even with OpenVG acceleration, before this.
The line between what a micro controller is and a SoC is so blurred I don’t think you could even call it a line.
Rather than starting the this-is-not-a-hack-discussion, I’d like to start the this-is-a-pathetic-advertisement-discussion.
Neither the technology is new (STM32F4 and F7 are on the market for years now with similar “GPU”-like peripherals) and nor is the MCHP cores worth to mention (no real innovative feature found yet).
There is nothing to discuss about it, because regular readers already know that Benchhoff is responsible for sponsor’s brand placement (and the usual product’s praise based solely on the press release documents, mandatory to every successful tech blog). Are you new here ??
That explains such statement as “The volume pricing for the PIC32MZ DA starts at $7.73 in 10k unit quantities.” which is rather ridiculous on a blog mostly aimed at DIY hackers and hobbyists, but was probably chosen to maximize a sense of affordability.
Now the reallity wouldn’t fit that well in this promotional presentation :
– At present, the GPU feature is rougly described in only ONE of the 800 pages datasheet exclusively dedicated to this new chip ! (page 603 of linked pdf)
– The listed launch price for a single unit order of the chip is $15.6 WITHOUT the integrated 32MB DDR2 SDRAM (and 256KB RAM only) at the international electronic components retailer Mouser.
And it starts at $22 for the 32MB + 640KB models. This is perhaps coherently priced for this range of devices, but really far from the inapropriate (if not misleading) amount advertised here.
> Benchhoff is responsible for sponsor’s brand placement
False. Keep in mind the burden of proof is on you.
> based solely on the press release documents
False. Had a nice chat with a few of the engineers working on this. Of course, this post was coordinated with Microchip PR under embargo — just like this post on the verge, this post on Wired, and, if you want to go historic, this cover story from Popular Electronics. Coordinating a post, story, or publication in conjunction with a manufacturer/person of interest/whatever is standard practice for literally all media.
> which is rather ridiculous on a blog mostly aimed at DIY hackers and hobbyists…
You know they just don’t come out and say what the quantity one pricing will be, right? I doubt Microchip has even calculated the quantity one pricing. They probably let Mouser or Digikey or whoever do that. Keep in mind this post was written before quantity one pricing was available.
How about you reserve those claims of Hackaday selling out for a time when we actually do sell out?
Glad that you can give us some perspective about your practices, with historical examples of infomercial in tech publications :D
One thing is the Truth, what happened behind the curtains, etc.., another is how what you publish sounds like. For the proof : https://hackaday.com/author/brianbenchoff/ :) I was thinking of many similar annoucement you made, like the new Arduino Cinque recently, or all the sponsored “Hackaday Prize” articles, but that was mostly sarcasm anyway.
For the quantity one pricing, I just tried the 176-pin LQFP (usually preferred to BGA for hand-soldering) references found in the datasheet on Mouser’s online shop to get their price per unit, and gave it as an indicator of the average retail price, so it’s available today.
Now I can believe the chips were not listed by any resellers at time of writing, and that Microchip won’t bother calculating the probable “one unit order” price, but as you mentionned the price (granted, not the main point about this long awaited and interesting PIC32 with GPU). Nonetheless you could have suggested, based on your market knowledge, a possible unit price over $20 to give a lot more relevant idea of the price point from the average hobbyist / small batch producer / HaD reader point of view.
You might want to check microchipdirect.com for pricing, they are listed there in qanitys as low as 1, and the do start at well below $20. Or you can just shoot from the hip as well.
hrmm nobody said yet “FAIL!”
its doomed it cant even go full HD according to the article
You know unless you’re a gamer or watching pirated movies you don’t need HD.
The fact is a lot I&C apps, medical, CNC just don’t need HD. A good visual display is all they need and this fits the bill.
Lichee Pi Zero $6 with SoC Allwinner V3s 1.2GHz, integrates 64MB DRAM, supports video 1080p 30fps and 128-pin eLQFP.
Google does seem to find something on indiegogo, but yes links would be nice.
That is a butt ugly “Coffee Maker GUI”
Now they just need a 176-pin LQFP-to-DIP adapter for prototyping
Anybody seen anything about running linux on these thigns
It’s not even out yet.
And its designed so you don’t need Linux to do graphics – like the EVE modules that FTDI sells. Which makes it cool, you get a GUI without the Linux bloat and can do real time I/O as well.
Excellent for certain embedded and retro apps.
Exactly! This should start up “instantly”, compared to a Linux system which has to boot up.
Yes. it is out. Parts are orderable from Microchip.. Dev Kit has shipped to me…
that repo seems very quiet. Is there anything more upto date>
retroBSD would also be an interesting OS target for this. Considering that it runs on dsPIC32 currently.
And there likely is some BSD port for MIPS.
So much hate in the comments, but this may actually be perfect for my next project! I want a decent GUI but don’t want a SoC or the need to run Linux or “boot up” on start. I don’t need HD video or wireless, just a reasonably pretty screen with good draw time for rather basic graphics, menus, and plots. I’d love to get my hands on a dev kit for one of these!
STM32 (ChromeArt), Renesas Synergy and RH850 (D/AVE2D) already had a “GPU”, and these are CM4 or equivalent types of devices. GPU in a device with 32MB of RAM (not even static) is nothing new, as most dedicated SoC’s that run RTOS’es or Linux have a powerful GPUT (often with AVC/HEVC and 3D acceleration).
Microchip did look like they made a start at porting this, but the git repo went all quiet some months ago.. I suspect they are concentrating Linux efforts on their SAM / Arm chips
Interesting thread developing here.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)