Sharp Memory LCD Displays = Ultra Low Power


Here is a million dollar product using the 1.27 inch Sharp Memory LCD


And here’s a $10 Million Dollar one. :smiley:


@RWB Did the Adafruit board work for you? I’ve got it hooked up to an Arduino using the Adafruit code and it’s not working at all for me.


Hmmm, never mind! Looks like the Adafruit board has two problems:

  1. The regulator is burnt out on this board too! If I feed the 3V3 output with voltage it works.
  2. The flat-flex cable on the mirrored display seems semi-broken. If I kink it down the display powers right up! Looks like it was bent too far (could have been either of us that did it).

I’ll replace the VREG at some point but for now it works. :smile:


@timb Yea the Adafruit board + the silver version of the display worked just fine. The silver version of the Sharp Display is a 96x96 pixel display, the black screens are 128x128 pixels and they will not work with the Adafruit libarary and code without changing the pixel layout numbers.

I never burnt the Adafruit board, I would have noticed it. The board is dual voltage board so the only way to burn it up is via a reverse polarity.

The guy I bought the Kuzatech boards from said that flex cable will break if you flex it more than a couple times so its not hard to do. Be careful with the rest of the screens and you should be good. I don’t like the silver screen anyways.


Well, the Adafruit board could burn out if it got more than 5V, but if you were connecting it to an Arduino or something I doubt that was the case. I originally hooked it up to my MSP430, which only outputs 3.3V and I just verified the power leads were correct from a photo I took, so it must have been either static from handling or over temperature from when I re-soldered the header. Ah well, I can just use the 3V3 output as an input. :smile:

I just used my hot air gun to remove the dead regulator from the Rengineer board, unfortunately when it blew it got so hot that it actually melted through the pads, so they came up with the regulater, along with the traces they were connected to! This means I’d have to glue a new VREG on upside down and then tap into other pads on the board to make the connections. Instead of going through all that trouble, I simply wired VIN straight into the capacitor (C5) that VREG output the 3V3 rail into. I verified the regulator’s output went straight into C5 by looking over the schematic and PCB files that were on GitHub (he built in the board in Diptrace, which I happen to use).

Here’s the results:

Not the most elegant solution, I admit, but it should work since I don’t plan on putting anymore than 3.3V into the board anyway!

Now, off to test it out.


Boom baby!

(This was connected to my Arduino Mega ADK, not the Spark Core.)


Hell yea :smile: Sure in the hell beats waiting for a new reg to ship out and arrive :smile:

And nice to see it up and running. The resolution on those is very high.

Are you just using the Adafruit library?

Your gonna be a Sharp Memory display expert before you know it.


Great work on these and great to see them in action.

Has anyone successfully connected the Adafruit Sharp Memory Display to the Sparkcore? I see there is the GFX library in Spark however the Adafruit code also includes the Sharp_Mem which I don’t know whether it has been ported.

Would love to know if anyone has got it working and then if you can share some code.



@neal_tommy Na Spark Core does not have enough memory to run these displays + any sizable program.

I’m resorted to using the Teensy 3.1 to power the Memory LCD’s in 1.26 inch and 2.7 inch sizes.


Hi @RWB,

Was this pre-4k ram or after? Just curious to see if I should put more pressure on our hardware guys about specs for future versions… :slight_smile:



@RWB, I am able to run the smaller 128x128 display with RAM but not the 400x240. That is why I designed the code for using FRAM as the display buffer for that display. :smile:


Just wanted to share that you can now find suppliers who are stocking the 4.4 Inch Sharp Memory LCD’s.

I’m using @peekay123 's awesome custom font capibable mfGFX library along with a font that looks great at any size due to it having all square corners. The font is called SF Square Head Condensed & Regular.

Whats amazing about these LCD’s is that you could run them for a year with only 1 watt hour of energy.

The 4.4 Inch display is 320 x 240 pixels so the resolution is less than the smaller 2.7 inch display which is 400 x 240 but that also makes the required ram requirement smaller. You will be able to run the 4.4 and 2.7 inch screens with the new Spark Photon since it has the larger memory bank.

These screens require that you refresh Vcom every 1 to .5 seconds. You can do this via the micro controller when its running but if you want to put your micro controller to sleep it will not be able to supply the required Vcom pulse so you will need another solution to provide the Vcom square wave every 60 seconds. There are 555 timers but they are still pretty power hungry, I found a low power timer that only consumes 1.3 uA! Its called the Touchstone TS3600 chip, Touchstone was acquired by Silicon Labs FYI.

