E-ink, Low-power CPU, & Solar Power: 3 sides of the same Lid ;)

A couple months ago, I started a casual solar powered Raspberry Pi Zero project.
https://www.raspberrypi.org/forums/viewtopic.php?f=41&t=296208

Like this topic’s subject title, to sell e-ink, its battery life could better be demonstrated by coupling it with low powered PCs. The Pi Zero W uses 120 mA of power: https://www.pidramble.com/wiki/benchmarks/power-consumption :
The Waveshare 10.1" e-ink HDMI display uses around 500mA:
https://youtu.be/A7Se2vsOC48
“Reading documents: 5V 400mA-550mA; playing video: 5V 550mA-1100mA; The power consumption is mainly related to the refresh rate and the number of pixels that are refreshed.”
They recently released a 7.8" with a driver board for about 1/2 the price.

I haven’t found any cheaper general purpose PCs ($5 Pi Zero) and monitors ($255 Waveshare HDMI e-ink) that use overall power and cost less at 7"-13." The battery life would be better than some of the best Intel ULV notebooks.

To minimize power, I am curious if there are ARM SoCs like the M0+ that can run at near-threshold voltage (>10mhz) and if there is e-ink that can run with more partial refresh (maybe even split screen partitioning) to save even more power.

I am curious if there is a PC that can turn off while saving the RAM (a memristor?) info so that it can boot up again where it left off instead of needing to stay idle for a long periods.

Powering the board on just solar with an indoor light may be possible with something like a static machine- the RCA 1802 runs at 3mhz. I know the TI-30Xa Solar can too- but that is just a calculator.

With each generation of Moore’s Law, the temptation to fit more transistors on the same chip size to get more power leaves us with laptops that barely have more battery life than laptops made 15 yrs ago. This is greatfor performance and design, but for those who want to reserve that extra silicon space for a lighter processor- a single or dual core 5 nanometer processor, for example, instead of an octocore ARM that can run at 10mW and power an e-ink at 50mA even at the peak of a refresh, then a more tightly coupled all-in-one (AIO) design is needed.

It would be nice if there were micro-inverter-like circuits under the solar panel that run power directly to the display, since it uses the most power of the system. (kind of like dimming zones on a large OLED screen, except providing parallel power rather than dimming functionality) This could allow the laptop to run on hybrid power even if all the solar cells are not in full view of the sun. So if the solar panel has 4 cells and one cell isn’t able to provide power because it’s in the shade, rather than dip into the battery reserves for the whole display, only ¼ of the screen is tapping the battery.

Having a low power SoC (Pi), E-ink) screen, and a capable solar panel (10watts minimum) would be like a trifecta, an unstoppable Bermuda triangle of power, portability and a pretty display. Maybe it for this reason few have tried to build it :wink:

But also, one of my motivations is that I recently read the Aptera electric car is set to be released soon, and it is ironic that it is a partially-solar powered car that may be released before a commercially available solar powered laptop is. No biggie.

That’s an amazing project! Respect for the setup!

I have a few questions:

  • Do you have a picture of it of a first prototype?
  • Any plans to commercialize it, or more like a hobby project?

I am curious if there is a PC that can turn off while saving the RAM (a memristor?) info so that it can boot up again where it left off instead of needing to stay idle for a long periods.

Have you trried this?

But also, one of my motivations is that I recently read the Aptera electric car is set to be released soon, and it is ironic that it is a partially-solar powered car that may be released before a commercially available solar powered laptop is. No biggie.

Yes I also find this quite ridicolous, that there is so little innovation in this field? Maybe eink dispaly are the answer to a longer battery life.

