Close
0%
0%

ePaper clock

Compact low power epaper clock using a msp430

Similar projects worth following
Single board for controlling epaper displays mostly from Waveshare. This example is using the 2.13 inch V2 displays.

The controller chip is a msp430g2553 from TI with a 32khz external crystal and a 32Mb Flash chip.

Compact 3D printed frame for the epaper display.

Clock features 

  1. Light compact 3d print design. 
  2. Use a single CR2032 coin cell that will last around 4 months.
  3. Upload custom font (graphics) on the 32Mb (4MB) flash. 
  4. Easy to program using a launchpad.
  5. Code is writing in Energia, a modified version of the Arduino IDE 

Current software features 

  • Setup time menu. Two button navigation.
  • Upload flash data using USB serial from your PC.
  • 24 or AM PM configuration
  • Dark mode

Hardware

  • Display: 2.13 inch b/w epaper display (v2). More detail here .
  • MCU: Texas Instruments MSP430G2553IPW20R  (TSSOP-20)
  • Flash chip:  NOR Flash SPI  32Mb (4M x 8) .  Tested GD25Q32CTIGR,W25Q32JVSSIQ,BY25Q32BSTIG
  • 32.768 kHz crystal for accurate time keeping.
  • The necessary components plus 24 Position FFC, FPC Connector for the epaper display.
  • Extra reset switch and mode switch.
  • Header to flash the MSP430 and serial (UART) for debugging and uploading to the NOR Flash chip. 

Development environment

Software

Energia a Arduino like environment . I could easily port the example code from Waveshare and SPI Flash  code.  I think it will be possible to make the code AVR compatible.

Code is on GitHub.

https://github.com/waldow/epaper-msp430-clock

Uploading 

I used a empty LaunchPad to flash the on-board MSP430.

3D printed frame

Design

Designed in tinkercad

Frame: https://www.tinkercad.com/things/isBPXQ68gBb-epaper-frame-213-slim

Back: https://www.tinkercad.com/things/azmAttb4wlV-epaper-213-back-slim

Power usage and battery life.

Thanks to my resent acquired  Joulescope I could really optimize and troubleshoot power usage.

Using an average 3uA when sleep and 1.3mA average when updating for 2 seconds. 

Good CR2032   have 240mAh capacity .  If  we work on 200mAh, the clock can last 180 days.

Tested low voltages on my bench power supply.

Standard Tesselated Geometry - 3.21 kB - 10/30/2019 at 06:23

Download

Standard Tesselated Geometry - 2.82 kB - 10/30/2019 at 06:23

Download

Standard Tesselated Geometry - 2.43 kB - 10/30/2019 at 06:23

Download

Standard Tesselated Geometry - 2.82 kB - 10/30/2019 at 06:22

Download

  • Set time

    Waldo Wolmarans04/16/2020 at 14:34 0 comments

    Adapter board to reset, navigation and set

    R = Reset . Reset will reset the clock and show menu

    S = Set . Loop thru the current values on current menu

    N = Next menu item

    Some menu Items

    Left menu item . Right menu value

    1. Look

    Black or white background

    Set time

  • Font graphics

    Waldo Wolmarans10/15/2019 at 05:37 0 comments

    Storage

    The SPI ePaper screens does not include any fonts and need to generated by code. To make a graphical rich display you need lots of storage. 

    Three solutions 

    1. On board Flash of your MCU.
    2. SD card.
    3. Flash chip.

    The on board flash  of MCU chips is normally up to 512Kbytes. The high end with more Flash are normally big chips and high powerful chips that use power.

    SD cards have lots of merit. Easy to get and work with. But is power hungry and needs 3.3 V. Can't use a coin cell with out a boost converter. For a clock that updates every minute not good.

    I'm using SPI Flash chip. They use not mush power and can run to 1.8V/2V  The are uselessly in bits, so the 32Mbits  I use is 4Mbytes. Can hold lots of different font styles

    Format and layout

    Each pixel is a bit. The internal resolution of the 2.13 display is 250 x 128 , so to fill up the screen will take  4000 bytes

    Clock fonts

    My clock works with a left side

    and a right side

    For a given clock font 24 x 2 (24 / am pm) images left . And 60 for minutes for right  .

  • Prototyping

    Waldo Wolmarans10/12/2019 at 12:56 0 comments

    e-Paper basic testing and playing

    I Like to use a teensy 3.2 board.  For e-paper using the Waveshare's e-Paper HAT.

    Testing flash chips

    Use a teensy 3.2 and breakout boards

    Final MSP430 testing with e-paper and flash

    Did start with the LaunchPad and then to breadboard .  To program connect LaunchPad to breadboard. Adding the 32.768khz crystal for timekeeping.

  • Project Challenges

    Waldo Wolmarans09/26/2019 at 15:26 0 comments

    • E-paper screens is a new field.
    • Not an expert in msp430 land.
    • Not good in eagle cad.  The board must be small.
    • SMD soldering is very tricky.  Need good tweezers and some way to zoom in to inspect. Will order an stencil to help. 
    • Also new in 3D printing. 

  • Project planning

    Waldo Wolmarans09/26/2019 at 15:14 0 comments

    disclaimer. I did this  write-up of the planning after the project was done. But this was more or less the steps I did follow .

    Get familiar with the e-paper displays

    Using the Universal e-Paper Raw Panel Driver HAT from Waveshare and a teensy 3.2  or a Arduino. Get the examples working.

    Modify existing code

    Modify code to test refreshing and partial updating still using teensy 3.2

    TI LaunchPad 

    • Get a couple of simple examples working .
    • Port e-paper code from the Arduino examples to Energia.  The SPI lines will not match anymore.
    • Solder a 32kHz crystal on and get examples running. The MSP430 must go to sleep and wake up .

    Move to breadboard

    Wire everything on a breadboard and test.

    Flash chip 

    • Solder a SPI flash chip to a breakout board and test from a teensy 3.2
    • Add breakout board to the MSP430 breadboard and wire . Check the CS . There is now two one for the e-paper screen and one for the flash chip.

    Desktop App for uploading data

    Create a simple C# forms app to upload images to the flash chip using a teensy

    Code revision 1

    Modify e-paper code to read flash data to the screen.  Sleep for a minute and update screen.

    Power testing

    Use a CR2032 and check if display and code still work.  Connect an amp meter and check power usage 

    Design circuit-board in eagle cad.

    Using the design from the breadboard and the schematics from waveshare for the e-paper driver . The board must be smaller then the screen. Use SMD components 0402 / 0603. 

    Send board design to get manufacture 

    Seeed, PCBway or JLPCB have good specials

    Order parts

    Digikey is your friend

    Code revision 2

    Modify code closer to a clock. Hours to the left minutes to the right.

    SMD soldering.

    I am a newbie in this but not scared to learn

    • Order some low temp solder past
    • Buy a hot plate.

    3D print a frame

    Design a frame . Will start using an online site like tinker cad.

  • Initial design thinking

    Waldo Wolmarans09/25/2019 at 09:33 0 comments

    I got a couple of e-paper displays to try out from waveshare .  

    Why a clock?

    I did start making a picture a day fridge magnet 2.7 display  (will come later).  But a clock is a good practical use case for e-paper because of the good view angles and low power.

    Witch display?

    Picking the right display can be tricky. Size, resolution and colors is not the only constraints.  Refresh time and partial updating is very important . I did not want to go the writs watch way. A small compact desk / table clock will be nice .  You can see the time easy with your corner of your eye.  The 2.13 inch display looks good. Black and white is better higher res and can do partial updating , where the 3 color can't. 

    Main chip

    Must be low power.  I had a couple of LaunchPad boards and the msp430 is known for low power use.

    Power source

    I did not want to go the lipo route. Lipo needs extra circuitry and is a shipment  problem these days. CR2032 coin cells (3 V) are easy to get and cheap. The msp430 can easily work with coin cells. And testing with the displays looked like it can works down to 2.8 V

    Extra storage

    A extra flush chip can hold lots of image fonts . SD cards don't work to well because it use to match power and need 3.3v

    Display driver

    The e-paper displays require external circuitry to work.  Mostly for boosting the voltage to do the e-ink magic.

    Software

    The msp430 does have a Arduino like environment you can use called  energia . Make it easy to port Arduino code find on the internet. 

