E-Paper Device (EPD) based MiniNote module, powered by mbed on LPC1114FBD48. Shared in public domain with enclosure in 3D step format, hardware interface compatible with microBUS interface. Anyone can contribute on this project.
Table of Contents
Development Status & Log¶
PinName for SPI¶
Only hardware supported PinNames can be used as hardware SPI. E-Badge uses software SPI as interface, leaves hardware SPI to external peripherals via mikroBUS.
UPDATE The orginal design comes from LPC1114FN28/FDH28 which has only one hardware SPI. Now we map EPD interface to second SPI of LPC1114FBD48/30x/32x, which is:
// EPD interface: CS | RST | DC | BUSY | MOSI | SCK // SSD1606 epd(xp23,xp11,xp12,xp21,xp37,xp12); SSD1606 epd(P0_6,P0_7,P2_0,P1_5,P2_3,P2_1);
Since time is tight, only 4KB is supported in first release. In next release, we are going to propose a new platform of LPC1115FBD with 64KB ROM and 8KB RAM. Major changes will be in:
to update 8KB support in LPC1115.sct and startup_11xx.s
Display Frame Buffer¶
EPD has 172*72 matrix with 2bpp support. Classis design of single framebuffer should be:
172*72*2/8 = 3096 Byte.
Since we have 4KB device so far. We have to make decision between:
- Internal 1548B RAM framebuffer inside 4KB device without 2bpp support.
- external 3096B FeRAM frambebuffer with 4KB device, with 2bpp support.
By using Saleae Logic Analyzer, I fixed a bug of software SPI driver. The code has been released to public as tested version. In next step, the second hardware SPI will be tested to its performance limitation.
According to its specification, the SCLK low/high time is 100ns, so its frequency is 1/(200*10^(-9)) = 5x10^6 = 5Mhz. However make it stable at 2Mbps is good enough.
Cloned LPC812-xbee design for its software structure and ring buffer.
Python Image Processing¶
The previous script doesn't work anymore. Check out the reason.
EPD sleep and wakeup issue¶
In order to minimize the power consumptions, we must implement sleep and wakeup functions, which doesn't work well so far. Additionally, power consumption of LPC1114 should be implemented as well.