In terms of what screen to use. I think Waveshare might be your best bet. You can also look at the Inkplate (they released a "10 inch recently I think) as well as at Kaleido screens (even color) form Eink directly. But usually those are not plug and play. Other Screen alternatives to look at: Sharrp Memory LCD, RLCD screens, transreflective screens.

I think if you are able to create the first eink laptop, you will get huge respect from the community. If you want the best eink screen in terms of refresh rate you defintley need to go for the Dasung ones. Maybe you can just buy a chepaer '13 used in ebay (prices might go down, because of their newest release).

Cheers!

1 Like

-Do you have a picture of it of a first prototype?

I added a sketch (thanks to MS Paint):


Update: To show you what someone really cool did in building a laptop, check out this:

My next picture is not really trying to compete with that. It is just using all off-the shelf- products.


The cost of the chassis is remarkably lowered by using pre-built components like the Apache 1800. The most convenient feature is the hinge, which would probably cost more to manufacture elsewhere.

I think the least expensive e-reader with 80% of the app functionality of a Raspberry Pi is the Onyx Boox Poke 3 ($189).or the Poke 2 Color ($279). I could connect my bluetooth keyboard and use the Poke 2 as a typewriter. It has several Google Play apps that can be sideloaded. I think it’s a nice looking tablet too. My Apache 1800 cost me $13, and as of yesterday it was only $10 at Harbor Freight. Combined with an e-reader that allows blue-tooth keyboards, I would be hard pressed to built a cheaper laptop. That said, there is elegance in a simple, but featured design like a lightweight linux running on an e-ink display. This e-ink is the 10th generation Kindle with front light, and I paid $45 like new. That means the $10 bluetooth keyboard pictured doesn’t even work with it, lol, but it looks like a laptop, right? :wink: It even supports landscape mode, but not on the experimental browser. There are so many preferences when it comes to building a laptop that I partly believe it could be kept an open standard, but at the same time sold as a ready to use PC like the Raspberry Pi 400 as an option, with much more design already picked out.

I think for the most modular approach, replacing that Pelican 1150 LCD screen in that youtube link with an e-ink screen would be the simplest way to build an e-ink laptop. It would be low-cost, and accessible, rather than proprietary. The main downside is that it wouldn’t nearly as thin as other laptops. I consider the Pelican/Apache size so versatile that it appears to be the de-facto open standard (ATX-like) of SoC based laptop cases.

My first “prototype” was a 5 Watt panel. A large laptop, typically 15.6 or 17" could fit a 10Watt panel, although there may be more efficient panels that can fit 21 watts. I would like to stick to this size, although fold out panels are available too. I have added a couple pictures here: but I have more here: https://www.raspberrypi.org/forums/viewtopic.php?f=62&t=289595#p1753787

-Any plans to commercialize it, or more like a hobby project?

Currently it is a hobby project, but I welcome anyone to contribute ideas/sample boards/displays. I have built many PCs with the ATX and microATX form factor, so I am partly leaning towards having a laptop that can be partially open-standard, although this isn’t a requirement for a prototype, only because the first assembly of any self-powered laptop is likely to come from bringing together three companies that are not necessarily already working on some integrated product- that is a solar panel manufacturer, a SoC maker, and a display maker. I have read that the Intel IoT Edge Mote picture:

uses a solar panel on an IoT, so there may already be some specialized companies that are capable of bringing the solar panel tech to the circuit board and may just not have adapted it to an e-ink capable of a larger resolution, and one that can run linux.

"Have you tried this?

I have not, although I have heard of similar projects: https://hackaday.com/2020/12/21/solar-pi-zero-e-paper-photo-frame-waits-for-the-right-moment/
Also, I found this RTC: https://ambiq.com/rtc/

As a practical proof of concept for a solar laptop, I would like to update with my research from today and cover three topics: Screen, solar, and SoC.

Screen:

Considering: A screen that would be considered e-reader or netbook sized: 5-7." A smaller screen wouldn’t be considered really practical, even if it is still “proof of concept”.

I checked a handful of Waveshare eink panels for some of the slowest refresh rates from 26s to <1s refresh, from slowest to fastest:

600x448, 5.83inch E-Ink Display HAT SKU: 14732
Grey level: 2
Full refresh time: 26s
Refresh power: 26.4mW(typ.)
Standby power: <0.017mW

880×528, 7.5inch 3-color E-Ink display HAT for Raspberry Pi: SKU: 17960
Grey scale: 2
Full refresh time: 21s
Refresh power: 50mW(typ.) (power increase seems due to more pixels)
Standby power: <0.017mW

5.65inch ACeP 7-Color E-Paper E-Ink Display Module, 600×448 SKU: 18295
GREY SCALE 2
FULL REFRESH TIME 15s
REFRESH POWER 50mW (typ.)
STANDBY CURRENT <0.01uA (almost none)

640x480 5.83inch E-Paper E-Ink Display HAT SKU: 14597
GREY SCALE 2
FULL REFRESH TIME 5s
REFRESH POWER 26.4mW(typ.)
STANDBY CURRENT <0.01uA (almost none)
The above----compared to SKU 14732 it seems to have >5x faster refresh with similar resolution. This may just mean that the refresh rate is using 26.4mw every 5 seconds rather than every 26 seconds. Assuming any of these panels can even be hacked to run LXDE linux and not just a slideshow :slight_smile:
It is a $52 panel, and I am curious how it would run

800x600, 6inch E-Ink display HAT for Raspberry Pi 800x600, 6inch E-Ink display HAT for Raspberry Pi SKU: 15852
Greyscale: 16
Operating voltage: 5V
Interface: USB/SPI/I80
Resolution: 800 × 600
Full refresh time: <1s
Total refresh power: 0.6W(typ.) [600mW]
Total standby power: 0.3W(typ.)

I like the one above because it still has relatively low power use among E-ink. The higher resolution, the more board system power.
However, there doesn’t appear to be a driver that can use this for a GUI. It appears to be only for displaying a set of images or text.
Pros: relatively fast refresh. 1s is definitely not fast enough for video, but could be used for browsing and typing. Without solar panels being more than 22% efficient and the power consumption being in the microwatt range for refresh, limiting the refresh rate to 1s-2s is currently one of the only ways to keep the power consumption as low as possible.

Since it is a $52 panel with no known LXDE capability, a development panel I would like to see worked on is the $29. It includes a header for the Pi.

3.7inch e-Paper e-Ink Display HAT For Raspberry Pi, 480×280. SKU: 18057
GREY SCALE 4
OPERATING VOLTAGE 3.3V/5V
INTERFACE 3-wire SPI, 4-wire SPI
RESOLUTION 480 × 280 pixels
PARTIAL REFRESH TIME 0.3s
FULL REFRESH TIME 3s
REFRESH POWER 50mW (typ.)
STANDBY CURRENT <0.01uA (almost none)
18057

Placing a hard limit on the refresh like 3s could help some beginners /power user from running the battery out much faster than the solar panels can recharge the laptop. The alternative is to have a larger battery, one that can last for 2-3 days, or as many days as the user believes they will be out of the sun. The problem with this however, is it’s not really my ideal of a solar laptop- it is one that can turn on with a single 60W equivalent light bulb and not be drained even in a stress test. Some features, like video, could even be disabled to prevent crashes and wear and tear on the screen. But future models could include it if it able to handle video on ambient light power.

Another display of a very similar resolution is the Adafruit SHARP Memory Display Breakout (400x240) $44.95


“The Adafruit 2.7” 400x240 SHARP Memory Display Breakout is a chonky cross between an eInk (e-paper) display and an LCD. It has the ultra-low power usage of eInk and the fast-refresh rates of an LCD. This model has a gray background, and the pixels show up as black-on-gray for a nice e-reader type display.
“The display is ‘write only’ which means that it only needs 3 pins to send data. However, the downside of a write-only display is that the entire 400x240 bits (13.5 KB) must be buffered by the microcontroller driver. That means you cannot use this with an ATmega328 (e.g. Arduino UNO) or ATmega32u4 (Feather 32u4, etc). You must use a high-RAM chip such as ATSAMD21 (Feather M0), Teensy, ESP8266, ESP32, etc. On those chips, this display works great and looks fantastic.”
(This appears to only have one gray, although the refresh rate is great for a low power display- i do not know how much power it actually uses though)

Waveshare has confirmed on both their 1872×1404 7.8" and 10.1 e-ink screens that use HDMI:
“Dear, Reading documents, around 5V 400mA-550mA,playing video, around 550mA-1100mA. The power consumption is mainly related to the refresh rate and the number of pixels that are refreshed.”

5Vx1.1A is 5.5W. If one toggles browser tabs or windows on a laptop, a refresh will happen every several seconds and use I estimate, 2Whr. These 2 screens are nice for reducing eye-strain, but ambient light and even sunlight is nowhere near capable of powering these two without several hours of charging in daylight.

I am curious if these e-paper displays can work the Ambiq Apollo 3 Blue/Apollo 4 Dev boards, which has SPI pins, and which I will return to later in this post.

I will return to displays soon but I wanted to cover a little on solar.

Solar:

There are a lot of misconceptions about amorphous solar panels, and even I was confused. I used the TI-30Xa Solar as an example, but I realize it doesn’t use anywhere near the power as a Pi Zero. That said, there are some advantages to using amorphous because it is more efficient in low-light (i.e. indoor). I found a discarded solar light that also is able to charge an AAA battery using just 3 light bulbs. It also uses amorphous panels. The benefit is that it will charge with a VERY low threshold compared to crystalline. I am a little surprised I didn’t think of amorphous earlier. Even if it costs a little more, the amount of system power design limit (TDP) being used will be lowered so that it can handle it, and so that not a ton of panel area is needed.

from https://www.redarc.com.au/poly-vs-mono-vs-amorphous-know-the-difference :

Amorphous cells offer higher efficiency than the other two. They are your most efficient cell in the market today, although they do require twice as much surface area for the same power output as a monocrystalline blanket or panel. However, they are more flexible and can handle higher temperatures better.

"Amorphous cells are constructed from a fine layer of silicon, which enables solar panels to be more flexible and therefore lightweight.

Amorphous cells can withstand higher temperatures without output being affected, compared to poly or mono crystalline cells.

Amorphous cells perform better in low light conditions compared to even the most efficient monocrystalline panels. This is because they can absorb a wider band of the visible light spectrum due to the uni-solar triple junction cell technology."

from: https://news.energysage.com/types-of-thin-film-solar-panels/

Advantages and disadvantages of amorphous solar panels

Amorphous solar panels have many advantages over their solar panel counterparts. For one, companies don’t need to use a lot of toxic materials to build amorphous silicon panels – this is not always true with some other types of panels. Additionally, they require much less silicon than conventional solar panels. Amorphous solar panels are also bendable, and less susceptible to cracks than traditional panels constructed from solid wafers of silicon.

However, there are also some disadvantages to amorphous solar panel technology, the primary challenge being their efficiency: compared to conventional silicon solar cells, amorphous solar cells are typically less than half as efficient. Most types of amorphous solar panels hover around 7 percent efficiency, while mono- or poly-crystalline solar panels on the market today can have efficiencies of over 20 percent.

Cadmium telluride (CdTe) solar panels
cadmium telluride solar panels
Cadmium telluride (CdTe) panels are the most popular type of thin-film solar technology used in installations today. These panels are made up of several thin layers: one main energy-producing layer made from the compound cadmium telluride, and surrounding layers for electricity conduction and collection. One of the most well-known manufacturers of CdTe panels is First Solar, an American company headquartered in Tempe, Arizona.

Advantages and disadvantages of cadmium telluride solar panels
One of the most exciting benefits of CdTe panels is their ability to absorb sunlight close to an ideal wavelength, or shorter wavelengths than are possible with traditional silicon solar cells. Simply put, shorter wavelengths mean higher energy, which is easier to convert to electricity. Plus, cadmium telluride panels cost less to manufacture and install than other types of solar panels.

However, one of the biggest concerns with CdTe panels is pollution. Cadmium is a toxic heavy metal – one of the most potent ones at that. Cadmium telluride, the compound used in these panels, also has some toxic properties. Importantly, CdTe panels are not harmful to humans or the environment as they generate electricity on rooftops, and companies take proper health precautions when handling the materials during the manufacturing process. However, the disposal of old CdTe panels continues to be a concern.

Also, like amorphous panels, cadmium telluride panels come in at lower efficiencies than other types of solar panels. Sitting around 10 to 11 percent, CdTe panels are above the efficiencies of amorphous panels, but still don’t come close to the average efficiencies of standard silicon panels.

Copper gallium indium diselenide (CIGS) solar panels
CIGS solar cells are made from a compound called copper gallium indium diselenide (try saying that five times fast!) sandwiched between conductive layers. This material goes on top of different types of layers, such as glass, plastic, steel, and aluminum. Some types of CIGS panels use a flexible backing, and the thin layers allow for full-panel flexibility.

Advantages and disadvantages of CIGS solar panels
Unlike most other thin-film solar technologies, CIGS solar panels offer competitive efficiencies to traditional silicon panels. With efficiencies exceeding 20 percent in laboratory tests, there may be a place for high-efficiency CIGS panels in the global solar panel market.

Like CdTe panels, many CIGS cells also use the toxic chemical cadmium. However, CIGS technologies use a lower percentage of cadmium, and therefore are a more environmentally-friendly choice as far as thin-film solutions go – even better, some models exchange the use of cadmium for zinc. [Considering these CIGS panels may be on, instead of in laptop or a rooftop, it would appear that the Zinc replacement might be the better non-toxic alternative. Is it called ZIGS? ;)]

