HOW-TO: MAKE AN E-PAPER CLOCK FROM ESQUIRE magazine

HOW-TO: MAKE AN E-PAPER CLOCK FROM ESQUIRE magazine

October 2, 2022 Uncategorized 0

If you’ve never heard about electronic paper, crawl out from under that rock and read up on the Sony reader and the Amazon Kindle. E-paper is a flexible display made of color-changing beads that simulate ink-on-paper for easy daylight reading. The revolutionary thing about e-paper is that after it’s set, it stays that way without additional power.

This sounds great in theory, but Esquire’s cover is the first time everybody can afford to hack an e-paper display. We took the cover into the Hack a Day lab to document, test, and hack. In the end, we recycled it into something beneficial that any individual can build. We’ve got all the details on how the display works and what it takes to use it in your own projects. read about our e-paper clock hack below.

背景

The Esquire e-paper cover hit big on the net, but was swiftly panned. NOTCOT has beautiful scans of the circuit board and e-paper. popular science posted instructions for reading the code with a PICkit2. [Slaxter] verified that the photo chip can be read, and that the code protection fuses are off. [Matt] manipulated the e-paper cells directly with skillful soldering and an Arduino. So far, there hasn’t been a lot of interest in repurposing the e-paper, or reprogramming the existing microcontroller.

E-paper panels

The actual e-paper panels, manufactured by E-Ink, aren’t that exciting. Each panel has a set of predefined segments, 11 on the front panel and 3 on the rear Ford advertisement. This isn’t a matrix that we can reprogram into an e-reader. [just_mike] has a great set of ultra close-up shots of the individual beads that make up each segment.

Each e-paper segment has an individual connection, and a connection that’s shared with other cells on the panel. The segments become white or black depending on the direction of current applied to the cell. When common is low, any segment that is also connected high will darken. When common is high, each cell connected to ground will clear. The PCB uses 16 volts from five 3.3volt batteries to switch the cells, but [Slaxter] showed that 5volts was sufficient with his Arduino project.

性能測試
We made several observations about the e-paper operating specifications.

First, it takes nearly 0.5 seconds to completely darken or clear a cell. In the video you can see the partial states created by switching the e-paper too fast. We’re not quite sure of the optimal change time, but between 0.25 and 0.5 seconds seems to be the minimum.

This also raised questions about the maximum change time. Does it damage the e-paper to apply current for longer than necessary? Does the e-paper continue to consume current as long as it’s applied, wasting the batteries? We took special care in our code to return all outputs to ground after a change to avoid a continuous current through the panel.

Clearing and darkening need to be done separately. It takes two complete operations to fully freshen the screen; one to clear old segments, one to darken new segments. A smart programmer will think they can save a cycle when only adding or removing items, and not doing both. This is true to some extent, but continuous manipulation of one cell without refreshing adjacent cells causes color ‘creep’. In the video, a flashing background without updates to any other segments swiftly drives the inactive segments to a mid-state between dark and light.

Driver board

The motorist consists of an eight-pin Microchip PIC12F629, two 4094 shift registers, and some supporting components.

Click here for a full size pin diagram of the e-paper motorist board(PNG).

Batteries

Esquire invited hacks of their cover with the rather lame suggestion of replacing the batteries. This makes sense, the covers were shipped all over the world in refrigerated containers to help extend the battery life. even with that effort, Esquire says that the batteries will last a few months.

Batteries 1-5 are in series and supply a 15-16volt switching current for the e-paper. The sixth battery supplies 3volts for the PIC. No word yet on which batteries die first. If you want to ‘replace’ your batteries, you’ll need to desolder the old ones, and supply a 5-16volt e-paper supply, and 3volt microcontroller supply, at the points indicated.

We eventually had to replace our microcontroller battery because we abused it a bit during development. A button battery holder with 20mm pin spacing will fit the existing holes. Mouser #534-106 will probably work, but this is unconfirmed.

4094 shift registers (IC1, IC2)

The shift registers switch the e-paper segment controls at 16 volts.

The two 4094 ICs are shift registers setup to cascade data from IC1 to IC2. This basic shift register is a minor variation on the 74HTC595 we used in our graffiti wall. The main difference is that the 4094 strobe line is usually low, and briefly pulled high to put new values on the output pins. We observed that the 4094 requires long clock and strobe pulses. This could be due to lazy drive circuitry between the photo and the 4094, or just the nature of the 4000 series.

