We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
ElixirConf 2023 - Jason Axelson - Drawing to 7-color e-ink screens with Scenic and Nerves
Learn how to draw vibrant 7-color images on e-ink displays using Scenic and Nerves, exploring the challenges and solutions for multi-color displays in this ElixirConf 2023 talk.
- E-ink displays are great for single-color displays, but can be challenging for multi-color displays.
- Multiple-color displays use electro-phoretic particles that are controlled by electric fields.
- The Inky Impression 7.3 inch display is an example of a multi-color e-ink display.
- Nerves is a framework that allows you to create firmware for embedded devices, including e-ink displays.
- Scenic is a library for creating user interfaces for embedded devices.
- To use Scenic with Nerves, you need to create a custom config.txt file and a edited.dat file.
- The config.txt file specifies the font and layout of the display, while the edited.dat file specifies the data to be displayed.
- The Nerves framework uses the ScenicDriver to draw images to the display.
- The ScenicDriver uses the microcapsule technology in the e-ink display to draw images.
- To draw images, the ScenicDriver uses a frame buffer to store the pixels and then transfers the pixels to the e-ink display.
- The frame buffer is important because it allows the ScenicDriver to draw images quickly and efficiently.
- The pixel data is then read from the frame buffer and applied to the e-ink display, which is controlled by electric fields.
- The display uses sub-pixel hinting to reduce the appearance of jagged edges.
- The Nerves framework uses the fwup.conf file to specify how the firmware is built and loaded.
- The fwup.conf file is used to specify the files that are used to build the firmware, including the edited.dat file and the custom config.txt file.
- The edited.dat file contains the data to be displayed, while the config.txt file specifies the layout and font of the display.