The biggest disadvantage of CIGS panels is their price. While CIGS solar panels are an exciting technology, they remain very expensive to produce, to the point where they have a hard time competing against the more economical silicon or CdTe panels."

So I think the key points to consider while reading this all is that that many laptops are used primarily indoors, and while the lighter weight of thin film amorphous cells is definitely a bonus, the primary reason for researching alternatives to crystalline is their ability to produce more power in low light- indoor light included. A little background on charging via solar power indoors: https://www.axionpower.com/knowledge/charge-solar-without-sun/

Now, onto the SoC:

The first thing that popped out to me when I was skimming the Apollo 3 Blue SoC boards is that they can run SPI 3-wire 4-wire. Now, I don’t know if they can run the E-ink displays that use 3/4 Wire, but they have have 74 GPIO pins, but it is a technology that is already out, unlike the the Apollo 4, which is being released next year. It is likely that USB uses too much power for the board and might need to be dropped (from the sketch). Having uSD might work though.

At this point, I am curious of assembling three core components:

  1. The system on a chip that uses the lowest power consumption of any linux-capable ARM M or ARM A series (likely ARM M) with at least 1MB of RAM. Current leader (correct me if i am wrong): Apollo 3 Blue Plus, with 576 microAmps at 96mhz TurboSPOT or 2.9mW. I do not know if it can run linux, but I would like to know if it can run. Some ARM M operating systems like MBED OS seem like they can run a limited GUI.

  2. The E-Paper or Rdot display that uses the least average power consumption and can still display an LXDE environment, starting from 400x280 and up. From the above Waveshare displays, that appears to be something like the 640x480 5.83inch E-Paper E-Ink Display HAT SKU: 14597 with 26mW refresh power and 1-5s refresh. That uses about 26mW of power, every 5seconds. With a 2s refresh, it seems like 52mw would be barely usable (although I can’t say for sure, because I can’t change my monitor to 0.5 hz, though I would be curious to see what that is like). The question is, how much power can a 22% solar cell produce on a 10x15 lid, and whether it is enough to power a system running approximately 60mWh.

  3. The solar panel capable of collecting the most power on a typical 15.6 or 17" laptop lid. It could even be designed to have solar on its entire chassis, like around the display and keyboard and the backlid, but that might appear a little too tacky. According to Arcadia, the average solar panel produces 15 watts per square foot. However, indoors, that might be zero with an all-or-nothing voltage threshold in crystalline panels. Therefore, a solution using amorphous panels might be able to collect a little more wattage, perhaps more power than is used by an ARM M series and moderately refreshable e-ink.

