Hacker News

IKEA Frekvens LED box hack(spritesmods.com)

574 pointsrubenbe posted 2 months ago89 Comments
neom said 2 months ago:

Shout out to the amaaaaazing folks at Teenage Engineering who built this with Ikea, you can also 3D print accessories for the Ferkvens: https://teenage.engineering/designs/frekvens-hacks

retSava said 2 months ago:

Indeed. Had my eyes on this for a long time until release, then just around those days had too much to do and missed out on it completely. All sold out. :(

said 2 months ago:
boobsbr said 2 months ago:

This is the same guy that installed Linux on his hard drive's controller. A very interesting read:


LeonM said 2 months ago:

That is correct.

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.

[0] https://www.youtube.com/watch?v=otjnmtSy4H4

jablan said 2 months ago:

Maybe I'm mistaken, but it doesn't look to me that the Linux is running there. (Of course, it doesn't mean his effort is any less)

barbegal said 2 months ago:
jablan said 2 months ago:

Sorry, you are right, I missed that part! Really fascinating hack!

said 2 months ago:
noelwelsh said 2 months ago:

This isn't the only project to hack the Frekvens. Here's code + instructions (not mine) for hacking the box with an Arduino + AdaFruit GFX library: https://github.com/frumperino/FrekvensPanel

It seems fairly approachable if you don't mind the disassembly / reassembly required.

StavrosK said 2 months ago:

This is a very nice hack, and I enjoyed the writeup (minus the fact that the site isn't easily readable on mobile).

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?

GuiA said 2 months ago:

Videos are easier and more entertaining to consume than text for most people. The audience of a text post like this is mostly hacker types; if turned into a video that’s as much about the entertainment value as the nitty gritty, your audience now becomes 99% bored tech enthusiasts and 1% hackers, and you could plausibly go from a few thousand reads to your article to a few hundreds of thousands views for your video as on top of that, the YouTube platform itself acts as a reach multiplier.

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.

MisterTea said 2 months ago:

This. Your target audience is the determining factor. Though, you can do both: Put the gritty technical stuff in an article while the live demo and a talk goes into a video.

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.

monkpit said 2 months ago:

Reader view on safari works brilliantly on this site, if you’re using an iPhone of course.

StavrosK said 2 months ago:

Firefox reader mode generally works well, although it's completely disabled on some sites and I never managed to figure out why.

jgrahamc said 2 months ago:

Reminds me of when I went crazy with some Christmas lights: https://blog.jgc.org/2011/11/turning-ge-color-effects-g-35-c...

paulhart said 2 months ago:

I own two strings of those lights because of you and that article. Thanks for the inspiration and entertainment!

rattray said 2 months ago:

For the impatient, the final product is here: https://youtu.be/UCPUPO21Cwk?t=17 linked from the fifth page of the post: http://spritesmods.com/?art=frekvens&page=5

It's an eye that follows movement around, pretty cool.

rightbyte said 2 months ago:

Funny how abit of clever software can take full advantage of the hardware. The authors eye is way more impressing than the OEM's.

Exorus18 said 2 months ago:

Well, he didn't take full advantage of the hardware - he changed significant part of it (raising total final price by 1/3). Nevertheless I agree - it is very impressing ! :)

whywhywhywhy said 2 months ago:

> he changed significant part of it (raising total final price by 1/3)

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.

ahartmetz said 2 months ago:

That is Ikea's usual modus operandi. Their merchandise is well designed and engineered for the most part. The cheap furniture is good - but only for the price. Some of the less cheap stuff is pretty good quality, like kitchens.

freepor said 2 months ago:

IKEA needs to Apple it up a bit. Increase the hardware specs, , add 1/3 to the manufacturing cost, double the price, build an app store for people to download new effects to their box, charge 30% of the revenue from these effects.

barbegal said 2 months ago:

Can anyone explain how PWM (pulse width modulation) uses more computational power than binary code modulation (or bit angle modulation)?

Sprite_tm said 2 months ago:

I can. Say you want to display one 'frame', that is, one run where you display all the pixels where the pixels on average have the intensity you want them to have. Because you can only turn the pixels off and on, you need to send a certain amount of 'subframes'.

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.

0xff00ffee said 2 months ago:

That didn't explain the energy difference.

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.

cffddjkkbtdhjv said 2 months ago:

What do you mean by "crowbar current"?

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.

TomVDB said 2 months ago:

The only difference in power consumption is in the reduced toggling of the IO pins and the reduced effort of the CPU (but that's assuming the CPU will downclock or downvolt automatically, which is unlikely for a microcontroller.)

In an LED panel, the vast majority of power consumption is in lighting up the LEDs.

StavrosK said 2 months ago:

Does this not increase the flickering?

mannykannot said 2 months ago:

Yes, for an intensity that is not a power-2 fraction of fully-on, but all the additional flickering is at frequencies that are harmonics of the fundamental frame rate. If the fundamental is high enough that you do not notice the flickering, you will not notice the additional components.

gorgoiler said 2 months ago:

Feels like IKEA could capitalize on an opportunity here to provide a beginner friendly devkit to control the patterns. I love writing software but am less delighted by physical messing around :)

jansan said 2 months ago:

I think this is a too small niche for IKEA, but they should help selected hackers or small companies to fill these niches. Maybe this is already happening and we do not notice.

distances said 2 months ago:

This is happening at least with more traditional Ikea items, for example cabinets: https://www.semihandmade.com/pages/about-us

johnchristopher said 2 months ago:

> Ikea is an interesting store. Even if you go in having in mind you're only going to buy that one thing that you actually need and this time you're not going to be distracted by other crap, you tend to come out with about three times the amount of things you wanted to buy.

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).

hestefisk said 2 months ago:

I’ve always been amazed by how IKEA are thought of as this highly ethical, sustainable company. Despite making billions revenue in Australia every year, they pay almost zero $ in tax.

cc81 said 2 months ago:

I assume it is because they are like all other huge international companies in that aspect so people ignore that part and focus on other parts.

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.

brokenmachine said 2 months ago:

That is a failing of the Australian government, not Ikea.

hestefisk said 2 months ago:

Why downvote? It’s a fact.

johnchristopher said 2 months ago:

We obviously both hit a nerve :D.

fit2rule said 2 months ago:

If you like Blinky toys, check out the magicShifter3000 which is a persistence-of-vision-based pocket computer with its own built-in web editor and other crazy features (lightshow, arpeggiator, etc.):


Fully open source, available here:


abetusk said 2 months ago:

Looks like the firmware is AGPL but the electronic schematics are under a non-commercial license [1].

[1] http://magicshifter.net/#features

TickleSteve said 2 months ago:

For a much more interesting (but similar) bit of kit, see the Pixoo (http://www.divoom.com/product/pixoo.html)

yllus said 2 months ago:

I am very into this. Did anyone ever come up with an API style interface to control what gets pushed to one of these?

JaggerFoo said 2 months ago:

I would love to see this installed above a doorbell.

Blank until someone approaches, then the "Eye" appears with no sound, and follows the persons movement at the door.

Super creepy.

panpanna said 2 months ago:

This will probably be the only Teenage Engineering device I can afford.

I just need to find a store that carries them.

fermienrico said 2 months ago:

These are sold out everwhere. I couldn't find them besides on eBay.

Hamuko said 2 months ago:

>I just need to find a store that carries them.

What, apart from IKEA?

panpanna said 2 months ago:

It's sold out on the online store here.

stragies said 2 months ago:

Isn't IKEA currently closed in most countries?

Hamuko said 2 months ago:

IKEA's not closed here. And they still have delivery services and now they have an option to pick up your order from the loading dock.

roberto said 2 months ago:

Pocket operators are pretty cheap, but still very powerful.

2muchcoffeeman said 2 months ago:

I’m really annoyed this range isn’t getting a more global release. We won’t be seeing these in Australia.

hatsunearu said 2 months ago:

I think the gamma on that code is off. Pixel values != linear luminance

said 2 months ago:
serf said 2 months ago:

looks like ikea carries over their minimalism to their PCB design, too.

stbtrax said 2 months ago:

the firm they collaborated with on this line is no stranger to PCB as art and function: https://teenage.engineering/products/po

person_of_color said 2 months ago:

Oh these guys have a really cool synth

pjc50 said 2 months ago:

The use of a standard PCB bonded to the back of an aluminium-core one is a nice combination. Quite possibly they were developed seperately with a view to upgrading the product in the future by changing which back PCB they put on.

hellojere said 2 months ago:

Unreadable design on the website, but a cool project.

Sprite_tm said 2 months ago:

Yeah, sorry, last time the CSS got updated was 2010... what specifically makes it 'unreadable' for you?

morsch said 2 months ago:

Since you're asking: on Firefox/Android the page rendered in the declared three column layout. Even after I manually zoomed in to make the center column fill the width of my screen, the text was very small.

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).

StavrosK said 2 months ago:

Same trouble here, just adding a mobile-friendly meta tag would probably fix the issue.

Sprite_tm said 2 months ago:

Any pointers for that?

StavrosK said 2 months ago:

Sure, adding this verbatim should be enough:


Sprite_tm said 2 months ago:

Oooh, I tried that, it does not make the experience better (at least in Fennec on my Android): the main column gets squeezed until it only shows one word at a time. I think I'd have to drag my websites CSS into the 21th century before I can use that.

StavrosK said 2 months ago:

Ah, that's too bad. You can use two CSS selectors to make the two columns go under then main one on small screens, though it's a bit more involved than I can remember off the top of my head.

sagichmal said 2 months ago:

The fact that one article is split to N pages, for one thing. I gave up on page 2.

smcl said 2 months ago:

There are only five pages (it shows you in the right pane). I had no problem with clicking "Next" but even if you dislike that I suggest you persist - it's a nice project, a well written article and worth reading.

Sprite_tm said 2 months ago:

It's a good point, though, and one I heard earlier. Spritesmods used multi-page articles from the beginning (which is nigh 14 years ago now), initially because, I dunno, more of the web was like that? Later, when I needed the money, it was because I liked header ads more than long articles with interstitial ads. Now I don't quite need the money anymore, maybe I should throw out ads and either default to everything-on-one-page or at least give that as an option.

chaps said 2 months ago:

Yes please. The less ad tech sprawled all over the internet, the better, and it sets a great example!

_0ffh said 2 months ago:

Worked the same for me. I actually like the css on the site, but I refuse to click through multi-page articles. Especially when I am not even informed about the total number of pages.

kalleboo said 2 months ago:

FWIW, Safari Reader Mode will automatically stitch together multiple pages

sygma said 2 months ago:

You can use the Tranquility addon [0] on Firefox to make it readable. It worked well for me.

[0]: https://addons.mozilla.org/en-US/firefox/addon/tranquility-1...

sguav said 2 months ago:

I find sprite's content so enjoyable that I would still check on his website monthly even if it had www.tic.com design!

userbinator said 2 months ago:

It works fine without JS, which is already far more readable than a lot of other sites.

nomanlaghari said 2 months ago:

please vist below website for poetry https://bit.ly/2yErlmt

FriendlyNormie said 2 months ago:

Having the ad so close to the “Previous” and “Next” buttons is a violation of AdSense terms of service because it strongly encourages accidental clicks, especially on mobile. But I suppose that’s the whole reason they broke their blog post up into multiple pages in the first place.

Sprite_tm said 2 months ago:

My excuse is that the design is close to a decade old by now, and that back in the days, there were enough pixels between the two as the resolution was much lower. I don't need ads anymore, so I disabled them site-wide; that's the best way to fix the issue I figure.

Tepix said 2 months ago:

So this IKEA thing is a 16x16 LED box. (btw: Ikea is evil)

Related: LEDmePlay 32x32 LED box with some cool games:


The actual 32x32 RGB panel (6mm pitch) is around $19 from AliExpress. There is even a handheld version with 4mm dot pitch.

9nGQluzmnq3M said 2 months ago:

Out of curiosity, why exactly do you find IKEA evil?

cheesysam said 2 months ago:

Why is Ikea evil?

morsch said 2 months ago:

I don't know about evil, but they were pretty good at tax evasion, spanning decades: https://medium.com/@jurgeng/ikeas-tax-scheme-a-corporate-str...

said 2 months ago:
invaliduser said 2 months ago:

In France at least they are under investigation because they were illegally spying on their employees and even some of their customers. I am not sure what is the status of the trial, but this was big in France at the time, and happened for a very long time.

The story in french: https://www.francetvinfo.fr/economie/entreprises/ikea/enquet...

Tepix said 2 months ago:

I had some issues with them. They screwed up and their customer support didn't even answer two written letters.

ohmaigad said 2 months ago:

And that means they are evil? Wow, people nowadays.

lvturner said 2 months ago:

Depends on the screw up, if it caused actual bodily harm and they didn't respond I would be inclined to call them evil too.

I will conceded to playing devil's advocate here though.

said 2 months ago:
said 2 months ago: