Page 1 of 1

Is the Raspberry Pi a good ePaper platform?

Posted: Fri May 12, 2017 6:58 pm
by waskerley
I'm creating a project using a large e Ink display similar to this one: https://www.youtube.com/watch?v=pryzzH_i0os . There are a few options for Pi ePaper out there, such as the PaPiRus, but they seem incredibly expensive and tiny.

Is the Pi a good fit for ePaper even though it is power hungry and run a full OS? Sleep modes are also pretty immature.

Should I stick with an RTOS based microcontroller such as an arduino instead?

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Fri May 12, 2017 11:39 pm
by solar3000
If you want to save energy, use the raspberry pi zero.

But if you want to save even more energy, use a micro controller.

But the raspberry pi is a live system that you can remote to by SSH, web, or VNC or RDP. And all the new pis have built-in wifi.

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Fri May 12, 2017 11:52 pm
by waskerley
Which microcontroller would you recommend using? Everything (including the youtube video) keeps pointing me at the ESP32 and ESP8266. Are these the best ones to run with?

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Sat May 13, 2017 12:36 am
by JustMachineLearning
There was a product released a bit ago... PapiRus http://www.pi-supply.com/product/papiru ... pberry-pi/

It's $41.66 – $81.01 up to 2.7" if you don't need larger. There was also PapiRus with Zero /http://raspi.tv/2016/playing-with-papirus-zero. I was considering these, but I don't want to change a battery every few weeks. Haven't seen any extensive life tests, that might be something you consider if you're using it for a lot. ;)

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Sat May 13, 2017 1:46 am
by skspurling
waskerley wrote:I'm creating a project using a large e Ink display similar to this one: https://www.youtube.com/watch?v=pryzzH_i0os . There are a few options for Pi ePaper out there, such as the PaPiRus, but they seem incredibly expensive and tiny.

Is the Pi a good fit for ePaper even though it is power hungry and run a full OS? Sleep modes are also pretty immature.

Should I stick with an RTOS based microcontroller such as an arduino instead?
I think it would be an awesome ePaper platform. It's finding the displays that's the issue. There just isn't much available in the hobbyist market that has a good size and flexible interconnect that you can leverage for experimenting with. Since the market is so thin, there's not a lot of inexpensive sources to drive costs down. The people who make them have to keep the price up to pay for making them because of the low demand. That PaPiRus product is really nice, but it seems like they can't get very big "screens", and the cost is quite a bit more than LED or OLED displays.

Pi's not power hungry. Not for what it is. If you don't hook a lot of stuff to it or run a display on it, the power draw isn't much for what it is.

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Sat May 13, 2017 4:30 am
by CarlRJ
waskerley wrote:Is the Pi a good fit for ePaper even though it is power hungry and run a full OS? Sleep modes are also pretty immature.
The Pi is not power hungry compared to a desktop PC, and the sleep modes are not immature, they're pretty much not there (would you argue that a bicycle has a poor engine, or simply say it has no engine?) - it's not really designed to be used that way (wake up, spin for a few seconds, and shut back down) - as a Linux-based system, it's really intended to be on all the time.
waskerley wrote:Should I stick with an RTOS based microcontroller such as an arduino instead?
The Arduino is not RTOS based. The Arduino doesn't really have an OS, it's basically just your-code-plus-libraries on top of bare metal. The choice of microcontroller vs. Linux-based SBC (like the Pi) really comes down to what you want to do with it - neither one is intrinsically better, simply better suited for different things. If you want to make a clone of the ESP8266-based battery-powered weather device you linked to, then an ESP8266 (or ESP32) is an excellent choice (a traditional Arduino, like an Uno, would be a poor choice as it doesn't have WiFi). If you aren't looking to run the project on batteries, or want it to do substantially more complicated processing (particularly if it's running constantly), then the Pi (say a Zero W) could be a good choice (substantially more powerful hardware and a multitasking OS); the display you mention appears to interface via SPI, and the Pi can talk SPI just fine.
waskerley wrote:Which microcontroller would you recommend using? Everything (including the youtube video) keeps pointing me at the ESP32 and ESP8266. Are these the best ones to run with?
If you go with a microcontroller, the ESP8266 (and its new relative the ESP32) are hard to beat.
JustMachineLearning wrote:There was a product released a bit ago... PapiRus
Did you read the OP's second sentence? The PapiRus displays are in general quite compelling (I've been tempted), but the OP already dismissed them as too small.

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Sat May 13, 2017 4:23 pm
by JustMachineLearning
CarlRJ wrote:Did you read the OP's second sentence? The PapiRus displays are in general quite compelling (I've been tempted), but the OP already dismissed them as too small.
I did, but he dismissed as too expensive. It didn't seem that far out of range... but you're right, my head focused on power not size. I also thought there were larger ones out there (I recall a blue one of some sort but cannot find it), and I saw some larger screens with controllers but the cheapest I could find was a 6.5" for $80 without the controller.

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Tue May 16, 2017 9:48 am
by tpylkko
I think that the RPi is not a particularly good ePaper platform. Mainly because ePaper are slow (refresh latency) and low power, and as such are perfect for controller devices that sleep much and update the screen with low frequency. Like something that fetches weather/stock/whatever data once an hour and displays that. Since many microcontrollers can consume in microamps when sleeping and ePaper can retain an image without power, you can (in the best case) make a device that consumes almost zero power.