4094 segment output map

我知道了

輸出

地址

聯繫

1

Q1

0x01

FRONT_BOX_SYMBOL_DNA

1

Q2

0x02

FRONT_BOX_GUY

1

Q3

0x04

FRONT_BOX_FIREWORKS

1

Q4

0x08

FRONT_ON_THE_WEST_COAST

1

Q5

0x10

FRONT_THREE_HOURS_LATER

1

Q6

0x20

FRONT_ESQUIRE

1

Q7

0x40

FRONT_BOX_GIRL

1

Q8

0x80

FRONT_NOW

2

Q1

0x100

FRONT_BEGINS

2

Q2

0x200

FRONT_21ST_CENTURY

2

Q3

0x400

FRONT_BACKGROUND

2

Q4

0x800

FRONT_COMMON

2

Q5

0x1000

BACK_COMMON

2

Q6

0x2000

BACK_LEFT

2

Q7

0x4000

BACK_CENTER

2

Q8

0x8000

BACK_RIGHT

12F629

Click here for a full size schematic drawing(PNG). An eight pin PIC12F629 drives the 4094 shift registers that control each e-paper segment. two pins are unused (GP4, GP5).

The MCLR feature is enabled with resistor R8. The design doesn’t include a diode to secure the photo from the 13volt programming current. Microchip recommends this, but there’s no other sensitive ICs sharing the circuit so maybe the designer felt a resistor was sufficient protection.

Three pins drive the data, clock, and strobe lines of the 4094 (GP0, GP1, GP2). The 4094 has to be interfaced at the same voltage it switches, 16 volts, so the photo switches the interface pins through transistors. As far as we can tell, the 4094 control lines are pulled high with a resistor. The photo switches a transistor on, and it pulls the line to ground. The interface to the 4094 is backwards. A photo high pin is seen as low at the shift register, and low is seen as high. The interface won’t work unless reversed.