It’s not clear why the 800x600, 6inch E-Ink display HAT for Raspberry Pi with 600mW has such a huge jump in power usage, but it appears the refresh rate could be as fast as 0.25s and the 16 greys(as opposed to 2-4) has something to do with it :slight_smile:

I will try to sketch a more elaborate prototype of a more ideal laptop. So far I have run the Pi Zero on 21 watts (approx 12"x19" when folded out without a battery in sunlight) I don’t even have an on/off switch for my Pi Laptop, but that is really the last thing I really need to build it. :slight_smile:

2 Likes

Happy New Years everyone. Today I took a crash course on the difference between micro controllers and micro processors. I found a few great introductory articles when i searched “linux on microcontrollers”:

While some of the articles say there is a bit of overlap between the two, I think it is useful to consider all options for building a solar powered laptop. The primary advantage of a micro controller is the lower power. This is a preference for those who need it to be solar powered. For having just an e-ink laptop, a micro-controller is not necessary. But as the desire to add even more I/O and network features, the practicality of a microprocessor increases.

I recently found the Sparkfun Edge board https://www.sparkfun.com/products/15170 which has an Apollo 3 Blue chip (6uA/mhz). While it’s not designed for linux and has only 384kb of RAM, it would be interesting to see if this board could run a pared down userspace. I’m not sure if it has SPI output though for e-ink.

Also, I came across this interesting tidbit:
“The system requirements for Windows 1.01 constituted (listed as “Monochrome or color monitor”), MS-DOS 2.0, 256 KB of memory or greater, and two double-sided disk drives or a hard drive.[[1]] Beginning with version 1.03, support for Tandy and AT&T graphics modes was added.”

Awesome stuff! Thx for sharing! Will need some time to digest everything :wink:

1 Like

Btw, the reddit community loves your stuff: eink (reddit.com)

Also I think this OS would be a great fit for the project: HumaneOS

1 Like

I’ll try to reply to some of your points, sorry if it’s confusing but it’s hard to quote on mobile.

E-Ink panels don’t have to be refreshed at a constant rate, so yes, there definitely are many displays that can be refreshed only when you need them to be. However, those are not likely to include HDMI connectivity because HDMI requires a constant refresh rate (disregarding emerging technologies like Nvidia G-Sync, which still require a “base” refresh rate and can’t go lower than that). But if Waveshare is releasing a panel with just a driver board, it will probably have inputs other than HDMI that would allow variable refresh rate.

The battery life can’t even be compared to ULV laptops - it should be orders of magnitude better. In fact, it should be better than a smartphone and more similar to a feature phone, assuming you can get a real e-Ink display instead of a “monitor” with constant refresh rate. Both the CPU and the screen consume less power than their smartphone counterparts.

If you’re considering going as low as 10-20MHz, you might as well ditch the idea of having an application processor. At that point, it’s just a waste of energy since you won’t be able to run a multitasking OS on it. I recommend you look into MCUs such as ESP32, they’re cheap and much more efficient than a general purpose SBC.

Saving the contents of RAM into permanent storage before shutting down is a very standard thing in any modern OS and it’s called hibernation :slight_smile:

RCA 1802 sure was power efficient for its time, but modern electronics are much more advanced and much more efficient. Take the aforementioned ESP32 for example: it consumes only about 160mW (compared to over 200mW for RCA 1802) while running at 320MHz compared to the 3MHz you mentioned. That’s literally a hundred times faster while consuming less power :slight_smile: I don’t know how much power your solar panel generates, but if it’s enough for RCA 1802, it should be enough for both.

2 Likes

@pauliunas.

Thanks for your response. I have also been interested in a variable refresh rate ever since FreeSync/G-Sync was released. I was considering HDMI for higher-end laptop builds, but I do prefer alternatives like DSI/GPIO since the power consumption is generally lower. DSI is plug and play but not many makers produce driver boards for it, at least in e-ink.

I keep reading about this ESP32 in various boards. I will consider it more now, since it seems to be in a lot of boards by Adafruit and Sparkfun. I do like the 140mhz range (single core) and the RAM sizes.

While I considered 10-20mhz, I do not actually want it to be stuck at that speed. I think 48mhz+ is more reasonable, but when choosing a thermal design (TDP) envelope for system, I am thinking of all the possible applications/office suites that can can run in that range without getting bogged by higher RAM once modern browser needs are considered. Building a laptop with just an AbiWord program and some other off-line productivity programs is just a much nicer starting point for proof of concept before adding the browser that takes the RAM cake :slight_smile: :

I think the ESP32 will definitely be able to tackle an early 1990s era browser like http://kmeleonbrowser.org/ , https://www.falkon.org/ https://astian.org/en/midori-browser/

Update: it appears the Firebeetle ESP32 uses some of the lowest power of the series:
https://diyi0t.com/reduce-the-esp32-power-consumption/

Found a couple discussions on this:
https://hackaday.io/page/6966-has-anyone-managed-to-get-a-minimal-linux-install-onto-an-esp8266-board (interesting mentions: RetroBSD (from pre-MMU, requires 128KiB RAM)
https://www.esp32.com/viewtopic.php?t=6723

Update 2: Thanks ei2030, who mentioned the Inkplate 10." checked the Inkplate 6" on Crowdsupply uses an ESP32 WROVER and 8MB RAM. I am curious what kind of I/O it can connect, like bluetooth keyboards & mice.

Also, ESP32-S2 uses RISC- https://www.cnx-software.com/2019/12/03/western-digital-risc-v-linux-busybox-boot-sipeed-maix-go-board/

Also, this one can run as low as 80mhz and has 2MB RAM:

Update 3: Some really interesting GUI work on the ESP32! http://www.fabglib.org/
https://hackaday.com/2019/07/08/esp32-gets-advance-windowed-apps-using-this-vga-gui-library/

His recent YouTube videos shows he has now worked on SPI displays in addition to VGA!


That’s some nice findings.

The power consumption comparison that you found is for development boards - they all use the same ESP32 module that uses the same amount of power. The differenxe comes from included peripherals such as USB to TTL bridge which you don’t need for your design.

Another thing to consider is that ESP32 has its own custom instruction set (shared with some other Espressif modules) and not much work has been done on porting PC-like functionality to it, such as word processors or USB host capability. So most of the software would have to be custom programmed. I still think it’s better than an RCA 1802 as it has more clock cycles to spare for I/O and you’d need to write custom USB drivers for both of them. But if you want something more “plug and play”, you might want to stick to SBCs that already run a desktop Linux distro. It may seem counter-intuitive, but buying a more powerful board built on a newer process, such as Khadas VIM3, and downclocking it would result in lower overall power consumption.

