
IKEA Frekvens LED box hack - rubenbe
http://spritesmods.com/?art=frekvens
======
neom
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](https://teenage.engineering/designs/frekvens-hacks)

~~~
retSava
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.
:(

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

[https://spritesmods.com/?art=hddhack](https://spritesmods.com/?art=hddhack)

~~~
jablan
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
I think you are: read
[https://spritesmods.com/?art=hddhack&page=7](https://spritesmods.com/?art=hddhack&page=7)

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

------
noelwelsh
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](https://github.com/frumperino/FrekvensPanel)

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

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

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

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

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

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

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

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

~~~
Sprite_tm
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
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
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.

------
gorgoiler
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
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
This is happening at least with more traditional Ikea items, for example
cabinets: [https://www.semihandmade.com/pages/about-
us](https://www.semihandmade.com/pages/about-us)

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

~~~
hestefisk
Why downvote? It’s a fact.

~~~
johnchristopher
We obviously both hit a nerve :D.

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

[http://magicshifter.net/](http://magicshifter.net/)

Fully open source, available here:

[https://github.com/magicshifter](https://github.com/magicshifter)

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

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

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

~~~
yllus
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
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
This will probably be the only Teenage Engineering device I can afford.

I just need to find a store that carries them.

~~~
Hamuko
> _I just need to find a store that carries them._

What, apart from IKEA?

~~~
stragies
Isn't IKEA currently closed in most countries?

~~~
Hamuko
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.

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

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

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

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

~~~
person_of_color
Oh these guys have a really cool synth

------
hellojere
Unreadable design on the website, but a cool project.

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

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

~~~
smcl
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
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
Yes please. The less ad tech sprawled all over the internet, the better, and
it sets a great example!

------
FriendlyNormie
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
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
So this IKEA thing is a 16x16 LED box. (btw: Ikea is evil)

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

[http://www.mithotronic.de/ledmeplay.php](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.

~~~
cheesysam
Why is Ikea evil?

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

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

~~~
lvturner
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.

