I made a cursory attempt to crack the case open, but gave up before doing any permanent damage. Hey, that UL listing (and, presumably, the interior details) means they’re three times the price of those Anonymous chargers!
Start by grabbing opposite corners in a small vise and gently cracking the solvent-bonded joint between the sections:
Pull the base past the molded latches:
On both sides of both PCBs!
The top half of both boards, above the isolation cut, handles the line voltage and the lower half handles the 5 V USB output. You’ll note the absence of extra-cost parts like voltage feedback or ahem safety fuses.
Treating the whole regulator as a black box simplifies the schematic:
The cap bridging the two sides should be a Y capacitor, but it’s an ordinary 1 nF ceramic cap with a generous 1 kV rating. As far as I can tell, having it inject AC line noise directly into the +5 V side of the USB supply is just a bonus.
Looking at what comes out of various USB chargers, with the Tek current probe monitoring the juice:
First, a known-good bench supply set to 5.0 V:
The yellow trace is the Glass Tile Heartbeat output, which goes high during the active part of the loop. The purple trace shows the serial data going to the SK6812 RGBW LEDs. The green trace is the USB current at 50 mA/div, with the Glass Tile LED array + Arduino drawing somewhere between 50 and 100 mA; most of that goes to the LEDs.
The current steps downward by about 10 mA just after the data stream ends, because that’s where the LEDs latch their new PWM values. The code is changing a single LED from one color to another, so the current will increase or decrease by the difference of the two currents.
A charger from my Google Pixel 3a phone (actually made by Flextronics and, uniquely, UL listed), with Google’s ever-so-trendy and completely unreadable medium gray lettering on a light gray plastic body:
The current waveform looks only slightly choppy:
An AmazonBasics six-port USB charger from tested by Intertek:
A blackweb (their lack of capitalization) charger, also made tested by Intertek:
Finally, one from a lot of dirt-cheap chargers from eBay:
Which has the most interesting current waveform of all:
A closer look:
From the 75 mA baseline, the charger is ramming 175 mA pulses at 24 kHz into the filter cap on the Arduino Nano PCB! The green trace has a few seconds of (digital) persistence, so you’re seeing a lot of frequency jitter; the pulses most likely come from a voltage comparator controlling the charger’s PWM cycle.
It’s about what one should expect for $1.28 apiece, right?
They’re down to $1.19 today: who knows what the waveform might be?
So I can see the actual current waveform of a Glass Tile box running from a bench power supply:
The top trace is the firmware heartbeat from the Arduino Nano, the middle trace is the SK6812 LED data stream, and the bottom trace is the USB current at 50 mA/div. The current steps downward by about 10 mA (just after the data burst) when one of the tiles changes color and and LED shuts off.
The current probe reveals some mysteries, such as this waveform from a dirt-cheap USB charger:
I wonder why it’s ramming 100 mA current spikes into the circuit, too. At least now I can see what’s going on.
Which looks like this with the LEDs and brass inserts installed:
The base holds an Arduino Nano with room for wiring under the cell array:
Which looks like this after it’s all wired up:
The weird colors showing through the inserts are from the LEDs. The red thing in the upper left is a silicone insulation snippet. Yes, that’s hot-melt glue holding the Arduino Nano in place and preventing the PCBs from getting frisky.
Soak a handful of glass tiles overnight in paint stripper:
Whereupon the adhesive slides right off with the gentle application of a razor scraper. Rinse carefully, dry thoroughly, and snap into place.
Tighten the four M3 SHCS and it’s all good:
So far, I’ve had two people tell me they don’t know what it is, but they want one:
Flash is a misnomer, as the tiles simply change from one color to the next, but I’ve never been adept at picking catchy names. In any event, the glass tiles on the left show nice pastel shades, in contrast to the bright primary(-ish) colors appearing on the right.
The colors are random numbers from 1 to 7, because 0 produces a somewhat ugly dark cell. The SK6812 modules have a white LED in addition to the RGB LEDs in the WS2812 modules, so I replace the “additive white” R+G+B color with the more-or-less true white (warm, for these modules) LED.
The new color goes into a cell picked at random (0 through 3, for 2×2 frames), except if the cell already holds the same color, whereupon a simple XOR flips the colors, except if the cell is already full-on white, whereupon it becomes half-on white to avoid going completely dark.
The glass tiles must change colors at a much slower pace than the 8×8 LED matrix, because there are so few cells; a random delay between 500 ms and 6 s seems about right.