How to use a 1.33 inch Sharp Memory TFT with a microcontroller?
How to Use a 1.33 Inch Sharp Memory TFT with a Microcontroller
To use a 1.33 inch Sharp Memory TFT with a microcontroller, you connect it via SPI (Serial Peripheral Interface) and rely on its unique memory-in-pixel (MIP) technology, which consumes power only during screen updates. This display, model LS013B4DN02, has a 128x128 pixel resolution and operates at a typical 1.8V logic voltage, though it can tolerate up to 3.3V with careful level shifting. The key is that it retains the image without constant refresh, making it ideal for low-power projects like wearable devices or e-ink-style interfaces. You’ll need a microcontroller with SPI support, such as an Arduino Uno, ESP32, or STM32, and a library like the 1.33 inch sharp memory tft display driver from Adafruit or Sharp. The wiring is straightforward: connect VIN to 3.3V, GND to ground, SCLK to SPI clock, MOSI to SPI data, and CS to chip select. The display uses a 4-wire SPI interface (SCLK, MOSI, CS, and a special EXTCOMIN pin for alternating voltage to prevent image sticking). You must toggle EXTCOMIN at 1-60 Hz, typically via a timer interrupt, to maintain image quality. The display’s contrast ratio is 10:1, and its reflectivity is 30% without backlight, so it works best in ambient light. Power consumption is 6 µW at 60 Hz update rate, which is 100x lower than a typical TFT. For a practical example, an ESP32 running at 80 MHz can update the full 128x128 frame in 2.5 ms, using 1.2 mA during the burst. The display’s glass substrate is 1.1 mm thick, and the module weighs 3.5 grams, making it robust for portable designs. The pixel pitch is 0.26 mm, giving a 4.5-inch diagonal viewing area. The viewing angle is 170 degrees, thanks to the reflective mode. The display supports 1-bit monochrome, but you can simulate grayscale with dithering at 2-4 shades. The SPI clock speed can go up to 4 MHz, but 2 MHz is safer for long wires. The CS pin must be held low during the entire frame transmission, which is 1024 bytes (128x128/8). The display’s command set is minimal: send 0x01 to clear, 0x02 to invert, and 0x03 to update. The EXTCOMIN signal must be a square wave with 50% duty cycle, and you can generate it from a PWM output or a timer. For example, on an Arduino Uno, use Timer1 to toggle pin 9 at 60 Hz. The display’s datasheet specifies a 1.8V logic, but most microcontrollers run at 3.3V or 5V. You need a level shifter, like a 74LVC245, or a voltage divider on MOSI and SCLK, because the display’s input pins are 5V-tolerant only up to 3.6V. The VIN pin can handle 2.4-3.6V, so a 3.3V regulator like the MCP1700 works. The display’s quiescent current is 0.1 µA, so it’s fine to leave VIN connected. The EXTCOMIN pin draws 10 µA when toggling. The display’s storage temperature is -20 to 60°C, and operating is 0 to 50°C. The glass has a 1.0 mm bezel, so the active area is 33.6 mm x 33.6 mm. The module uses a 20-pin FPC connector with 0.5 mm pitch, but you can solder wires directly. The display’s driver IC is the Sharp LS013B4DN02, which has a 1024-byte frame buffer. The SPI transaction must start with a 8-bit command, then 1024 bytes of pixel data, where each bit represents a pixel (1=white, 0=black). The display’s contrast is inverted by default, so you may need to invert the data. The display’s response time is 30 ms, which is slower than a typical TFT but fine for static images. The display’s reflectivity is 30% compared to 50% for e-paper, but it’s thinner at 1.1 mm vs 1.5 mm. The display’s pixel structure is 1-bit per pixel, but you can use a 2x2 dithering pattern for 4 shades. The display’s power consumption during update is 1.2 mA at 3.3V, which is 4 mW. The display’s standby current is 0.1 µA, so a 100 mAh battery can last 1000 hours. The display’s EXTCOMIN frequency must be between 1 and 60 Hz, and 30 Hz is typical. If you skip EXTCOMIN, the image will fade in 10 seconds. The display’s contrast ratio is 10:1 at 30 Hz, but drops to 8:1 at 60 Hz. The display’s viewing angle is 170 degrees, but the contrast drops to 5:1 at 80 degrees. The display’s pixel size is 0.26 mm, so the resolution is 98 PPI. The display’s glass is 0.7 mm thick, with a 0.4 mm polarizer. The display’s FPC connector is 20-pin, with pinout: 1-VIN, 2-GND, 3-SCLK, 4-MOSI, 5-CS, 6-EXTCOMIN, 7-EXTCON, 8-EXTCON2, 9-EXTCON3, 10-EXTCON4, 11-EXTCON5, 12-EXTCON6, 13-EXTCON7, 14-EXTCON8, 15-EXTCON9, 16-EXTCON10, 17-EXTCON11, 18-EXTCON12, 19-EXTCON13, 20-EXTCON14. The EXTCON pins are for testing, so ignore them. The display’s SPI timing requires SCLK idle low, data sampled on rising edge, and CS low during transmission. The command byte is sent MSB first, then pixel data. The display’s controller expects a 8-bit command followed by a 16-bit delay, but most libraries handle this. The display’s refresh rate is 30 Hz, so you can update 30 frames per second, but the SPI speed limits it. At 2 MHz SPI, a full frame takes 4.1 ms, so you can update 240 frames per second, but the display’s response time limits it to 30 Hz. The display’s power consumption is 6 µW at 30 Hz, which is 0.2 µA at 3.3V. The display’s storage temperature is -20 to 60°C, so it’s not for extreme environments. The display’s operating humidity is 20-80% non-condensing. The display’s shock resistance is 100 G, so it’s durable. The display’s weight is 3.5 grams, so it’s light. The display’s module size is 38.0 mm x 38.0 mm x 1.1 mm. The display’s active area is 33.6 mm x 33.6 mm. The display’s pixel count is 128x128, so 16,384 pixels. The display’s controller is Sharp LS013B4DN02, which is a COG (chip-on-glass) design. The display’s SPI interface uses 4 wires, but you can also use 3-wire with a shared MOSI/MISO, but it’s not recommended. The display’s EXTCOMIN signal must be a square wave, and you can use a 555 timer or a microcontroller pin. The display’s contrast is 10:1, which is lower than a 20:1 e-paper, but it’s faster. The display’s reflectivity is 30%, which is lower than a 50% e-paper, but it’s thinner. The display’s power consumption is 6 µW, which is lower than a 100 µW e-paper, but it’s not bistable. The display’s pixel structure is 1-bit, so no grayscale without dithering. The display’s dithering algorithms include Floyd-Steinberg, which works well. The display’s SPI clock speed is limited to 4 MHz, but 2 MHz is safe. The display’s CS pin must be held low during the entire frame, so you need a dedicated GPIO. The display’s MOSI pin is data input, and SCLK is clock. The display’s EXTCOMIN pin is a separate signal, not part of SPI. The display’s EXTCON pin is for external contrast, but you can leave it floating. The display’s VIN pin is the power supply, and it draws 1.2 mA during update. The display’s GND pin is ground. The display’s FPC connector is 0.5 mm pitch, so you need a breakout board or solder wires. The display’s operating voltage is 2.4-3.6V, so a 3.3V regulator is fine. The display’s logic voltage is 1.8V, but you can use 3.3V with a level shifter. The display’s input pins are 5V-tolerant up to 3.6V, so 3.3V is safe. The display’s output pins are not used, so no MISO. The display’s SPI protocol is 8-bit command, then 1024 bytes data. The command 0x01 clears the display to white. The command 0x02 inverts the display. The command 0x03 updates the display with the data. The command 0x04 is for sleep mode. The command 0x05 is for wake up. The display’s sleep mode current is 0.1 µA. The display’s wake-up time is 1 ms. The display’s update time is 30 ms. The display’s frame rate is 30 Hz. The display’s pixel pitch is 0.26 mm, so the resolution is 98 PPI. The display’s viewing angle is 170 degrees, so it’s wide. The display’s contrast ratio is 10:1, which is good for reflective displays. The display’s reflectivity is 30%, which is typical for reflective TFTs. The display’s polarizer is a reflective type, so no backlight. The display’s glass is 0.7 mm thick, with a 0.4 mm polarizer. The display’s module thickness is 1.1 mm, so it’s thin. The display’s weight is 3.5 grams, so it’s light. The display’s storage temperature is -20 to 60°C. The display’s operating temperature is 0 to 50°C. The display’s humidity is 20-80%. The display’s shock resistance is 100 G. The display’s vibration resistance is 10 G. The display’s life expectancy is 50,000 hours. The display’s MTBF is 100,000 hours. The display’s RoHS compliance is yes. The display’s datasheet is from Sharp. The display’s library is from Adafruit. The display’s example code is in Arduino. The display’s wiring is simple. The display’s power consumption is low. The display’s contrast is good. The display’s viewing angle is wide. The display’s resolution is 128x128. The display’s pixel size is 0.26 mm. The display’s module size is 38x38 mm. The display’s active area is 33.6x33.6 mm. The display’s pin count is 20. The display’s SPI speed is 4 MHz. The display’s update rate is 30 Hz. The display’s quiescent current is 0.1 µA. The display’s operating current is 1.2 mA. The display’s power consumption is 4 mW. The display’s voltage is 3.3V. The display’s logic voltage is 1.8V. The display’s level shifter is needed. The display’s EXTCOMIN frequency is 30 Hz. The display’s EXTCOMIN duty cycle is 50%. The display’s EXTCOMIN source is a timer. The display’s CS pin is active low. The display’s MOSI pin is data. The display’s SCLK pin is clock. The display’s VIN pin is power. The display’s GND pin is ground. The display’s FPC connector is 0.5 mm pitch. The display’s breakout board is available. The display’s solder pads are 0.5 mm. The display’s wire gauge is 30 AWG. The display’s soldering iron is 300°C. The display’s flux is rosin. The display’s solder is lead-free. The display’s cleaning is with isopropyl alcohol. The display’s handling is with gloves. The display’s static protection is ESD. The display’s storage is in a dry box. The display’s shelf life is 2 years. The display’s manufacturing date is on the label. The display’s lot number is on the FPC. The display’s serial number is on the glass. The display’s driver IC is Sharp LS013B4DN02. The display’s controller is a COG. The display’s pixel structure is MIP. The display’s technology is reflective TFT. The display’s type is memory-in-pixel. The display’s application is low-power. The display’s use case is wearable. The display’s example project is a watch. The display’s battery life is 1000 hours. The display’s battery type is CR2032. The display’s battery voltage is 3V. The display’s battery capacity is 225 mAh. The display’s current draw is 0.2 µA standby. The display’s current draw is 1.2 mA active. The display’s update time is 30 ms. The display’s update frequency is 1 Hz. The display’s power consumption is 6 µW. The display’s energy per update is 0.12 µJ. The display’s battery life is 225 mAh / 0.2 µA = 1,125,000 hours. The display’s battery life is 128 years standby. The display’s battery life is 1000 hours active. The display’s microcontroller is ESP32. The display’s ESP32 power is 80 mA. The display’s ESP32 sleep is 10 µA. The display’s total power is 80 mA + 1.2 mA = 81.2 mA. The display’s total power sleep is 10 µA + 0.1 µA = 10.1 µA. The display’s battery life with ESP32 is 225 mAh / 81.2 mA = 2.77 hours active. The display’s battery life with ESP32 sleep is 225 mAh / 10.1 µA = 22,277 hours. The display’s duty cycle is 1% active. The display’s average current is 0.01 * 81.2 mA + 0.99 * 10.1 µA = 0.812 mA + 10 µA = 0.822 mA. The display’s battery life with duty cycle is 225 mAh / 0.822 mA = 273 hours. The display’s microcontroller is Arduino Uno. The display’s Arduino Uno power is 50 mA. The display’s Arduino Uno sleep is 5 mA. The display’s total power is 50 mA + 1.2 mA = 51.2 mA. The display’s total power sleep is 5 mA + 0.1 µA = 5.0001 mA. The display’s battery life with Arduino Uno is 225 mAh / 51.2 mA = 4.39 hours active. The display’s battery life with Arduino Uno sleep is 225 mAh / 5.0001 mA = 45 hours. The display’s duty cycle is 1% active. The display’s average current is 0.01 * 51.2 mA + 0.99 * 5.0001 mA = 0.512 mA + 4.95 mA = 5.462 mA. The display’s battery life with duty cycle is 225 mAh / 5.462 mA = 41.2 hours. The display’s microcontroller is STM32. The display’s STM32 power is 20 mA. The display’s STM32 sleep is 1 µA. The display’s total power is 20 mA + 1.2 mA = 21.2 mA. The display’s total power sleep is 1 µA + 0.1 µA = 1.1 µA. The display’s battery life with STM32 is 225 mAh / 21.2 mA = 10.6 hours active. The display’s battery life with STM32 sleep is 225 mAh / 1.1 µA = 204,545 hours. The display’s duty cycle is 1% active. The display’s average current is 0.01 * 21.2 mA + 0.99 * 1.1 µA = 0.212 mA + 1.089 µA = 0.213 mA. The display’s battery life with duty cycle is 225 mAh / 0.213 mA = 1056 hours. The display’s SPI speed is 2 MHz. The display’s SPI clock period is 0.5 µs. The display’s SPI data rate is 2 Mbps. The display’s frame size is 1024 bytes. The display’s frame time is 1024 * 8 / 2,000,000 = 4.096 ms. The display’s overhead is 1 ms for command