View all 6 project logs

Enjoy this project?

Share

Discussions

Jasper Sikken wrote 05/30/2020 at 17:37 point

Cool project. Well done. Well documented!

  Are you sure? yes | no

Dan Julio wrote 10/29/2019 at 01:23 point

Nice project, Waldo.  I always wanted to make a clock like this that implemented the Melting Clock that Steve Capps wrote for the original Macintosh.  Jamie Zawinski wrote his own version for a bunch of platforms.  It would certainly increase your power consumption and e-ink likely isn't up to the challenge.


https://www.jwz.org/gruntle/dali.html

  Are you sure? yes | no

Waldo Wolmarans wrote 10/29/2019 at 05:31 point

Thanks Dan. I want to try a bit of transforming animation.  And the melting clock is very cool.  Maybe 3 frames between digits will work . It will use more power. Thank you for this cool idea.

  Are you sure? yes | no

Jacob MacLeod wrote 10/18/2019 at 18:20 point

This is cool! What size e-ink display are you using?

Also, how much does it cost to make?

  Are you sure? yes | no

Waldo Wolmarans wrote 10/19/2019 at 11:21 point

Thanks.  It's a 2.13 inch from Waveshare . Just the board around $20, All the goodies $40.

  Are you sure? yes | no

likeablob wrote 10/17/2019 at 10:41 point

Hi! Love this project. And What a coincidence! We are doing something similar across the earth 😆 

BTW, Have you soldered the FPC connector by hand?

  Are you sure? yes | no

Waldo Wolmarans wrote 10/17/2019 at 11:50 point

Thanks, small world .. I'm trying lots of e-paper stuff, even with the esp8266 and esp32. For the esp8266 I could not get the "done" working on the TPL5111 to go to "sleep" .

I'm using a solder past stencil with low temp solder past. I do get bridges on the FPC connector that I fix with lost of flux and a iron.

I like your choice of Vue . How many hours did you put in so far in your Shihen site?

  Are you sure? yes | no

likeablob wrote 10/18/2019 at 13:24 point

Aha, In my project(Shihen), TPL511*0* is used and it basically turns off all the components by driving a high-side switch(Pch MOSFET). 

I'm currently considering to replace ESP8266 by nRF528xx to extend battery life, (Web Bluetooth would be fun also!) but it might be hard to beat MSP430 in that context. A wise choice.

Thanks for sharing. Hand soldering of that 0.5mm pitch drives me crazy🔥

Yeah, Vue is awesome. More specifically, the site is made with Nuxt.js and Vuetify, and thanks to them, the prototyping has been done in 3 days. (The code is now available at https://github.com/likeablob/shihen-webui)

  Are you sure? yes | no

Waldo Wolmarans wrote 10/18/2019 at 14:51 point

In my prototype the TPL5111 controls the enable pin of the LDO regulator . The TPL5110 controls a mosfet.  Both are very cool chips.

The nRF528xx is a good choice, I'm planning to try the nordic chips too.  It looks like MSP430 is not so popular,  need to make a STM32 version.  There are nice low power versions.

Did you use only front end Vue code, no server side?  wow!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates