4.3inch e-Paper

7000円くらいするので、ちょっと迷っているんですが、e-paper のディスプレイモジュールです。sony の6インチのWiFi 電子ブック(PRS-T3S)が買えちゃう値段なので、2~3000円以内になったら欲しいかなぁと。

4.3inch-e-Paper-2 4.3inch-e-Paper-3 4.3inch-e-Paper-4 4.3inch-e-Paper-5 4.3inch-e-Paper-size DSC_8700-900x600_grande

 

DSC_8706-900x600_grande

 

DSC_8707-900x600_grande 

Wiki : http://www.waveshare.com/wiki/4.3inch_e-Paper

Manual : http://www.waveshare.com/w/upload/7/71/4.3inch-e-Paper-UserManual.pdf

参考ブログ:http://www.jarzebski.pl/arduino/komponenty/e-papier-waveshare-4-3.html

[youtube https://www.youtube.com/watch?v=Z9HNW9C58wU]

 

1500円くらいでED060SC4の6インチのパネルが売っているんだけどれども、これはどうやって表示するんでしょうね?

 

HTB1L4XYIFXXXXczXVXXq6xXFXXXN

 

HTB1Bf4VIFXXXXXZaXXXq6xXFXXXJ

 

HTB1xB5hIFXXXXa.XXXXq6xXFXXXg

解像度は、800 x 600 みたいだけれども、駆動させるドライバユニットは何か流用できないものですかね。

 

essentialscrap_com_eink_ED060SC4V2_pdf

世の中は広い!ED060SC4 の E-ink display 回路

ED060SC4 の E-ink ディスプレイはだいぶ安くなってきたのでいいモジュールがあれば使いたいなと。世界中でぜったいだれか同じ事を考えてるはずだから調査してみること数日。

 

調査過程での断片的なメモです。

・EPSON のS1D13521 というICでドライブすることが出来る模様。
http://essentialscrap.com/eink/S1D13521B01_Spec.pdf
http://essentialscrap.com/eink/

・STのSTM32L151 で自作したユーザがいるようです。
http://essentialscrap.com/eink/schematics.png

・このMCUはkit があるようです。
Discovery kit for STM32L151/152 Line MCUs
http://www.st-japan.co.jp/web/jp/catalog/tools/PF250990

 

MCU に EPSON や ST の IC を使う事例はあるのですが、何かもっとしっくりくるのはないかと探したところ、

 

ありましたよ。ホント、世の中広いです。

Wifi E-ink display (spritesmods)

http://spritesmods.com/?art=einkdisplay

ESP12をMCU として使っていて、WiFi 経由でデータを投げると表示するようです。まだ動作原理はよく理解できていませんが、別のサイトのこのあたりに書いてあります。

IMG_9732_JPG__5184×3456_

バッテリーは、Samsung Galaxy Note 2 のを使っているようです。

einkdisp-esp8266_pdf(11_13ページ) IMG_9741_JPG__5184×3456_

このくらいであればなんとか手付けでいけそうな感じ。FPC コネクタの半田付けが難しそう。あんな細いの付けたことがないです。

IMG_9752_JPG__5184×3456_

使用しているパーツは、以下のようです。ほぼ安価な汎用品パーツで構成されているようです。

                                       Digi-Key Part Number

L1, L2: 22uH                    587-2103-1-ND
IC1: LT1945                        LT1945IMS#PBF-ND
IC2: MC79L15                    MC79L15ABDGOS-ND
IC3: L78L15                        497-7278-1-ND
IC4: TPS78230                    296-24372-1-ND
IC5: LM358                        LM358DGOS-ND
IC6: MCP73831                    MCP73831T-2ATI/OTCT-ND
IC7, IC8: 74LV4094                568-2976-5-ND
D1-D3: SS24                        SS24T3GOSCT-ND
D4: 0603 LED                   
C2, C4, C5, C6, C7, C8: 2U2 >25V!    490-10486-1-ND
C3, C11, C12: 4u7 6.3V            1276-1045-1-ND
C1, C9, C10, C13, C14: 100nF    1276-1857-1-ND (per 1000 bestellen?)
C15, C16: 100uF                    1276-1782-1-ND

All resistors 0603
R9: 470 ohm
R15: 1K
R10: 2K
R14: 4K7
R11, R12, R13: 10K
R2, R3: 33K
R5, R6: 39K
R8: 200K
R1: 470K
R4: 560K
R7: 47K
VR1: 100K trimmer PVZ3A473C01R00            490-2016-1-ND

CON1: FH26-39S-0.3SHW    HFQ339CT-ND
CON2: USB header (Hirose)
Q1, Q2:  IRLML6402TRPBF (SOT-23 P-chan mosFET)

 

ESP12 のソースコードは、git のリポジトリに。データはESP に貯めずにストリームして画面に出しているだけと書いてありましたが、どうなんでしょうかね。そのうち調査が進めばわかるはずです。

http://git.spritesserver.nl/espeink.git/

.
├── Makefile
├── README
├── html
│   ├── 140medley.min.js
│   ├── apconnect.bm
│   ├── batempty.bm
│   ├── connecting.html
│   ├── icons.png
│   ├── neterror.bm
│   ├── style.css
│   └── wifi.tpl
├── icons
│   ├── apconnect.png
│   ├── batempty.png
│   └── neterror.png
├── include
│   ├── espmissingincludes-ip.h
│   ├── espmissingincludes.h
│   ├── ip_addr.h
│   ├── lwipopts.h
│   ├── spi_register.h
│   ├── stdint.h
│   ├── uart_hw.h
│   └── user_config.h
├── lib
│   └── heatshrink
├── mkespfsimage
│   ├── Makefile
│   ├── espfsformat.h
│   ├── heatshrink_encoder.c
│   ├── heatshrink_encoder.o
│   ├── main.c
│   ├── main.o
│   └── mkespfsimage
├── mkimg.php
├── server
│   ├── README
│   └── pixelserver.js
└── user
    ├── cgiwifi.c
    ├── cgiwifi.h
    ├── config.c
    ├── config.h
    ├── eink.c
    ├── eink.h
    ├── espfs.c
    ├── espfs.h
    ├── heatshrink_config_httpd.h
    ├── heatshrink_decoder.c
    ├── httpd.c
    ├── httpd.h
    ├── httpdclient.c
    ├── httpdclient.h
    ├── httpdconfig.h
    ├── httpdespfs.c
    ├── httpdespfs.h
    ├── io.c
    ├── io.h
    ├── stdout.c
    ├── stdout.h
    └── user_main.c

8 directories, 53 files

このプロジェクトを少し長期的に解析していきたいと思います。この部品の合計が5500円未満であれば、PCB 基盤はエッチングして試作版を作ろうかなぁと考えています。

 

PCB data

http://spritesmods.com/einkdisplay/eink-pcb.tgz

 

PCB データは、http://pcb.geda-project.org/ のを使っているようですが、これはまだ使ったことがないので調査しないとです。

今年中に形にできるといいなと思っていますが、さてどうなることやら。

次に検討してみることのメモ。

・部品の入手先と値段概略を調査。
・ブロック図を把握
・電源部を調査(画面描画用の+15V と –15V を生成しているようなので)
・表示の動作概略を把握
・ESP のソースを調査

ある程度調査して、自分で作れそうかなと思ったら、部品を調達してみることにしてみます。

Wifi E-ink display パーツ見積

前回のWifi E-ink display に使っているパーツを見積もりました。

送料を無視すると、digikey で以下くらいです。カートのシェアリンクから部品詳細へいけます。

digi-key
http://www.digikey.com/short/t45jn5
$21(USD)

Online_Ordering___Digi-Key

 

aliexpress で部品を調達すると、以下のようになります。

0603 抵抗セット 170valuesx25pcs=4250pcs
2,742
http://www.aliexpress.com/store/product/Free-shipping-0603-SMD-Resistor-Sample-Book-1-Tolerance-170valuesx25pcs-4250pcs-Resistor-Kit-0R-10M/503693_1912807187.html

ED060SC4(LF)
x 1 ¥1,462
http://www.aliexpress.com/item/100-Original-ED060SC4-ED060SC4-LF-6-E-link-EBook-LCD-screen-for-Amazon-kindle-2-for/32393137707.html?spm=2114.01020208.3.21.doJuFp&ws_ab_test=201407_5,201444_6,201409_3

▼パネルと、抵抗を除く合計

11524(x5)  @2305
12174(x10) @¥1218

————
L1, L2: 22uH
x 30 ¥1,486
http://www.aliexpress.com/item/30pcs-LOT-NR6028T220M-SMD-power-inductors-6-6-22uH/32439035592.html

IC1: LT1945
x 5 ¥765
http://www.aliexpress.com/item/LT1945EMS-LT1945-MSOP-10/2044358042.html
x 10 ¥1,415
http://www.aliexpress.com/item/LT1945EMS-LT1945-MSOP10-Original-authentic-and-new-in-stock-Free-Shipping-IC/2053692331.html

IC2: MC79L15
x 10 ¥689-
http://www.aliexpress.com/item/Free-Shipping-10PCS-3-09-Integrated-Circuits-Types-MC79L15ACDR2G-IC-REG-LDO-15V-1A-8-SOIC/32401571794.html

IC3: L78L15 (L78L15ACD13TR)
x 20 ¥792
http://www.aliexpress.com/item/FreeShipping-50PCS-lot-L78L15ACD13TR-IC-REG-LDO-15V-1A-SOIC-8-L78L15ACD13TR/1844845142.html

IC4: TPS78230(TPS78230DDCR)
x 10 ¥662
http://www.aliexpress.com/item/TPS78230DDCR-TPS78230DDC-OCK-TI-SOT23-5-IC-10pcs-lot-Free-Shipping/32381241285.html

IC5: LM358 (LM358DG)
x 10 ¥564
http://www.aliexpress.com/item/Free-shipping-10pcs-lot-LM358DG-SOP-8/32375700604.html

IC6: MCP73831
x 10 ¥290
http://www.aliexpress.com/item/Free-Shipping-10-PCS-MCP73831T-2ACI-OT-MCP73831T-2ACI-SOT-23-5-MCP73831/729112631.html

IC7, IC8: 74LV4094(74LV4094D)
x 10 ¥704
http://www.aliexpress.com/item/Free-shipping-The-new-original-Chip-74LV4094D-IC-SOP-16IC/32324838094.html

D1-D3: SS24 (SS24T3G)
x 10 ¥668
http://www.aliexpress.com/item/Free-Shipping-10PCS-2-92-Diy-Kit-Electronic-Production-SS24T3G-DIODE-SCHOTTKY-POWER-2A-40V-SMB/32402740798.html

D4: 0603 LED 5 colors x20pcs =100pcs SMD 0603 led
x 100 ¥286
http://www.aliexpress.com/item/5-colors-x20pcs-100pcs-SMD-0603-led-Super-Bright-Red-Green-Blue-Yellow-White-Water-Clear/32383494488.html
————

C2, C4, C5, C6, C7, C8: 2U2 >25V!
2.2UF up25V 0603 ※耐圧が25V 以上の0603 タイプ
x 100 ¥637
http://www.aliexpress.com/item/SMD-capacitor-0603-2-2UF-225K-25V-X7R-100pcs/32338784557.html
http://www.aliexpress.com/item/Free-shipping-0603-2-2UF-225K-25V-X7R-100pcs/32335059187.html
http://www.aliexpress.com/item/Free-shipping-1608-0603-2-2UF-225M-225Z-50V-X5R-Y5V-100pcs/32333845082.html

C3, C11, C12: 4u7 6.3V
x 100 ¥95
http://www.aliexpress.com/item/Free-Shipping-100PCS-0603-4-7UF-475-4700NF-10V-X5R-10-Ceramic-capacitors/1350017602.html

C1, C9, C10, C13, C14: 100nF
x 100 ¥50
http://www.aliexpress.com/item/100nF-0-1uF-104-50V-5-0603-SMD-Chip-Multilayer-Ceramic-Capacitor-100pcs/32337615635.html

C15, C16: 100uF 1206Package
x 50 ¥482
http://www.aliexpress.com/item/Free-shipping-1206-SMD-capacitor-100uf-16V-107Z-100PCS/32376068793.html?spm=2114.01020208.3.2.Y5JQLP&ws_ab_test=201407_5,201444_6,201409_3

————

VR1: 100K trimmer PVZ3A473C01R00
¥1,281
http://www.aliexpress.com/item/EVM2NSX80B14-3×3-Adjustable-resistance-SMD-potentiometer-10k-20k-50k-100k-500K/1937143715.html

CON1: FH26-39S-0.3SHW
x 20 ¥1,195
http://www.aliexpress.com/item/free-shipping-20pcs-for-HRS-FH26-39S-0-3SHW-Double-row-displacement-under-the-foot-patch/2041822109.html

CON2: USB header
x 10 ¥538
http://www.aliexpress.com/item/Free-Shipping-Laptop-USB-port-ultrashort-1CM-USB-Interface-AF-90-degree-angle-quad-copper-up/1973784844.html

Q1, Q2:  IRLML6402TRPBF (SOT-23 P-chan mosFET)
x 50 ¥340
http://www.aliexpress.com/item/Ir-irlml6402tr-sot23-marking-e3w2y-mosfet-irlml6402/1670066407.html

 

基盤は生基盤からとりあえず、エッチングするとして、1.5万くらいはとりあえず必要ですか。

10個作ると、1個あたりパネルと電池を入れて3000円くらいになりそうです。

たぶん、これ見て作りたいっていうヒトがいるかと思うので小分けして、配給すればよいかと。いないかな?

 

最終的には、こんな感じのものを作りたいなぁと。

kindle-weather-and-recycling-display

Kobo Touch N905 のようなものを中古でゲットして、hack するというのでも実現できるかもしれないので迷いますね。

この画像は、確か Kindle を調理しているものだったと思います。

PCBのガーバーデータ

さて、土日にはまりまくって、やっとPCB データが見れたので、メモです。

以下のページの下のあたりにリンクがあってファイルの中を見ると、printed circuit board editor を使っているようでしたので、とにかくこれをインストールしてみました。

Wifi E-ink display – Conclusion

http://spritesmods.com/?art=einkdisplay&page=7

eink-pcb.tgz

.
├── LICENSE.txt
├── bom.txt
├── einkdisp-esp8266
├── einkdisp-esp8266.pdf
└── gerber
    ├── einkdisp-esp8266.bottom.gbr
    ├── einkdisp-esp8266.bottommask.gbr
    ├── einkdisp-esp8266.fab.gbr
    ├── einkdisp-esp8266.outline.gbr
    ├── einkdisp-esp8266.plated-drill.cnc
    ├── einkdisp-esp8266.top.gbr
    ├── einkdisp-esp8266.topmask.gbr
    ├── einkdisp-esp8266.toppaste.gbr
    └── einkdisp-esp8266.topsilk.gbr

1 directory, 14 files

 

PCB のサイトは、以下ですが osx にも入るのですが、ソース、brew、ports と試してやっと ports の pcb で表示できました。

printed circuit board editor

http://pcb.geda-project.org/

 

大変はまったので、メモしておきます。

pcb2

回路図が見えるっていうわけじゃないようです。がーバーデータがレイヤーわけされて出ているようです。

pcb1

 

環境は、osx 10.9.5 で、試したのは、PCB のソースと、後に知ったbrew 版。そして、最後でだめもとで入れた ports 版で、最後のでやっと表示できました。

流れは以下の感じです。

▼port の pcb を入れる
以下より、osx のバージョンにあったインストーラをダウンロード
http://www.macports.org/install.php
入れ終わったら、環境変数を反映。

$ source ~/.bash_profile

$ port search pcb

    pcb @20140316 (x11, graphics)
        Printed Circuit Board Layout Tool
    xgsch2pcb @0.1.3_4 (cad, science, electronics)
        intuitive and user-friendly graphical interface to gsch2pcb
    Found 2 ports.

$ sudo port install pcb

 

途中、以下のエラーで最後までいかず、ログを見ると、GD のヘッダーチェックしているようでした。

—>  Configuring pcb
Error: Failed to configure pcb, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_x11_pcb/pcb/work/pcb-20140316/config.log★
Error: org.macports.configure for port pcb returned: configure failure: command execution failed
Please see the log file for port pcb for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_x11_pcb/pcb/main.log
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: Processing of port pcb failed

★log
#define HAVE_SYS_TIMES_H 1
#define HAVE_SYS_WAIT_H 1
#define HAVE_DLFCN_H 1
#define HAVE_GD_H 1★

configure: exit 1

とりあえず、libgd を入れたり削除してみたりしてみたのですが、だめで、brew のを削除してみたら、大丈夫でした。

$ brew uninstall libgd

ports 版は、以下に入ります。

$ which pcb
/opt/local/bin/pcb

 

とりあえず、以下のエラーは出ていますが見れたり、保存したりexport して、がーバーデータを出したりはできるので良しとします。

 

$ /opt/local/bin/pcb ; exit;
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
pcb_dbus: DBus connection Error (Not enough memory)

 

brew 版は入るのですが、レンダリングがおかしく表示が見えない感じです。以下のような感じと同じ現象に会いました。

https://github.com/Homebrew/homebrew-x11/issues/120

OpenGL のライブラリの問題のようですが、解決方法がわからず、ports 版を入れてとりあえず満足です。

で、オンラインで入稿できて安いところはないかなぁと探してみると、Fusion PCB というのがあるそうです。smartDiy の愛称を持つ山梨県南アルプス市(すごい名前の市ですよね)にある株式会社ASsystemさんのWEBサイトです。

海外PCB発注第2弾 【Fusion PCB】 注文から到着まで

http://www.smartdiys.com/blog/make-pcb-fusion-pcb/

サイトを見ると、品質も良くて5枚から発注でき、しかも安いので発注まではまだしていませんが途中まで入稿してみました。

Fusion_PCB__customize_PCB_prototype___Seeedstudio

 

5cm四方のが10枚できて、値段は約$10 です。

Step_2_-_Payment_Information___Seeed_Studio_Bazaar__Boost_ideas__Extend_the_Reach 送料を入れても、15ドル で2000円弱でいけます。これは、エッチングしてやる価値もないほど安いので、ここに発注することにしました。もう少しいろいろと調査してから、発注しようかなと考えています。

Gerber

がーバーデータを入れるとプレビューもしてくれます。ファイル名は、以下のようにするのがセオリーのようです。

パターン表: pcbname.GTL
パターン裏: pcbname.GBL
シルク面表: pcbname.GTO
シルク面裏: pcbname.GBO
基板マスク表: pcbname.GTS
基板マスク裏: pcbname.GBS
ドリルデータ: pcbname.TXT
基板外形: pcbname.GML

 

送料は、急がないので一番安いのでよいです。

2

 

今まで、プリント基板をオンラインで発注しようとしたことがなかったので、これは1からオリジナルで回路を作るノウハウを実につけて実際に発注してみる価値がありますね。両面基盤で5cm が10枚作れて2000円未満なんてなんてすばらしいんでしょうか。1枚あたり200円ということですよね。

 

Eagleか、Kicad で簡単なオリジナル基盤、たとえば1セル用のバックブースト+ESP12 (いまだとギテキ対応したモジュールですかね)とか汎用性がある基盤を作ってみるとすごく需要がありそう。ESP8266 使う身になると電源回路が付いていて、かつブレッドボードに空きがある形のPCB基盤って今のところなさそうだと思うので良いかもです。

 

オリジナルのPCB基盤を作るノウハウの蓄積、当面の目標としてみます。

 

で、PCBエディターを触っていたら、フォトモードで基盤を出力するものがありました。memoしておきます。
 1

3

 

PCB_Print_Layout

 

  einkdisp-esp8266_front_png__683×593_

einkdisp-esp8266_back_png__683×593_

ほー、なるほど。

IC4 のレギュレータは要考慮

BOM.TXTに載っている、IC4は良く見るとESP12への電源と、Pチャンネル Mos-FET を介して、E-inkディスプレイの4番ピンのVDDにつながっています。

型番は、TPS78230 とありますが、これは3Vの150mA出力です。たぶん、足りないと思うのでこのICは変更しようと思います。

候補は、300ma 出せるもの。形状は、SOT-23-5

MCP1802T-3302I/OT(3.3V)

MCP1802T-3002I/OT(3V)

http://ww1.microchip.com/downloads/en/DeviceDoc/22053C.pdf

他は、ON Semiconductorの以下とか。

NCP603SN330T1G(3.3V)

 

たくさんあるので、以下あたりから候補を選ぶことに。3V と3.3V とどちらがいいでしょうかね?リチウム電池に直結しているので、3V のほうがいいのかもしれませんね。というか、これリチウム電池の電圧保護に頼っている形ですね。うーむ。

digikey Voltage Regulators – Linear

 

作者の手書きの図には、MCP1802T-3002I/OT(3V)だと思うものが載っているようです。

http://spritesmods.com/?art=einkdisplay&page=4

http://spritesmods.com/einkdisplay/schema_esp.png

 

E-ink の電源には、22V,15V,-15V,-20V と3V(3.3V)を必要としているようです。

確認してみると、データシートには、3.3V とあるようです。

http://essentialscrap.com/eink/ED060SC4V2.pdf

essentialscrap_com_eink_ED060SC4V2_pdf

ここは本来、前回調査したバックブースト回路があるといいようです。

 

ソースコードを確認してみると、ADCから電圧をみているようです。

—- user_main.c

:: 
#define BAT_LOW_LVL_MV 3100 
:: 
    ioEinkEna(1); 
    os_delay_us(2000); 
    //Battery voltage is divided by an 4.7K/1K resistor divider. 
    //ADC: 1024 = 1V 
    batteryMeasMv=(system_adc_read()*9765*5.7)/10000; 
    if (batteryMeasMv<BAT_LOW_LVL_MV) { 
        //Crap, battery is dying. 
        if (batEmptyShown!=1) { 
            os_printf("Battery empty! Showing bat empty icon…\n"); 
            batEmptyShown=1; 
            system_rtc_mem_write(128+4, &batEmptyShown, 4); 
            einkFile=espFsOpen("batempty.bm"); 
            einkDisplay(2048, fileEinkNeedData, fileEinkDoneCb); 
            return; 
        } else { 
            os_printf("Battery empty! Sleeping…\n"); 
            sleepmode(); 
        } 
    } else { 
        batEmptyShown=0; 
        system_rtc_mem_write(128+4, &batEmptyShown, 4); 
    } 
::

 

3.1V以下になると、以下の画像が出るようなチェックがあるようです。なるほど。ADC ピンは本来こういう使い方をする設計で作られているのかもしれませんね。

 

 

batempty

ということで、IC4は、以下にしました。

MCP1802T-3302I/OT(3.3V)

x 10 \547

http://www.aliexpress.com/item/FREE-SHIPPING-10PCS-LOT-MCP1802-MCP1802T-3302I-OT-IC-REG-LDO-3-3V-0-26A-SOT23/32233456841.html

電源回路のコンデンサを検証

電源回路がどうなっているのかなと調査しました。

E-ink に入る電源電圧は、-20V , +22v , –15V , +15V とあってLT1945でまず、-20V と +20V をスイッチングして生成しています。

 

bom.txt に載っているコンデンサの値がどうもおかしいようで、以下のように掲載されています。

—- bom.txt

::

C2, C4, C5, C6, C7, C8: 2U2 >25V!    490-10486-1-ND

::

最初見たとき、2u2 というのが?で2.2uF のことだろうと思っていましたが、回路を見ると、どうやら違うんじゃないのということで実際に調査しました。実際にeagle でパーツリストと、手書きの図から作者の回路をトレースしました。

なんか、おかしいなと思ったところは以下です。

eagle_power1

bom.txt にあるのと手書きの図とは違うようです。

schema_power 2

LTのシュミレーターがあるので、実際に値を入れてみると、

 Linear_Technology_Corporation

以下のようになり、-20V と +22V を出してくれません。これ便利です。

1

それぞれ、手書きの図にある値を入れると、生成されます。

2

 

また、その後の15V と –15V を出した後の C5 , C6 についても

 

einkdisp-esp8266_front_png__683×593_

データシートを見ると、100nFで良いようです。

 

www_onsemi_jp_pub_link_Collateral_MC78L00A-D_PDF

なので、

C2 100pF > 25V

C4 4.7pF > 25V

C5 C6 100nF > 15V

を用意すればよいようです。