Though It Looks Like COVID-19, There's No Need to Fear — Come and Play with the Wobble Sphere!

We take a look under the hood of the Wobble Sphere — from Robin Baumgarten — and learn a thing or two about large-scale LED installations!

Tom Fleet
5 years agoLights / Art / HW101

It's safe to say that the vast majority of people sure do love some luminous, multi-colored LEDs!

With many an artistic installation bathed in the glow of these light emitting diodes, this fusion of art and technology is a mainstay of an ever increasing number of artists portfolios.

If there's one thing people love more than LEDs in an installation, it's interactivity. If you can fuse light together with a sense of tactile feedback, then gallery commissions and festival bookings await you in abundance. Well, perhaps when the idea of a festival begins to feel a bit less alien, at least!

Robin Baumgarten is no stranger to such installations, and is a dab hand when it comes to the seamless synergy of light and touch. His previous works, including the likes of the award-winning WobbleGarden have been warmly received by anyone who happens to catch sight or hold of them.

It would appear that this years events of COVID-19 have given rise to his latest inspiration, with his most recent work — the aptly named Wobble Sphere — taking form in a fashion that bears an uncanny resemblance to our newfound foe.

The Wobble Sphere is formed from a seething mass of NeoPixel rings and sprouting coiled springs — the fusion of which more than lives up to its namesake.

Formed of 72 faces, this sphere is technically a heptacontadigon — though Wobble Heptacontadigondoesn't exactly roll off the tongue with such ease — marketing has a point once in a while!

Each facet features a 16-LED NeoPixel ring, from the center of which, sprouts a flexible metal spring that might look familiar to some - these are door stop springs, which I can recall spending a significant time as a young child flicking them repeatedly —much to the annoyance of my parents!

Perhaps that familiarity is intentional, in a bid to invite further interaction — I know that the sound and feel of these springs is lodged firmly in my memory, and on seeing the Wobble Sphere for the first time, I can say with some certainty that my first instinct was "Boy I'd like to play with that!" — If I were to see this thing in person, the urge to go up and flick a few springs would be absolutely irresistible. Especially with the light show that accompanies the touch!

So, if you're reading this, there's a good chance you're here for the juicy details, right? We've looked at the end result — what Wobble Sphere is, and the way in which it is able to display this almost infinite, fluid show of light in response to touch, but what's under the hood?

Let's take a look and see what we can figure out! I feel we're going to uncover some very wise practical lessons in regard to what it takes to deploy a successful, LED-based installation!

Luckily for us, Baumgarten has a development website, where he documents his work, so there's no need to guess our way through the construction of this light emitting orb!

The project logs for his various works make for some excellent reading and reference material for any budding visual and interactive installation artists in the crowd.

Starting with the basics — Baumgarten first models up the heptacontadigon, in order to define the geometry needed for the two facet shapes.

It's worth noting that this polygon isn't regular. That is, not every facet is an equal shape and area — and instead, the sphere is defined as 12 blocks , each a composite of two facet shapes: five hexagons that surround a central pentagon. It sounds almost too moot to mention, but an understanding of geometry is invaluable when it comes to modelling shapes like this.

I must admit, I'm not 100% sure of which tool Baumgarten is using, but I can speculate on how I'd go about this — and it doesn't need software with a price tag that will make you wheeze!

For those looking to get down and dirty with modeling such geometries, I have to plug OpenSCAD. Attempting to model something like this in a conventional, parametric CAD program, say, Fusion360, can quickly lead to a headache.

Most tools are expecting you to work with primitive shapes such as spheres and cubes, etc, combining and subtracting using boolean operations and graphical interaction.

OpenSCAD, takes a different approach to such design, using a code-driven / programmatic design process. It can be daunting at first, but the ability to define a shape as function, and its parameters as variables can be absolutely invaluable when dealing with regular, repeating geometry like this, and is very much worth the learning curve! If you've written code, and can understand the structure of basic programming functions and blocks, you might find that it's not as scary as it first appears!

And, like any good open source tool, there are user libraries, like this one — specifically for complex polyhedra — in case you just want to cut straight to the chase!

With the geometry of the facets defined, the face profiles can be exported to your favorite ECAD program. Baumgarten worked this design up in Diptrace, though other programs are available!

The PCBs are joined at the edges, through soldered connections, pasang power and data from a connector located in the central pentagon.

I'm not going to lie, I've been found guilty of relying upon the mechanical strength of solder alone before. Despite it being a quick hack that can get your boards connected, even when reinforced with a connector, or single pins, the importance of a solid mechanical base can not be overstated when it comes to deploying a project that is going to be poked and prodded by the general public!

Baumgarten appears to have been bitten by such efforts at one point in his past, and to that end, he's put in a significant amount of mechanical design effort, aimed at ensuring the Wobble Sphere only wobbles where it is meant to!

The PCBs are firmly mounted to a clever 3D printed internal framework, that serves the task of not only securing the pentagonal arrangement of hexagons to each other, but also of securing the numerous clusters into the spherical arrangement, ready to be joined together in its final form!

This is where I need to suggest a caveat to my previous plug of the OpenSCAD workflow. While it's an amazing tool for programmatically defining complex geometry, the ability for it to spit the model out into a format that can be imported into a parametric modelling utility is not to be overlooked.

A complex framework like this might be more easily designed using a parametric modeller, where you can easily pull and extrude a frame around the facets that have been previously defined and subsequently exported.

Suffice to say, the more tools in your arsenal, the more likely you are going to be able to find a solution that allows you to suitably focus your design efforts. It's very much worth knowing the right tool for the job in hand, and indeed, which tool is better suited to the specific task you are currently engaged with!

The above picture is somewhat reminiscent of the internal view of the LED isochedron of Greg Davill, with both projects making use of a large number of ribbon cables, hidden away within the internal volume of the Wobble Sphere.

The often overlooked fact of projects based around "smart," serially addressable LEDs is that in order to achieve the highest possible frame rates, you really need to keep the number of pixels in any one "strip" or "chain" as low as possible. It takes a finite amount of time to shift in a full pixels worth of data — and NeoPixels aren't the fastest of serial LED devices.

As they use a time-based signaling protocol, the time needed to update an entire chain grows with every extra pixel in the strip — and with 16 LEDs on each of the 72 faces, that's 1,152 LEDs worth of data to shift!

Having worked on similar scale deployments, thankfully, I can suggest a trick or two to get around the limitations imposed by the protocol of the WS281x LEDs. Below, 1,920 pixels wrap around a previous project of mine, and Baumgarten has found the same tricks I had to use to get the buttery smooth performance that we desire from these devices!

First up, a speedy MCU is key to success, along with oodles of RAM! With each pixel having 8-bit depth to each of the R/G/B color channels, the data block required to store the "frame buffer" for the Wobble Sphere in memory comes in at somewhere around 27.6kB! That's nearly as much as the program memory and FLASH combined of say, an ATmega328! We need something pokier.

While Baumgarten appears to be generating his frames on an external computer, sending them to the Wobble Sphere internal controller over USB, the data still needs to sit in the MCU for the briefest of periods before it is sent out over the serial pipe to the LEDs, so RAM is an important criteria, unless you want to further complicate matters by time-slicing the display. However, that brings you right back around to a limited display update rate, so it's not a viable option here.

The next issue you might consider for this much data is that of processor speed, but, counterintuitively, this isn't actually that much of an issue, thanks to the absolutely incredible work and legacy that we owe to Paul Stoffregen (PJRC) and not only his range of Teensy development boards — that have long set the bar in terms of power-packed development boards — but also his amazing work in developing the OctoWS2811 library, the architecture of which has inspired nearly every high performance Serial LED library to have been developed since.

OctoWS2811 pulls a few neat tricks — the explanation of which are beyond the scope of this article — but in a nutshell, by cleverly utilizing the peripheral resources of a MCU, it is possible to dump all of this data out to the LED display, without so much as a single clock cycle of CPU time.

DMA and I/O peripherals are configured to internally signal each other as to their status, with the I/O raising a flag when it has shifted a data frame out of its pins, which in turn, instructs the DMA block to automatically transfer the next available block of data out of RAM, and send it winging out to the I/O pins.

This sort of functionality is a recent addition to MCU ranges, and boy-oh-boy are we grateful to vendors for implementing it — though more so to Stoffregen for showing us how it can be applied to projects like these. We all really do owe him some appreciation for the groundwork — and subsequent frameworks - he has laid out for us — If you're reading this, Thankyou, Paul!

