It's not often we'll just cut straight to it, but hell — this one is so cool that we're going to open with the heavyweight material.
Presented without initial comment, let's see what you make of this magic!
Okay, it's not magic. But it's a very, very cool application of some of the new, "transparent" OLED panels that we have seen starting to grace the screens of certain suppliers and supply chain retail sites.
We can see the CFAL12856A0, from CrystalFontz, which is for all intents and purposes, the display being used in this project here.
More so, one of the 10 displays being used in this project, where we see 10 of them stacked in physical succession, giving a third dimension to the conventional — and in retrospect, somewhat limiting — norm of only X & Y.
With a resolution of 128 x 56... x 10..., this display concept isn't linearly scaled in all dimensions. In fact, there's a certain aesthetic granted to the stack of panels, with the spacing set between each one resulting in a slight mix of magic mirror / alignment wobble that contributes a certain "Blade Runner"-esque, sci-punk vibe that looks absolutely dreamy.
Wait, but these are transparent panels, right? So what's up with this ghostly, infinity mirror artefact effect?
The eagle eyed in the audience will note that these panels are not exactly "transparent", with a subtle smoked glass effect — a currently inescapable product of the method of display construction.
While OLED panels are in effect massive arrays of RGB OLED pixels — with each pixel producing its own light, meaning that they are not required to be paired with a normally opaque, backlighting system — they still have various physical elements that make construction of this display a little more troublesome than simply slotting the panels into a 3D-printed cartridge.
Pesky filters — designed with the best intentions of stopping screen glare from incidental light sources — mean that light can only pass through each display at a specific angle of polarization, meaning that any axial skew will lead to further blockage of the light as it passes through the polarization filters of every other display.
The spacing, while affording a level of depth to the display that would otherwise leave it feeling a little flat — mean that there are optical losses as light is free to reflect off the rear faces of the panels, rather than being coupled directly.
However, despite these points, the design is really very innovative, leaving many of us wondering why we didn't think of this before!
With the CFAL12856A0 making use of a SSD1309 controller IC — it is able to speak all 3 of the major display interface protocols — 8-bit parallel, I2C, and as implemented here, SPI.
10, 8-bit parallel busses, in addition to the control pins that would go with them — results in an I/O count that is beyond the capabilities of most controllers, and far, far beyond the patience of most engineers.
Likewise, I2C has limitations, with most display controllers offering a limited number of I2C addresses via pin-configurable I/O strapping. With the display in use here offering only one single strappable I/O pin, that leaves an option of 3 potential addresses (assuming some N/C detection) — but in all probability, more likely is the case that it selects one of two possible addresses.
That won't work well for the 10 displays used here, so, SPI, with a common bus of COPI, CPIO and SCK lines, and a single #CS pin for each display makes for a grand total of 13 connections, well within the capabilities of anything larger than an Adafruit QT Py. 😉
In fact, a Feather should serve more than capably as far as I/O requirements are concerned, so it's little surprise to see the familiar footprint of female headers sat at the top of the custom board that Hodgins has designed to drive this decade of display panels.
Not another time travel plot twist blockbuster from Christopher Nolan, TENEX is a bit easier to get your head wrapped around.
Here we see a few more details in the design that show that some well reasoned design choices can give draw dropping results, without a debugging nightmare destined to happen.
Clean routing, and careful pin mapping means that fanning out of the display control and data signals — that's the common CIPO, COPI and SCK, and an individual #CS pin — looks easy to follow, rather than a tangles mess of flipping through layers via... vias.
We can see a footprint for a MPU-6050 — a IMU device from TDK (formerly Invensense).
This very popular part fuses a trifecta of motion tracking components; a tri-axial accelerometer, tri-axial gyroscope, and a DMP (digital motion processor) in order to provide a serially interfaced six-axis inertial motion unit.
We can see the obvious implications for this build going forward. Where as previous, motion enabled display demonstrations have shown us 2D arrays of digital sand, we can't wait to see that in 3D on this device!
Finally, further up the board, sat underneath the Feather footprint, we see another set of fingers, forming a familiar face — the features look strikingly similar to the footprint of the Recom RPX-1.0 series, integrated Switching DC/DC converters we've only just covered in the recent release from Ketan Desai, in his modern day LDO replacement designs.
While it certainly looks pretty similar, this footprint differs just enough to aggravate, should you be rushing a design — you could be forgiven for selecting this footprint from the KiCAD decal browser at 3am...
Instead, this is a MPS MPX36xx series (link is to one of many MPS36xx series parts) DC/DC converter, and it, in conjunction with the offerings of a numver of other MFGs, shows that there is an industry wide trend towards miniaturization and integration of power products, with many a manufacturer moving towards integrating the magic of magnetics into their micro-sized power converter modules.
It's a pretty smart move to develop this board as a FeatherWing, rather than integrate a MCU directly on board.
Although these displays could easily be driven from the most basic of MCU — an ATmega168 for example, display projects have a habit of often spiraling into further resource requirements as more and more gets added to the codebase.
Faster clocked parts can allow for higher speed SPI data transfers - while oodles of RAM and Flash are obviously going to be very desirable for a decade of displays, and the framebuffers supporting them.
Assuming 1 bpp (ie, monochrome) color depth, 152 x 64 x 10 still gives 92.2 kB of data needed to store the state of every pixel contained within the 10 panels.
So, a while Feather means that while the board and codebase can be bootstrapped using a SAM D21 — for example — Hodgins can flip out for something a bit faster, perhaps a drop in SAM D51, with it's ferocious Cortex-M4+ core and FPU, making it a very appealing platform for fusing that MPU-6050 IMU device data with an application that can render it appropriately.
Until then, we suggest keeping tabs on his Tweets over on Twitter — @idlehandsdev for the so inclined.