2 Likes

Looks like there is another large GUI library https://blog.lvgl.io/2019-01-31/esp32

https://www.osrtos.com/ quite a few RTOS’s here- show compatibility with ESP32 and some have file systems, low powered wifi, and even a GUI, like:

https://en.wikipedia.org/wiki/Zephyr_(operating_system) Zephyr (the ESP32-3C) has RISC-V
https://www.espressif.com/en/products/socs/esp32-c3

While most RTOS seem to have one or two linux capabilities, they don’t seem to offer the entire kernel. That said, it would be interesting if the rest of the kernel/apps could be loaded externally from flash storage.

Update: A Qt based ROTS: https://membarrier.wordpress.com/2017/04/12/qnx-7-desktop/

2 Likes

I’m not an expert in this area, but there are CPU design considerations for running RTOS vs. a regular OS. Simply put, regular OSs run best on application processors such as the one on Raspberry Pi, while RTOSs run better on microcontroller architectures like ESP32 and various Arduino boards. ARM makes both kinds of processors (for example, newer Arduino boards use ARM microcontrollers), but even though they have the same basic instruction set, you can’t run a Linux kernel on an Arduino.

Similarly, as far as I understand from the reading I’ve done, ESP32 won’t run a Linux kernel even if you port it to its instruction set. I think it has to do with the way it handles interrupts, but I’d have to refresh my memory on the differences between application and microcontroller processors.

1 Like

“Similarly, as far as I understand from the reading I’ve done, ESP32 won’t run a Linux kernel even if you port it to its instruction set. I think it has to do with the way it handles interrupts, but I’d have to refresh my memory on the differences between application and microcontroller processors.”

You may be right about that. From what I’ve found:


"RIOT-Xtensa-ESP is a bare metal implementation of RIOT-OS for ESP32 SOCs which supports most features of RIOT-OS. The peripheral SPI and I2C interfaces allow to connect all external hardware modules supported by RIOT-OS, such as sensors and actuators. SPI interface can also be used to connect external IEEE802.15.4 modules to integrate ESP32 boards into a GNRC network.

Although the port does not use the official ESP-IDF (Espresso IoT Development Framework) SDK, it must be installed for compilation. The reason is that the port uses most of the ESP32 SOC definitions provided by the ESP-IDF header files. In addition, it needs the hardware abstraction library (libhal), and the ESP32 WiFi stack binary libraries which are part of the ESP-IDF SDK."

This is a different RTOS, but it seems attempts at a desktop environment have been made:


The size of Razor-Qt, or the smallest desktop environment for linux may fit on the SRAM, but it seems like Zephyr on RISC (as mentioneed by BusyBox link above) might have a more mature set of features that include multi tasking.
http://www.staroceans.org/kernel-and-driver/Embedded%20Linux%20System%20Design%20and%20Development.pdf
Not sure if this is applicable to RTOS:

"Simple GUI applications don’t require any toolkit and should not be a problem
to write in Nano-X. In this section we discuss the toolkit options available
over Nano-X.
FLTK (Fast Light Tool Kit) has a port for Nano-X called FLNX. FLTK provides
C++ abstraction over Nano-X APIs. FLTK also provides a GUI designer called
Fluid that can be used to design GUI forms. The Nano-X/FLTK combination
Listing 9.4 Sample Nano-X Application

340 Embedded Linux System Design and Development
is proven and tested; many embedded applications have successfully employed
this combination. For instance, the ViewML browser is an HTML browser
implemented using the same combination.
NXLIB (Nano-X/X-lib Compatibility Library) allows X11 binaries to run
unmodified using the Nano-X server. This means that many full-featured
applications that run on the X-server would run on the Nano-X server as well
with little or no modifications. The NXLIB is not a complete replacement of
X-lib, because it provides only a subset of X-lib APIs. NXLIB will help reduce
porting time of huge applications that were written using other toolkits built
over X-lib. For example, a program written using Gtk-X will run on Nano-X
without many code changes"


http://www.microwindows.org/ (updated 10/2018)
2 Likes

interesting, didn’t know there was so much work done on making a desktop OS run on ESP32. But it makes sense, after all it has a ridiculously high amount of RAM for a microcontroller and the clock rate is impressive too :slight_smile:

“It may seem counter-intuitive, but buying a more powerful board built on a newer process, such as Khadas VIM3, and downclocking it would result in lower overall power consumption.”

This is a great idea. I digged around today for some newer chips after reading Jay Carlson’s CPU reviews and found the Rock Pi S (RK3308) runs on an ARM A35.
" * The F1C100s has strikingly good power figures — matching the 528-MHz Cortex-A7-endowed i.MX 6UL in terms of efficiency (though certainly not performance). Its 40 nm process appears to be a smaller technology node than what the NUC980, SAM9X60, and SAMA5D27 use.
… * When you move up to the Cortex-A7 or Cortex-A35, you don’t necessarily get any more MHz/mA — instead, you get more DMIPS/MHz, so they consequently perform more DMIPS/mA, too."


