Hacker News new | ask | show | jobs
by kfogel 747 days ago
Does anyone know why projects like this always seem to specify using a particular type of tiny, low-power computer (usually a Raspberry Pi or something similar) to drive the display?

I already have plenty of non-tiny computers that run Debian GNU/Linux. Suppose I wanted to run an e-paper display from one of those computers, using this code, just via a normal USB cable. I could do that, right? There's no reason I would have to use a Raspberry Pi or something similar?

3 comments

Small computers like RPi make it easy to access the low-level peripherals such as SPI, which this small screen uses, and others like GPIOs. If your big-computer has such peripherals available to the OS, you can use them also. Before small computers, you could use the parallel port (and some small program) to talk to your own peripherals via the same low-level signalling.
The other extreme would be nice. Something very low powered that can spend 99% of its time in standby. Then you could run the whole thing on a battery for months. For a weather display, waking up for a few milliseconds per minute should be enough.

The 7" E-Ink display is US$86, which is not too bad.

Got it -- I appreciate the explanation.
There's no reason at all. RPis come with lots of bootstrap documentation and code so it's comfortable for someone that's played with Linux to get one running, install some packages, and make it do something.

You could do this with a tiny microcontroller if you had the time and knowledge to do it. There's nothing magical about the displays other than strange supply voltages at times.

The more common problem is that they don't listen to USB. They take SPI or parallel digital interfaces to set the pixels. So you need some kind of intermediate interface and software to draw the display. Which is why people just slap an RPi into the mix and talk to that over more common protocols.

Thank you. My idea was more the opposite: do it with a normal laptop or desktop computer driving the display, rather than a tiny microcontroller. I guess I'm assuming that either the display's USB input supplies enough voltage to run the display, or that the display has a separate power supply -- i.e., that there's nothing magical about a Raspberry Pi that makes it supply special bits or special voltages to these displays that can't be supplied by, say, my desktop computer.
Edited my response above. The answer is more about the interface that these displays require.
AHHHH, that's the key thing I didn't know (I have a Raspberry Pi sitting in a drawer and have played with it embarrassingly little -- I didn't realize how important having the SPI or other special interface is in this context). Thank you again.
With that said, though, there are also tons of inexpensive ways to output SPI or various other serial protocols from just about any device with a USB port, like your full-sized computer: https://www.adafruit.com/product/2264

The RPis and friends just optimize the workflow - theres nothing particularly magic about they way they implement SPI or GPIO, they just have it out of the box because its such a common way to extend hobby computer boards.

Just ordered. Thank you :-).
The refresh rate of these displays is 0.03 fps.
My first thought for a project like this (grab photos/data from the internet, display them on a device) would be a Pi Zero 2 W or a Pi Pico W, for the reasons you stated.

I'm not particularly up to date with the tiny microcontroller ecosystem - if I wanted to execute this at lower cost and/or lower power, what would be some better options to consider?

Because they are cheap and run on battery for a long time, and it is stupid to leave a computer running this display on.