Although Baumgarten is using a library that functions based on a derivative of this concept, the underlying principle of the function of the TriantaduoWS2811 library, written by Ward Ramsell, is still the same — using the FlexIO and DMA resources of the Teensy 4.0 to split the entire LED data stream across a whopping 32 I/O pins! This allows for a theoretical maximum of 1.065 million LED updates a second. No, that's not a typo.

That is incredible to consider, when you keep in mind that is coming from a board smaller than a stick of gum — closer in size to a few chiclet pieces. That sort of power, from a development board that can be had for less than $20 is absolutely insane! When you futher consider that the Teensy 4.0 is clocked at 600MHz(!), the limits of the sky start to look a lot closer. To put things into perspective, check out the CoreMark benchmark scores below — and look at where the Teensy sits, compared to the ESP32 — a processor normally considered one of the reference workhorses.

Even with a fast, parallel pipe to spit LED data down, the display frames still need to be passed from the host PC, down to the Teensy 4.0, residing in the Wobble Sphere.

The native USB connection of the Teensy allows for blazing fast data transfer between the Wobble Sphere, and its control application.

Written in Python, and making use of the pygame module, the host application is responsible for generating patterns in response to the touch inputs derived from the metal springs, and sending the approriate LED frame data back to the Wobble Sphere. Having worked on previous installations like this, I feel I've been making a rod for my own back in trying to run my pattern generation locally— I know I'll be taking a very close look at this Python w/ pygame route for future interactive installations!

The final piece of the puzzle —when it comes to large numbers of LEDs — is power. With each WS2812 LED capable of a peak current draw of 60mA, the sum total for the entire sphere, with each LED set to R/G/B=255 is a gargantuan 69.12 Amps!

Baumgarten has likely calculated this, and although he is unlikely to ever have this as a possible (read: intentional...) display frame, it's apparent that the Wobble Sphere still has significant power requirements during normal operation — as indicated by the significant diameter power cabling leading down to the battery pack at the base of the stand.

You might ask — "Why batteries though? — surely they won't last too long?" And well, you'd be right. However, there are two important things to consider about this application.

The first, is the significant voltage drop that will occur over even short runs of cable, when faced with the huge amount of current passing down the strands of the power cable. Most wire on a makers workbench — say, a jumper wire, for example — is approximately 28-30 AWG. In this application, with this level of power, we call such diameter wiring a fuse.

Realistically, assuming moderate illumination of the Wobble Sphere, you'd need some wiring in the region of single-digit AWG size. The tube I referred to earlier in this article had 2m DC conductors of 6 AWG, no only to provide the base current required, but also, to do so with only a moderate temperature rise. Currents of this magnitude will very quickly expose poor cabling, with looms feeling noticeably warm to the touch.

The second point to consider, raises itself from the conclusion that it would be better to minimize cabling, and mount PSU units as near as possible to the installation. That's not a bad idea, assuming that you're able to certify the device as electrically safe — right? And by certify, we mean, assume legal responsibility for any mishap or potential electrocution that could happen if a supply fails, or worse, someone spills a beverage nearby.

With that in mind, batteries, local to the installation, make a huge amount of sense — both from a technical, and safety perspective. Turning up to most galleries or exhibition spaces with a lash-up of non-isolated, AC/DC converters and open frame electronics will get you sent away in short order — and rightfully so.

That's a wrap!

It's been a little while since I've had to say thanks for sticking with me this far! This article snowballed a little, but Baumgarten has shown us a great deal that is worth talking about — both from an artistic and technical perspective.

In conclusion, there's a wealth of hidden knowledge to take away from this, build — that is — if you are interested in working with LEDs at this scale.

Paying attention to the numbers involved in data rates, and power consumption alone can quickly help you decide if a project is feasible or not.

Even if the figures look fearsome, it need not be the end of the idea — all of this is possible, you just need to plan ahead, and good things will come out of the wash. Now, give your eyes a rest, and let's kick back and watch the Wobble Sphere do its thing!

Tom Fleet
Hi, I'm Tom!I create content for Hackster News, allowing us to showcase your latest and greatest projects for the world to see!
Latest articles
Sponsored articles
Related articles
Get our weekly newsletter when you join Hackster.
Latest articles
Read more
Related articles