Memory LCD

A project log for nRF52 SmartWatch

nRF52 Smartwatch from Scratch

Jeff CooperJeff Cooper 02/16/2020 at 00:483 Comments

Chronio, the amazing project from which I've drawn a lot of inspiration, is the first place I saw a Memory LCD. The model used in that project is no longer produced, but a similar one, the 1.28" LS013B7DH03, is readily available. So I bought one, and realized three things right away


The next biggest memory LCD available from Sharp is the LS027B7DH01A, which is 2.7" diagonal. I figured this was just too big for a smartwatch, so I was frustrated. Until I stumbled on something fortuitous:

Lighting, a pleasant surprise, and a baffling discovery

When reading about lighting options for memory LCDs, I came across Flex Lighting, who manufacture an ultra-thin frontlight that laminates on to memory LCDs. The product looked promising, but I couldn't find any way to buy the light membrane by itself; everywhere seemed to only sell the lights pre-attached to a display. However, in the process of looking, I discovered the FlexLighting 12616, a 1.8" diagonal Memory LCD with a light attached. It seemed perfect, so I dug deeper. Like their other products, the 12616 is based on a Sharp Memory LCD. This one is based on the LS018B7DH02, a product which exists nowhere in Sharp's catalog, and can't be purchased anywhere except as part of the 12616. The only reference I could find from Sharp to this device is from their 2018 LCD product catalog (PDF Warning), which lists it as "under development." 

Let's just guess

Aside from RF (which, speaking as the holder of an extra-class ham radio license, is dark sorcery incomprehensible to mere mortals), I didn't think there was much in electronics development that was more frustrating than trying to find information in a poorly-written manufacturer's datasheet. It turns out I found something: trying to find information without any manufacturer's datasheet.

I'm reasonably comfortable guessing the communications protocol. Every other memory LCD from Sharp has the same unidirectional (write-only) SPI interface on a 10-pin, 0.5mm pitch FFC connector.  However, there are two distinct groups of memory LCDs that I've been able to determine: ones that require 5V power and a 1Hz biasing signal on the EXTCOMIN pin, and ones that require 3.3V power and a 60Hz biasing signal on EXTCOMIN. Everything smaller than the 1.8" display is in the 3.3V class, and everything larger is in the 5V class. I'll be able to experiment when I get my display in a few days, but until then I'm a bit stuck: the schematic is done and the PCB is routed... unless I need to go back and add in a 5V regulator in addition to the 3.3V one.

I suspect (and hope, desperately) that the display will be 3.3V, since 1.8" is closer to 1.28" than 2.7", but I won't know for sure until I can try it.

60Hz, or maybe 1Hz

The 1.28" screen I've been playing with requires a 60Hz signal on EXTCOMIN. The nRF52840 runs FreeRTOS and supports multiple tasks. The signal can be +/- a few Hertz, so setting a 16ms timer and toggling a digital pin every time it goes off should solve the problem, right?

Well yes, but also no: setting this timer raises the apparent power consumption on my dev board from ~60uA to ~500uA. (Note: I'm using the Sparkfun Dev Board with the power LED desoldered. The power LED draws 6mA!). This is measured on a digital multimeter, so it's possible that those 500uA spikes are short and the multimeter's measurement techniques cause it to display the peak rather than the average. But it's also possible that I'm actually averaging 500uA.

My current plan is to use the square wave output on the M41T62Q RTC module. I had originally chosen this particular RTC over the more popular DS1302 for space-saving reasons: the DS1302 is only available in the SOIC-8 package, whereas the M41T62Q is available in a 3mmx3m QFN-16 package -- It turns out that on a board that's only about 35mmx25mm, SOIC-8 is HUGE. The M41T62Q has two big advantages: first, it has a configurable square wave output that can range from 1Hz to 32.768 kHz (in multiples of 2). This means that I could drive either 1Hz or 64Hz, depending on what the LCD requires. Second, its operating current is only 35uA, with a 350nA timekeeping (sleep) current. Even if I assume a constant 35uA current, that's way better than the ~400uA current spike caused by waking up the nrf52840. I also wired this square wave output to a GPIO pin on the MCU, though I'm not totally sure if that's going to be useful yet.


strange.rand wrote 02/16/2020 at 21:08 point

I had the same idea (to build nrf52 based smartwatch) but it is too time-consuming for me. I did some research, so let me just share the result and maybe you'll find something interesting for you.


I wanted to use an e-ink screen due to high contrast on direct sunlight and almost zero power consumption in a sleep mode. After some searching 1.54" 200x200 display (GDEH0154D67-T) with capacitive touch screen from Good-Display has been found and it was perfect for my goal (bought two for tests).

From the components list, you can see that I also wanted to use an accelerometer, battery gauge, charger, protections, etc.

I also designed and 3d printed a few cases using regular FDM 3d printer (design inspired by Pebble)

And the last thing, about inspiration: I was inspired by this article (unfortunately, it is in russian, but I believe Google could translate it quite well).

  Are you sure? yes | no

Jeff Cooper wrote 02/16/2020 at 22:22 point

Thanks for the comment! I didn't know that battery gauge IC's existed until your post; I might have to try to include one. I'm curious what you planned to use the accelerometer for; I considered adding one to my design, but I couldn't think of a use for it.

  Are you sure? yes | no

strange.rand wrote 02/17/2020 at 08:44 point

The main reason for adding an accelerometer was a pedometer. This particular chip has built-in functionality for step counting and gesture recognition (tap, double-tap, lift, etc). So in the software, it costs you nothing (almost), just read values when you want to.

One more side note, I wanted to use Mbed OS 5 for software (it is a bit easier in use than the native SDK, so different people should be able to contribute easier).

I'm a bit wondering about the display you have chosen. It is huge, even with 1.54" screen the smartwatch was big but 1.8"... it could be challenging to wear.

Nevertheless, I hope you'll be able to finish this interesting but really challenging project.

  Are you sure? yes | no