二手墨水屏折腾记

众所周知, 现在市面上能买到的墨水屏都比较贵, 尤其是微雪的, 虽然资料全面, 但价格更是贵中之贵. 因此我们便想是否能买一些二手的呢, 只要能用就行, 不在乎刷新率和分辨率之类的, 于是我们把目光瞄向了淘汰下来的电子价签. 正巧前端时间xa大佬在某宝上看到了隔壁老王卖的二手电子价签, 于是我便买了几个(大约5元一个, 不包好坏), 顺便水篇文章用来记录自己踩的坑.

我买的这几个里有一个盒马的价签, 不知道是哪家公司产的, 它受到了外力撞击坏掉了, 剩下的几个外观良好(除了非常旧以外)
剩下的大概分为两种: ses imagotag和汉朔(Hanshow)
好像电子价签也就这两家公司比较有名


其中汉朔那块在B站上可以搜到很多的视频, 屏幕好像有两种, 由于它的排线一不小心被我弄断了, 所以就不多做研究了.(CSDN资料)

我俩主要研究了一下ses imagotag的电子价签, 因为在评论里有老哥已经跑通了, 那位老哥说用微雪的2.13inch e-Paper HAT bc驱动就能跑起来, 但是他并没有给出连线的照片

于是我和xa大佬便开始了两天的痛苦的逆向板子的过程, 经过一番胡乱测量之后, 我们发现这个屏幕的定义的确和微雪的屏幕一模一样, 在这途中我们还在立创找到了一个开源的驱动板: https://oshwhub.com/Xiaole.Tao/Universal-ePaper-Driver
(顺便一提, 这块板子用的MCU是德州仪器的CC2510, 支持2.4GHz无线通信, 也许还有一些利用价值?)
再附上我俩的研究成果:


本以为板子把所有的接口都引出来了, 所以那位老哥才能接上去, 结果没想到人家老哥直接往单片机的小脚上飞线, 我俩面面相觑, 发现自己做不到, 最终放弃了, 觉得还是上小黄鱼上买驱动板或者在立创自己打板子比较合适.


2022/8/27 更新

大半年过去了, 由于疫情, 我放了有史以来最长的暑假, 也算是有时间接着研究了, 终于在不懈努力下成功点亮了这块屏幕, 下面就叙述一下我的研究过程, 如果想直接看总结可翻至文章末尾.

在半年前我从某鱼的一个卖家买了10块墨水屏开发板, 板子上的丝印是SMPL_2021.7.22_V2, MCU是ESP8266, 支持24, 30, 34pin的墨水屏, 但是板子上只焊了30pin的fpc座, 然而屏幕是24pin的, 我将排线按24pin的方式插进去, 然后尝试在STM32F103上用微雪的2.13inch e-Paper HAT bc驱动点亮屏幕, 但是失败了, 然后就没再研究了. 直到我暑假回家修猫盘的时候发现有些芯片是3.3V电平的, 然后突然意识到我的STM32电源是5V的, 所以应该是5V电平, 但是微雪的手册上明确写着墨水屏电平是3.3V(无电平转换电路的情况下), 我之前竟然一直忽略了, 于是买了几片ESP12-F模块, 搭了个ESP8266最小系统板并用微雪的驱动再次尝试, 结果…还是不行

事情的转机出现在一个月前, 我在百度上搜这块屏幕的相关资料, 搜到了数码之家的这篇帖子: [Arduino] 拆了个价签VUSION 2.2 BWR GL420,屏幕驱动不起来, 在这篇帖子中, 我了解到这块屏幕是Pervasive Displays(龍亭新技)的eScreen_EPD_EXT3_213_09, 型号为xE2213xS09x, 而且还有手册和驱动(虽然手册里只有尺寸, 电气特性和典型应用电路…)
官网地址: https://www.pervasivedisplays.com/product/2-13-e-ink-display-spectra-r2-0/
驱动: https://github.com/rei-vilo/PDLS_EXT3_Basic
接下来就是打开Arduino, 安装库, 编译示例, 烧录, 一气呵成, 然后居然跑起来了, 当时可把我激动坏了

但是按照帖子里7楼老哥所述, 此屏幕电路和微雪相同, 那么微雪的驱动没道理跑不通啊, 而且为了兼容其他屏幕, 我想用GxEPD这个库, 这个库兼容大连佳显和微雪的屏幕, 如果微雪驱动可用就相当于这个库可用了, 于是我开始研究微雪驱动, 将微雪驱动的命令与官方驱动的命令进行对比后, 我发现这两者busy的电平正好相反! 于是在修改了busy电平后, 微雪的驱动也成功跑起来了.

接下来就是修改GxEPD2这个库了, GxEPD2_3C<GxEPD2_213c>对应微雪的2.13inch e-Paper HAT bc, 所以只要写个类继承GxEPD2_213c, 然后在类里修改busy电平即可达到不修改库代码而兼容此屏幕的目的, 代码如下所示:

#include <epd3c/GxEPD2_213c.h>
class GxEPD2_213_EXT3 : public GxEPD2_213c // 型号为xE2213CSxxx
{
public:
    GxEPD2_213_EXT3(int16_t cs, int16_t dc, int16_t rst, int16_t busy) : GxEPD2_213c(cs, dc, rst, busy)
    {
        this->_busy_level = HIGH;
    }
};

编译烧录插电开机, 轻松秒杀(doge

这个压缩包里是我下载的所有相关资料以及示例代码, 供大家研究使用
龍亭新技xE2213xS09x墨水屏资料
备用链接: https://pan.baidu.com/s/1XYXpKl4Y_9YwN25y_0twyw 提取码: kefu

成功驱动后, 我还打算用这块墨水屏做个气象站挂在寝室显示器旁边, 目前正在开发中, 做好了会在GitHub和Gitee上开源的, 敬请期待.

最后回答半年前提出的问题, 这几块屏幕倒是没有太大瑕疵, 但是太长时间没有刷新, 残影已经消不掉了, 如果是个人研究, 在确保能够驱动的前提下, 还是可以买几块玩玩的, 毕竟便宜嘛, 至于驱动板, 大部分墨水屏电路都是相似的, 所以无论是微雪的, 某鱼上买的还是立创上开源的驱动板应该都能用.

标题: 二手墨水屏折腾记
作者: QingChenW
链接: https://dawncraft.cc/2021/12/301/
本文遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 许可
禁止商用, 非商业转载请注明作者及来源!
上一篇
下一篇
隐藏