The programming pins are brought to a header at the top of the PCB. We soldered standard .1″ pin header into the holes supplied (Mouser #571-41033290). The two programming pins, PGD and PGC, are shared with the circuitry that drives the shift registers. We were able to read the device with an ICD2 debugger. We couldn’t reprogram it though, probably because of the shift register driver. has any individual had success? Regardless, the shared pin arrangement makes it impossible to do in-circuit debugging on this device.

PIC pin connections

別針

姓名

聯繫

1

VDD

+3.3volts

2

GP5

3.

GP4

4.

GP3

MCLR (program VPP)

5.

GP2

4094 Strobe

6.

GP1

4094 Clock (program clock)

7.

GP0

4094 data (program data)

8.

VSS

地面

Tap the board

It’s easy to tap into the board and use it with your favorite microcontroller. All but one of the required interface signals are already brought to a header. The strobe line can be tapped through the by means of indicated by the arrow. You don’t want the photo to interfere with your new controller, so remove it or deactivate it by severing the power pin.

Interface library

Our first effort to drive the board involved our PIC24F-based tiny web server. It was handy, and the PIC24F is easy to work with. We perfected our interface library on a low-power MSP430. Both versions are in the project archive(ZIP), but the MSP430 version of the library is a lot more mature.

The library includes a software bit-bang routine, functions for interfacing the board, and address definitions for the segment and common lines. options in esquire_eink.h enable a bit-bang delay and set its length; we found the 4094 lazy and in need of a lengthy clock pulse. The initBang() function sets the direction of the pins, and must be changed to suit your microcontroller. call it, or set your IO pins to output elsewhere:

1
bangInit(); //set bitbang pins to output

The setSeg() function sets the passed segments dark (1) or clear (0):

1
2
setSeg(FRONT_BOX_GUY+FRONT_BACKGROUND, 1); //set(dark) these segments
setSeg(FRONT_21ST_CENTURY,0);//clear (light) these segments

The setSeg() function includes a color change delay defined by EINK_DELAY in esquire_eink.h. At the end of the delay it returns the shift register pins to ground. We want to avoid damaging to the e-paper or wasting the batteries, though we don’t really know if this is necessary.

One thing we observed about setSeg() was that manipulating single cells causes adjacent cells to regress toward a mid-color. We developed the setDisplay() function to combat this by fully refreshing the display every time. setDisplay() includes a pause for each change, and then returns the shift register outputs to ground. just pass the segment arrangement for a fully refreshed display:

1
setDisplay(FRONT_ESQUIRE+BACK_LEFT);//XX dark, everything else clear

You can access the shift registers directly with the bangIt() function, but consider returning the shift registers outputs to ‘0’ after the e-paper color change is complete. You could damage the e-paper or cause excessive current drain if you leave it on, if that’s actually ‘a thing’.

1
2
3.
bangIt(0b1110000000000000);//all back panel segments on
pause();//wait for the color change
bangIt(0x0000);//return all outputs to ground

To port the library to your miCrocontroller,只需在ESQuire_eink.h中檢查引腳配置,以及ESQuire_eink.c中的PIN設置功能Banginit()。請記住,銷方向被接口晶體管反轉。

將其使用,電子紙時鐘

我們想做一些有益的東西與第一個廉價的消費電子紙盒。它必須很容易,因此很多人可以回收這種很酷的技術。我們無法抗拒做舊展示技術如此大的製作:製作時鐘。原理圖,固件和藝術模板位於Project Archive(.zip)中。

電子紙上有很少的細分,我們只能部分地代表時間。六個部分顯示時間,每次衰落將時間透露到最近的十分鐘後的時間。我們還在面板的非時間片段上閃光糖果。這是我們創建的定制擋板。這個bezel和一個主題要製作自己的主題,包括在項目存檔(zip)中。我們打印了鏡面鏡面,所以墨水受到防止划痕。

硬件

我們的靈感來自電子紙的低功耗性能,使用德州儀器的MSP430系列16位微控制器。通過理想的配置,MSP430的功率很少,它僅受電池的保質期限制。我們甚至可以為最初的設計師提供一個運行的錢,看看我們是否可以製作較低的功率設備。

關於MSP430的最佳方法是您可以使用USB程序員/調試器和分支板獲得一個套件,僅為20美元。它配備了一個限制為4K的免費C編譯器,但F2013只有2K內存。這是一個完整的開發工具,沒有涉及焊接。更多地了解更多關於使用MSP430在此操作方法中使用的更多信息。

本示意圖顯示了我們如何將MSP430連接到電子紙盒電動板。單擊此處查看全尺寸版本(PNG)。突破板上包括47K電阻,MSP430和LED(未示出)。

我們添加了32.768kHz晶體以保持時間(Q1)。通常,我們還添加一些電容器來形成振盪器,但MSP430在P2.6和P2.7上具有內置可調電容器。

我們還添加了P1.4和P1.2之間的按鈕(S1)。 P1.4上的內部上拉電阻保持鈕扣,我們通過P1.2接地。這不是最好的安排,也可能是明智的,也可以將P1.2連接到地面。

我們將MSP430突破板滑過編程標題的電源和接地引腳。您也可以將時鐘和數據引腳連接到標題,但我們決定將它們從下面的通孔路由到。請記住刪除照片,因此它不會干擾來自MSP430的信號。

部分

數字

成本

ESQUIRE電子紙封面

MSP430 EZ430開發套件

EZ430USB.

20美元

32.768khz水晶

815-AB26T-32.768KHz

0.27美元

按鈕

642-MJTP1250

$ 0.16

固件

時鐘軟件是用EZ430編程器附帶的Ti / IAR Kickstart C編譯器的免費演示版本編寫的。

MSP430功率非常低。它在1MHz使用220uA,但睡覺時少於6uA。長電池壽命的至關重要是盡可能保持芯片睡眠。我們的時鐘代碼是用本文寫的。

我們使用Timer_A使用32.768khz晶體來創建兩次中斷。第一個中斷觸發器代碼配置要顯示的段,將這些值發送到電子紙張,然後睡眠下一個0.5秒。雖然MSP430睡眠,但所有的“OFF”段有時間清除。下一個中斷將常用行翻閱另一種方式,使用基本XOR輸出值,然後再睡覺再次0.5秒。下次循環將再次開始。我們不打算將移位寄存器重置為“0”位置,因為鮮明在助焊劑中定期。段蠕變不是問題,因為我們每個循環都清新每個段。

按鈕按下觸發器中斷,該中斷將時間推進到未來10分鐘。要設置時鐘,請等到時間是一小時10分鐘的一個方面,然後按下按鈕顯示CORRE

Leave a Reply

Your email address will not be published. Required fields are marked *