This week’s EYE ON NPI (video) has a dash of DSI – it’s the new STM32U5 Series microcontroller processors from ST.
These bring a wonderful upgrade from the same-old same-old Cortex M4 or M7 with some eye-popping peripherals that will make quick work of any graphics project, but without the weight of a Linux processor overhead.
There’s lots of chips that purport to have a ‘graphics interface’ but the moment you sit down to actually use it, you realize that there’s very limited SRAM for the graphics display. So you either have to use slow external PSRAM, or you don’t get a double-buffer for smooth updates. That’s because it’s kinda rare to see a microcontroller with more than maybe 1 MB of SRAM.
The STM32U5 series is plumped up with up to 3 MBytes of delicious on-chip SRAM, which is perfect for double buffering a 800×480 display with 1.5MB left over, or even double-buffered 720×720 with 1 MB of SRAM left over. Compare that to the STM32H7‘s max of 1 MB.
That RAM will come in handy because this is one of the first microcontrollers we’ve seen that has true DSI host support! DSI is the latest interface standard for connecting to medium-size displays of approximately 480×480 pixels or larger.
It’s a differential signalling interface which means fewer pins, but the ability to go fast to address fairly large displays. However, because it’s differential and high speed, you really need peripheral support – which very few chips have unless you upgrade to microprocessors that drive phones or tablets.
Previous to DSI, folks would use SPI displays for up to about 320×240 and 8-bit parallel for displays from 128×640 up to around 480×320 and then for displays larger than that – 480×272 or greater – RGB TTL dot clock interface. SPI displays are nice because they have a built in framebuffer – but SPI is slow so you can’t drive anything but the smallest screens. Parallel is faster, but still suffers from speed issues.
RGB TTL displays have no framebuffer, so you have to write them continuously, and that requires built in RAM or PSRAM and hardware support to keep up with 20-60 FPS updates. Also, ideally, double-buffers to avoid tearing. However, you need a pin for each bit of colors, so easily 30 pins are needed – and even then RGB TTL tends to top out at 1024×600. For 720p or 1080p, most folks would go with HDMI, but you can get these displays with DSI interfaces: and DSI only uses 6-10 pins for 2 to 4 lanes of data plus a clock lane.
These new chips are a nice step up from the STM32F7 and H7 series in that they have the low price, multiple pin package count, with improved RAM and display support. There’s also variants with hardware crypto support, high-speed USB, and like we mentioned, with DSI host.
There’s also a new version of the NeoChrom graphics engine that has vector graphics support, vector font rendering, and JPEG hardware decoding which will allow for video playback with MJPEG.
We’re excited to see DSI interfaces make their way into microcontrollers, and doubly so because the STM32U5 series is in stock for immediate shipment from DigiKey! We particularly like the feel of the STM32U599 as it has a l’il bit of everything without being top-of-the-line, and it comes in QFP for easy integration no matter what fabrication setup you’ve got. Order some STM32’s from DigiKey today and they will ship faster than you can render a bouncing ball, making its way to you by tomorrow afternoon.
Check out the ST video below:
PyPortal Mercurio (Murcelago??)
yes please