https://www.seeedstudio.com/ROCK-PI-S-Mini-Computer-with-Rockchip-RK3308-512MB-RAM-1GB-NAND-Flash-p-4276.html
It has a 1GB NAND flash that allows booting an image (typically an IoT OS, but also an ARM OS that can fit under 1GB- like Armbian: https://www.armbian.com/rockpi-s/

This would be perfect because the SD card apps and docs wouldn’t have to compete for the slow uSD write speeds for system processes.

That said, there is only one Display that is supported, the 3.5" waveshare TFT SPI:https://wiki.radxa.com/RockpiS/hardware/display
I already have a similar knockoff TFT from AliExpress for my Raspberry Pi. It would be nice to know if there is a general purpose display adapter for e-ink via SPI, as their HATs only support still images:
https://www.waveshare.com/wiki/E-Paper_Driver_HAT
The power consumption is reviewed here: https://www.thanassis.space/rockpis.html
"Putting my USB power meter in the loop, I measured the current going in. During boot, this spiked up to around 300mA - and then settled down in idle, to around 80mA.

Put differently: 0.08A x 5V = 0,4W. 400mWatt!

Very impressive!.. Things have really changed since I last measured this; I didn’t keep a detailed journal like I did for this board, but I believe the Orange PI Zero was somewhere around 250mA - more than 3 times this little guy.

As for the consumption during the other benchmarks:

when stress-testing with my renderer loading all CPUs at 100% and fully using the floating point unit on all of them, the current consumption reached a ceiling of 370mA. Simply put, the maximum consumption I managed to force on the ROCK PI S, was a bit less than 2W.

When maximizing the USB bus usage with dd from an external 1TB drive, the current consumption topped at 150mA (0.75W)"
Similar to the Pi Zero. Seems like the idle usage is decent. I suppose the Khadas VM3 might have better idling with LDDR4- though it has a lot of IO ports:

Wavehsare 7.8 HDMI e-ink monitor+external driver board uses an FPGA, and their 10.1 HDMI e-ink seems to run something similar.

Even running an e-ink display to something like this would make it a capable typewriter.

I looked into the M5Stack Core Ink

And the larger https://m5stack.com/products/m5paper-esp32-development-kit-960x540-4-7-eink-display-235-ppi?variant=37595977908396

These are interesting and low cost device with limited programmable microcontroller functions. They can be used as bluetooth keyboards, but I’ve inquired if they bluetooth keyboards can be connected to them- They would make Get FreeWrite Type writers at 1/6th the cost (if you don’t mind typing on a 4.7" screen.)

This may be a poor analogy, but I realize microcontrollers, and real-time operating systems are kind of like a river. There is an input and output, but no real space to “float” in place while working an application, by design. An application processor, is like a lake, or an ocean- scalability is an option with multiple cores and memory. But with the amount of RAM added on microcontrollers, it is curious as to how much information can be stored in something like the M5Paper if it were turned into a simple text editor (or better yet, a word processor with Rich formatting) by outputting the data via bluetooth or some other storage medium expansion ports(HY2.0-4P,M-BUS,HAT expansion) adapters to uSD).

The https://www.seeedstudio.com/Sipeed-Lichee-Nano-Linux-Development-Board-16M-Flash-WiFi-Version-p-2893.html is the smallest linux board i’ve found.
https://www.electronics-lab.com/licheepi-nano-high-performance-sd-card-sized-linux-board-based-on-an-arm9-core/
" F1C100 supports Full HD video playback, including H.264, H.263, MPEG1 / 2/4 decoders. The integrated audio codec and I2S / PCM interface enable the user for an excellent audio experience. The TV-IN and TV-OUT interfaces allow the use of video devices such as the camera and the TV.

  • Display I/F – 40-pin RGB LCD FPC connector supporting 272×480, 480×800, 1024×600 and other resolutions resistive and capacitive displays
  • Video Decoding – H.264 / MPEG up to 720p
  • I/Os via 2.54mm pitch through holes and 1.27mmm pitch castellated holes
  • SDIO for WiFi module
  • 2x SPI, 3x TWI (I2C),3x UART
  • 1x TV out, 2x TV in"

Are there any FPC to e-ink adapters? Nothing above 640x480, not sure if it could handle it.

From Digikey:


https://www.digikey.com/en/products/detail/sharp-microelectronics/LS013B7DH03/5300387 are these drop-in ready for loading linux? lol
I’m a little skeptical this would work, but it is transflective, 39-pin FPC: https://www.aliexpress.com/item/4000419622239.html Cool video:
https://youtu.be/FNHorhEksMY

You picked a bad example. Rock Pi S uses 40nm process, that’s older than Raspberry Pi Zero actually slightly newer, but older than the rest of Raspberry Pi models. Zero uses the same CPU as the first ever Raspberry Pi (model A), that’s why it’s so old and inefficient. You’d have better luck underclocking a Raspberry Pi 2 or something similar. Khadas VIM3 is a better contender, as it’s built on 12nm.

FPC is “Flexible Printed Circuit” - it’s just a very broad generic term describing those flexible (usually yellow) display panel connectors. Every single display panel I’ve seen, including e-Ink, uses one of these, but there is no standard for the pinout. It can have any number of pins and those pins can do absolutely anything. Almost every FPC is different so you won’t find a drop-in replacement for the “supported” module. However, you can make an adapter board (check out JLCPCB, I can help with the board design if you need that) so most display panels will fit as long as they support the electrical standard (SPI). What you’re looking for is an SPI display. Stop looking at HDMI monitors and start looking for e-Ink modules - like this one:

They are usually sold as replacement parts for e-readers and not for custom projects, but you can always look up the datasheet for the model number or ask the seller.

I don’t know if you want an SPI display - just like FPC, SPI is a very broad standard and only defines how to send a single bit. It doesn’t have anything to do with displays, so everything else is loosely defined by the panel you choose to use. DSI, RGB888 and other standards are specifically made for display drivers, but they might not allow partial refresh, which is very important for e-Ink.

Here’s an example of how it’s done:

1 Like

The Khadas VIM3 has 4 A73cores and 2 A53 cores. It would be better to just use a single or dual core A53. Turns out there are exactly two made under on 14nm or lower:


https://en.wikichip.org/wiki/samsung/exynos/9110 Used on Samsung Galaxy Watch. lasts 4 days on a tiny battery, runs Tizen (this is without GPS, which defeats the point):
https://www.tomsguide.com/us/samsung-galaxy-watch,review-5705.html

https://www.sammobile.com/news/samsungs-exynos-7270-processor-now-powers-a-hifi-music-player/

Too bad Samsung doesn’t make SiP dev boards.

There is also the newest process: https://en.wikipedia.org/wiki/ARM_Cortex-A78 (available in 1-4 core clusters)
Like all Arm-chips, it is available for licensing, but it may be a while before someone wants to make a single core variant- the Exynos 1000 uses a combination of 3 chips.

I believe you can disable all cores but one in Linux.

2 Likes

Disabling extra cores is definitely something I can try.

I also have a more ambitious idea, which would require finding some investors. As I recall from this forum’s pdf, “consolidate a cluster of broad talent, and a taxonomy of
IP-holders/chipmakers towards an electronic ink rolodex!”

I have contacted ARM for a quote, however silly that might be, but to get a ballpark estimate of exactly what kind of licensing it would cost to have a a processor dedicated for a device designed for e-ink. The reason I believe it would be best to contact them and not Samsung or E-ink, is that microprocessor IP is and has always been tailor made. I may not know the intricacies of EUV lithography, but as the common need for more e-ink, whether for medical needs or general preference is becoming more clear, it would be an interesting idea to possibly crowdinvest:

This would be not just a system on a chip but heavy focus on the chip architecture itself. I believe an e-ink microprocessor could receive “discounts” if it could even be licensed similar to how the Raspbery Pi Foundation was formed:
“Components, albeit in small numbers, were able to be sourced from suppliers, due to the charitable status of the organization.” [7]

Something to consider, EI2030 :slight_smile:

An Exynos 9110 running on near-threshold voltage might be powerful enough and lightweight enough to run several mobile devices, including e-readers, tablets, note-takers, typewriters, laptops and connect various sorts of e-ink displays if a “more universal” standard were developed, so being able to connect e-ink displays that could be co-developed with the processor such as a standard neutral DSI connector.
" The Display Serial Interface (DSI) is a specification by the Mobile Industry Processor Interface (MIPI) Alliance aimed at reducing the cost of display controllers in a mobile device."


Edit: https://en.wikipedia.org/wiki/Video_Electronics_Standards_Association I understand this is a broad standard, but is there any place for e-ink to fit in any of these royalty-free specifications? https://en.wikipedia.org/wiki/DisplayPort#Cost

I have contacted an academic and industry professional who have developed solar powered microcontrollers, and they say they do not work on application processors, but encouraged me to look elsewhere.

Theoretically, if I wanted to license a derivative IP of a Samsung chip which is licensed by ARM, they would obviously both have to be involved. So, what IPs out there seem like a good e-ink crowdinvesting goal?

"FPC is “Flexible Printed Circuit” - it’s just a very broad generic term describing those flexible (usually yellow) display panel connectors. Every single display panel I’ve seen, including e-Ink, uses one of these, but there is no standard for the pinout. It can have any number of pins and those pins can do absolutely anything. Almost every FPC is different so you won’t find a drop-in replacement for the “supported” module. However, you can make an adapter board (check out JLCPCB, I can help with the board design if you need that) so most display panels will fit as long as they support the electrical standard (SPI). What you’re looking for is an SPI display. Stop looking at HDMI monitors and start looking for e-Ink modules - like this one:

[…] They are usually sold as replacement parts for e-readers and not for custom projects, but you can always look up the datasheet for the model number or ask the seller.

I don’t know if you want an SPI display - just like FPC, SPI is a very broad standard and only defines how to send a single bit. It doesn’t have anything to do with displays, so everything else is loosely defined by the panel you choose to use. DSI, RGB888 and other standards are specifically made for display drivers, but they might not allow partial refresh, which is very important for e-Ink.

Here’s an example of how it’s done:

essentialscrap.com"

I understand FPC and SPI are both very broad standards, but the fact that each device using one is different is precisely the reason I am exploring crowdinvesting for a display driver/microcontroller+standard that can adapt many new e-ink modules along with a system on a chip that uses just enough power to run the apps.

:slight_smile:

Well, if you look at some e-Ink module datasheets, you’ll probably find that many of them use the same few models of driver chips. At least that’s the case for TFT LCD modules, so I think it should be similar for e-Ink. They just all have different pinouts for their FPC connectors, but try to find a common denominator and you just might discover a popular SPI standard with minor changes across different modules.

1 Like