IKEA Frekvens LED box hack
spritesmods.com
spritesmods.com
I have been following Jeroen's (sprite_tm) work for quite a few years now. I first encountered him on the GoT forums (which are in Dutch) back in the early 2000's iirc.
His website is a delight to read, there are many interesting hacks.
Edit: here is an interview with Jeroen from 2013 [0], it is in Dutch though, there seem to be no captions available.
It seems fairly approachable if you don't mind the disassembly / reassembly required.
As someone who does a lot of this stuff too, I've kind of realized that it's hard to get an audience unless you're making YouTube videos. I've heard of many "YouTube makers" but very rarely has someone sent me an article like this one.
Does anyone have first-hand experience with this? I don't much like making videos, but if that's what gets more people to see my stuff, maybe it's worth it. Am I correct or do I just see the videos from creators because they managed to already get popular, and they just happen to be on YouTube?
So yes, if your goal is to make money/get an audience rather than purely documenting (nothing wrong with that), you’re much better off making a 10 minute YouTube video than writing a 5 page article.
Personally I don't care for video and most videos people send me go unwatched. It's just not productive and I can scroll and skim text for interesting bits faster than skimming a video.
Most "technical" videos are simple tear downs for entertainment or a lengthy demo with a long winded how-to or technical overview. ZZZZzzzzzzz.
It's an eye that follows movement around, pretty cool.
Have to say the coolest thing about the recent collaboration projects from Ikea is you get work from well regarded product designers at prices everyone can afford.
PWM works as such: you send 256 subframes at the same time interval, and if you want a pixel to be 50% dimmed, you turn it on in half of the subframes and off in the other half. When you want it at 1/255 brightness, you turn it on in only one of the 255 subframes.
BCM/BAM works as such: you send only 8 subframes, but each subframe has a specified time when they are visible: each following subframe stays on for twice as long as the previous one. For example, subframe 0 is visible for 1 ms, subframe 1 is visible for 2 ms, subframe 2 is visible for 4 ms, subframe 3 is visible for 8 ms, etc. Now, by turning on the pixels in some subframes, you can exactly specify how long they are on in the total frame: say you want to have your pixel at a dimness of 200, you'd turn it on in subframe 3, 6 and 7.
As to CPU use: because you only need to calculate and send 8 subframes instead of 256, everything takes up less CPU. Especially during the longer subframes, the CPU can context switch out and go do something more useful while waiting.
The on-time power is identical in both cases.
PWM has more capacitive-switching energy cost (in wires and it gate cap), and crowbar current. But I'm curious how much of the total energy is due to these transients, because LEDs burn a ton of power. Is crowbar/capswitching 50% 90% 1%?
Now the hardware to compute the binary signal is the same as the PWM because you still need to subdivide the clock and count to know how many phases have passed to pulse at 1, 2, 4, 8ms, etc. This is typically done with dedicated hardware (the Atmega has a fairly unsophistcated PWM compared to TI, ADI or STM). Ideally you want the PWM to use the IO fabric to DMA the data, and not have the CPU twiddle GPIOs, that's a sledgehammer approach.
Also, the PWM rate is not fixed, it does not have to be 256 pulses. Depending on the hardware it can go from Hz to MHz (it impacts responsiveness). But that is a function of the MCU, and Atmega has fairly coarse adjustment for the PWM modes.
Ironically, the point of PWM is to actually save power.
Running the bus for a large array definitely takes a lot of power, but I agree it wouldn't be huge compared to the LEDs themselves.
> Now the hardware to compute the binary signal is the same as the PWM because you still need to subdivide the clock and count to know how many phases have passed to pulse at 1, 2, 4, 8ms, etc. This is typically done with dedicated hardware (the Atmega has a fairly unsophistcated PWM compared to TI, ADI or STM). Ideally you want the PWM to use the IO fabric to DMA the data, and not have the CPU twiddle GPIOs, that's a sledgehammer approach.
BCM isn't used when hardware PWM is an option. It's used for displays driven by long long chains of shift registers where you have to reload a whole frame to change an LED's state. Your DMA is sending data to a hardware SPI transmitter, not a PWM block in this case. There are ICs designed for _very_ large, high-end LED arrays that have hardware PWM for each LED, but they're less common and much more expensive.
You also don't really need to 'compute' BCM. You generate a bit-sync pulse or interrupt or whatever that runs once for each bit. At that point you just grab the pixel from the frame buffer, mask the correct bit, and output it to the array. The advantage over PWM is this bit-sync only runs 8 times (or whatever the bit depth) instead of 256. The shortest time between syncs is still the same length of the equivalent PWM signal, but the length between them grows but double each time (up until the start of the next period).
> Also, the PWM rate is not fixed, it does not have to be 256 pulses. Depending on the hardware it can go from Hz to MHz (it impacts responsiveness). But that is a function of the MCU, and Atmega has fairly coarse adjustment for the PWM modes.
256 is the number of grayscale colours (2^bit depth), not the pulse rate. Just like PWM, BCM can run at any rate or any bit depth.
You're really hung up on microcontroller PWMs. They're certainly helpful, and you certainly can use them to drive LEDs, but they top out at anywhere between 2 and 24 channels, so they aren't cost-effective for large, dense arrays. These LED drivers are really just shift registers, so they're dead simple and very, very cheap.
In an LED panel, the vast majority of power consumption is in lighting up the LEDs.
Yeah, there's a lot to say about Ikea's psychological warfare. They are really good (not to mean their products isn't, you get my drift).
i.e. Facebook does the same and is, like IKEA, hammer by it in Europe and elsewhere but Facebook also have privacy scandals while IKEA has fewer of those types of scandals.
Fully open source, available here:
Blank until someone approaches, then the "Eye" appears with no sound, and follows the persons movement at the door.
Super creepy.
I just need to find a store that carries them.
What, apart from IKEA?
Usually, I'd just use Firefox Reader View (aka Readability.js), but it's not being offered on the site. I don't know why, the document structure seems straightforward enough (IANA web dev).
[0]: https://addons.mozilla.org/en-US/firefox/addon/tranquility-1...
Related: LEDmePlay 32x32 LED box with some cool games:
http://www.mithotronic.de/ledmeplay.php
The actual 32x32 RGB panel (6mm pitch) is around $19 from AliExpress. There is even a handheld version with 4mm dot pitch.
I will conceded to playing devil's advocate here though.
The story in french: https://www.francetvinfo.fr/economie/entreprises/ikea/enquet...