The ESP8266 is better than the Pi, but has three downsides: 1) if you deep sleep it, you need to use a pin interrupt to reset it. This means that it "reboots", that is starts from the beginning. For some purposes this is not a problem but for others this can be a problem. The watchdog timer cannot be used from the lowest power state. 2) It does not come with an OS (single core cpu). Therefore the Wifi stack needs to be given time in the main program loop to use the cpu, otherwise it will crash. 3) while it uses less power (around 70 mA average with WIFI), the model that I have uses around 250 mA when transmitting. So for example, if you cannot use a static ip and you need dhcp, after it wakes from reboot it will consume 250 mA for like 4 seconds straight. This is not bad if you use a PSU, but if you want to make a battery enabled device you are going to need to sleep as much as possible and even then it is not going to last long if you need to send a lot of stuff when you wake.

The ESP32 has a OS, usually FreeRTOS, which is a real time operating system. It schedules tasks on the two cores in the background for you. This makes it easier to use, and it also has way more analog inputs (esp8266's have either none or one) and a RTC. It has Bluetooth low energy, but I have not been able to find any data on how much power that consumes compared to the WIFI (which I assume is identical to ESP8266). Also needs to be full reset when recovering from deep sleep.

Then there are ARM coretex-m0 microcontrollers with wifi. These usually can resume from where they left off. Consme very little power. For example Adafruit displays measurements on their page of their coretex m0 devices with WIFI which uses 12 mA with WFI on and practically zero when sleeping. These give you way much more computational power, are more power efficient and since the new Arduino's use the same architecture/chip, they are much better documented and have better Arduino IDE support than ESP32 last I checked. But this changes every week. However, these can be somewhat expensive. Adafruit feather m0 models are like 40 USD or more. You can get a coretex-m0+ dev board for less, but without WIFI/bluetooth/lora/sigfox etc.

Btw. I believe that this
CarlRJ wrote:The Arduino is not RTOS based. The Arduino doesn't really have an OS, it's basically just your-code-plus-libraries on top of bare metal.
is probably not true any more. Arduinos used to use 8-bit AVR microprocessors with bare metal code, but the new models seem to mostly use 32-bit microprosessors, either ARM (SAMD21) or x86 (Intel Curie) and can be used with OS's, though I have no idea if they come with an OS preinstalled:
https://create.arduino.cc/projecthub/fe ... ino-ebc3cc

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Wed May 17, 2017 1:53 pm
by skspurling
tpylkko wrote:...
Btw. I believe that this
CarlRJ wrote:The Arduino is not RTOS based. The Arduino doesn't really have an OS, it's basically just your-code-plus-libraries on top of bare metal.
is probably not true any more. Arduinos used to use 8-bit AVR microprocessors with bare metal code, but the new models seem to mostly use 32-bit microprosessors, either ARM (SAMD21) or x86 (Intel Curie) and can be used with OS's, though I have no idea if they come with an OS preinstalled:
https://create.arduino.cc/projecthub/fe ... ino-ebc3cc
I think you will find that those are not "TRUE" arduino's. The ARM and x86 are general purpose CPU's, although at a different scale than the ones you find in a laptop or desktop. IIRC, those devices use a general purpose CPU to run an OS adjacent to an AVR or two on an embedded serial or USB bus. That way you can run the more complex functions on the CPU, while delegating the more bare metal real time functions to the MCU. MCU's and CPU's have not been interchangeable since the 386, as the MCU's started pulling the associated I/O and memory chips into the die, and CPU's started becoming more stratified with cache and staged pipelines to improve computational speeds. Of course, the versions we see in embedded stuff like ARM and the lower end x86, are a little less extreme but still not focused on real time. You get decent real time because they have a 500 MHz to several GHz clock, where as the AVR doesn't normally exceed a couple hundred MHz. That and you have long term storage(Disk) and lots of ram for the CPU. You would be lucky to get 100MB of ram and some flash in an MCU. You might get it in a DSP depending on what it's made to process, but those are special purpose MCU's.

Now, that's not to say you can't run an OS on an Arduino's MCU. I could run an OS on my VIC 20 if I wanted to, but I'm not nuts and know that my 3.5 Kb of ram is much better used for my program. (not arguing Basic as an OS) You can also run into different architectures in MCU's. It's really cool, when you think about the idea that variables and code don't need to share the same address space. It's an old idea that was out of fashion in the mid 70's through the 90's, as a lot of chips just used the same RAM for everything (Barring the x86 segmentation of memory), and RAM and ROM were addressed out of the same space. We had memory mapped and I/O mapped I/O, but I don't recall the seperation of code and variables ever being discussed outside of academics until studying the PIC MCU....

okay, sorry for geeking out. that stuff fascinates me. Any way, not the same. They are there, but they are working in tandem, not replacing them.

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Thu May 18, 2017 7:40 pm
by tpylkko
Not sure what you mean with them not being "true Arduinos". But they are official Arduino AG designed and recognized projects. Actually I believe they consider the real (old) 8-bit avr's "legacy" as their own shop appers to not have them (although since the license is open anyone can make one and you can probably get them on ebay etc.) Also, not only can you run an OS on them, many of come with an OS preinstalled. I believe the Intel ones use a variant of the Linux Foundations Zephyr. Doing a quick search it appeared to be really hard to find consistent and reliable info on that. Interestingly the intel page describes several variants that appear to devide the tasks between the ARC and the x86 core in different ways

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Fri May 19, 2017 5:11 pm
by skspurling
tpylkko wrote:Not sure what you mean with them not being "true Arduinos". But they are official Arduino AG designed and recognized projects. Actually I believe they consider the real (old) 8-bit avr's "legacy" as their own shop appers to not have them (although since the license is open anyone can make one and you can probably get them on ebay etc.) Also, not only can you run an OS on them, many of come with an OS preinstalled. I believe the Intel ones use a variant of the Linux Foundations Zephyr. Doing a quick search it appeared to be really hard to find consistent and reliable info on that. Interestingly the intel page describes several variants that appear to devide the tasks between the ARC and the x86 core in different ways
Okay, let me clear that up a bit. What you are talking about is the UNO v.s. something like the 101. The 101 follows the following setup: (https://www.arduino.cc/en/Main/ArduinoBoard101)
"The module contains two tiny cores, an x86 (Quark) and a 32-bit ARC architecture core, both clocked at 32MHz. The Intel toolchain compiles your Arduino sketches optimally across both cores to accomplish the most demanding tasks."

The currie chip on that board contains a two core x86 processor running at 32Mhz (can anyone say enhanced 386? Maybe runs windows 95?) with a 32 bit ARC core (The traditional Arduino part). So, it's kind of a kicked up Arduino, not an embedded general purpose computer like a Pi. Your RTOS for the Currie enables some higher level coordination, but this is a real time MCU that is built for real time interactive tasks.

The Yun is an interesting example. There you have the Atheros chip like you find in a lot of embedded linux appliances like routers and such. It sits beside the 8 bit AVR (which is found in a lot of these boards still), running at 16Mhz. That's a pretty cool setup. You can get it to do a lot of stuff, but this, again is a hybrid architecture. The AVR runs the sketch, the Atheros runs Linion.

I am not sure where you are getting the 8 bit legacy stuff, but they still have the gema, nano, micro, mini, and uno. The bigger ones may be 16 and 32 bit, but they are still MCU based. The hybrid ones that have a ARC or embedded AVR still use the slower more basic real time hardware to keep things working on that end. They can just add more complex stuff with the faster more complex CPU added to the board running an OS. The Due runs the beefy-est of the MCU's at 84Mhz, but I still don't see the OS being put on the MCU. It dosen't make much sense to take on the overhead unless you are running something with task switching and memory protection requirements. Something that requires process arbitration between multiple tasks, or some kind of hardware abstraction.

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Tue May 23, 2017 8:12 am
by tpylkko
skspurling wrote:
Okay, let me clear that up a bit. What you are talking about is the UNO v.s. something like the 101.
No exactly. What I was saying is that CarlRJ's claim that Arduino products are baremetal code running microcontroller's and do not have realtime OS's is not true anymore. But maybe this could be dropped already because it is not central/important.
The currie chip on that board contains a two core x86 processor running at 32Mhz (can anyone say enhanced 386? Maybe runs windows 95?)
No. Not enough RAM even (80 kb). Datasheet page 49 seems to say single core also. In other words, there is a Intel Quark (i.e 32-bit x86 CISC) and a ARC EM4 core (i.e 32-bit RISC), not a "two core x86 processor".
So, it's kind of a kicked up Arduino, not an embedded general purpose computer like a Pi. Your RTOS for the Currie enables some higher level coordination, but this is a real time MCU that is built for real time interactive tasks.
What you say is true, but then again nobody here, certainly not me, was claiming that running FreeRTOS or Zephyr on a microcontroller is like running Raspbian on Raspberry pi. The original poster asked about using a ARduino/microcontroller with RTOS, at no place at any time did he or anyone else talk about Linux or any other general purpose OS, AFAICS. A general purpose OS would be a bad thing for ePaper anyway, because it is harder to use with low energy.
I am not sure where you are getting the 8 bit legacy stuff, but they still have the gema, nano, micro, mini, and uno.
Well, I certainly could have expressed that better. But I meant that there are fewer and fewer (if any) that do not use a RTOS in the background to schedule tasks. And this is indeed because they are increasingly hybrids. Which is good, because as stated earlier using the ESP8266 already in itself is so much less convenient that the ESP32 (because no need to yield() and pause etc. anymore when operating system takes care of stuff)

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Tue May 23, 2017 12:06 pm
by texy
An epaper display coupled with a pi zero would be useful for a lot of projects where current requirement is relatively low and speed not essential.
For now I guess the cost is the limiting factor, not just the display itself, but the controller and what about drivers?
Texy

Re: Is the Raspberry Pi a good ePaper platform?

Posted: Wed May 24, 2017 3:11 pm
by skspurling
tpylkko wrote:
The currie chip on that board contains a two core x86 processor running at 32Mhz (can anyone say enhanced 386? Maybe runs windows 95?)
No. Not enough RAM even (80 kb). Datasheet page 49 seems to say single core also. In other words, there is a Intel Quark (i.e 32-bit x86 CISC) and a ARC EM4 core (i.e 32-bit RISC), not a "two core x86 processor".
Okay, I realized afterwards that I had misspoken, but this is still like an older general purpose PC running beside an Arduino.
So, it's kind of a kicked up Arduino, not an embedded general purpose computer like a Pi. Your RTOS for the Currie enables some higher level coordination, but this is a real time MCU that is built for real time interactive tasks.
What you say is true, but then again nobody here, certainly not me, was claiming that running FreeRTOS or Zephyr on a microcontroller is like running Raspbian on Raspberry pi. The original poster asked about using a ARduino/microcontroller with RTOS, at no place at any time did he or anyone else talk about Linux or any other general purpose OS, AFAICS. A general purpose OS would be a bad thing for ePaper anyway, because it is harder to use with low energy.
Actually, some of the early "mergers" of the traditional Arduino with a general purpose CPU were more similar to running linux on the Pi Zero with a connected AVR core. A full OS isn't necessarily a bad thing for ePaper, and may give you more flexibility and capabilities depending on your application. The power difference isn't that great. Not having to power up the HDMI makes a large difference, and ePaper could help with that. If you want to run slower, use a light image and under-clock the zero. Trim it down. You can also run RTOS on the zero if you want.
I am not sure where you are getting the 8 bit legacy stuff, but they still have the gema, nano, micro, mini, and uno.
Well, I certainly could have expressed that better. But I meant that there are fewer and fewer (if any) that do not use a RTOS in the background to schedule tasks. And this is indeed because they are increasingly hybrids. Which is good, because as stated earlier using the ESP8266 already in itself is so much less convenient that the ESP32 (because no need to yield() and pause etc. anymore when operating system takes care of stuff)
I guess my point was, the enhanced arduino's are not replacing the traditional units. They are filling a purpose, but they aren't like Pi's and they are overkill for the applications where you just need an UNO. Sometimes you want to control where you yield() and pause. It might seem like a bother, but if you are in a time sensitive process, that interrupt by the OS could cause and issue. That is why the market keeps adding new and unique things. I'm not seeing fewer things that don't run an RTOS, I am seeing a more diverse market that has things that run an RTOS in addition to things that don't. I mean, I don't see 8 bit 8 pin micro controllers going anywhere any time soon. Honestly, those things were puzzling when I fist saw them. Power, ground, and 6 pins of I/O? Someone finds them very useful. Maybe a little Sumo Bot? Hey, all things for all people... You may be finding them more prevalent in what you are doing, and they may be a growing market segment, because they are cool for some things, but I don't see them upending and replacing traditional code on metal systems just yet.