So if you used the Spark Core or Photon to pull data from the internet you can then push that data to the Sharp Memory LCD and then put the Spark Core / Photon back to sleep. All it takes to keep the Sharp LCD Screen showing your new updated data is the square wave pulse every 60 seconds to Vcom. This can be done by the Tocuhstone TS 3006 chip for only 1.3uA. The 4.4 Inch LCD Screen consumes 250uWatt when showing a static image and 650uWatt when the screen is updated at 1Hz.

The 2.7 inch screen consumes 50uWatt when showing a static image and 175uWatt when updated at 1Hz.

The 1.28 inch 128x128 pixel display similar to what is in the Pebble watch consumes 12uWatt when showing a static image and 50uWatt when updated at 1Hz.

So all of them have a very low power consumption. I think the most popular use for these screens to date has been the Pebble Watch which I own and love simply because its always ON and viewable and because the screens require so little power the Pebble Watch will last 7 days. Its not the screen that drains the watch it’s the processor, vibrator, bluetooth, and LED backlight that kills the battery after 5-7 days. That watch battery could power just the screen for years.

Here is the datasheet for the 4.4 inch screen.

Here is where I found the LCD:


@RWB, that is HUGE! If anyone is interested in playing with the larger displays, I do have the FRAM-based (like Adafruit’s breakout) library that uses the mfGFX library. Once the Photon comes out it would be a simple change of display driver to use RAM instead of FRAM. All your application code would stay the same. :smile:


@peekay123 Yes indeed it is bigger than I expected it to be compared to the 2.7 inch screen.

The 4.4" screen is actually the perfect size for some battery based products I’m working on. Its much easier to see the data from a distance.

The 1.28 and 2.7" screens are perfect if you don’t need to view them any further than a arms length way. You could see them further away but the the text or image your displaying will need to be large and take up a large amount of the screen which limits what all you can show at any 1 time. I guess you could always just show new data via multiple screen which are displayed in a row but that will require the micro processor to come out of sleep mode more often and require more power.

Regardless these screens are super sweet and I would love to see them used in future Spark projects where data is pulled or pushed to the internet every so often then the LCD is updated, and then the Spark goes back to sleep for 95% of the time. Its certainly possible.

@peekay123 custom font library allows you to create some beautiful layouts also which is something that was not possible before his modified library was created. Thanks Paul!

I’m also playing with Adafruits 3.5" Color LCD Touch Screen thats 480x320 pixels and its beautiful but it consumes 140ma with the backlight on so it can’t be left on 24/7 like the Memory LCD’s. Plus the Sharp LCD’s are easily view able under just about all light conditions unlike the color LCD which gets really hard to read outside on a sunny day just like your cell phone.


The 2.7 Inch Screen looks interesting. Can you tell me how to wire it? Can it be conntected to the photon directly?


@Coffee, if you go through this thread you will find wiring instructions. The display requires a driver board and it connects to the Core/Photon/Electron via SPI. The display will not work directly with the Core due to memory limitations but it should work with both the Photon and Electron. :smile:


To clarify/add to what @peekay123 said, the Spark Core can be used with larger displays but you lose the ability to write to the entire display easily. The display’s video buffer has to sit in the Spark Core’s flash which obviously limits what you can do with it. Want to have a simple clock somewhere on the dispaly? Do able. What to play a game, display an animation, or do a lot of writing and erasing to the display? Not doable.


Hey guys, I was wondering if anyone has posted a public library for the SharpMem displays? I saw @peekay123 had been working on one, but I can’t see a public one. I attempted creating one (, but seem to be getting directory errors when compiling even though I can see the imported library code.

In file included from ../inc/spark_wiring.h:29:0,
from ../inc/application.h:29,
from Adafruit_GFX/Adafruit_GFX.h:4,
from Adafruit_GFX/Adafruit_GFX.cpp:34:
../../core-common-lib/SPARK_Firmware_Driver/inc/config.h:12:2: warning: #warning "Defaulting to Release Build" [-Wcpp]
#warning "Defaulting to Release Build"
In file included from Adafruit_SharpMem/Adafruit_SharpMem.cpp:19:0:
Adafruit_SharpMem/Adafruit_SharpMem.h:22:23: fatal error: WProgram.h: No such file or directory
#include "WProgram.h"
compilation terminated.
make: *** [Adafruit_SharpMem/Adafruit_SharpMem.o] Error 1

If anyone can help I’d greatly appreciate it!


WProgramm.h is not used on the Spark Core.

And what is wrong with @peekay123 's library here?

To post propperly formated code please read