Project to drive an E-Ink display with an AVR MCU and avr-libc
- C 91.3%
- Makefile 7.7%
- Shell 1%
|
|
||
|---|---|---|
| .github/workflows | ||
| nbproject | ||
| .gitignore | ||
| avrink.c | ||
| bitmaps.c | ||
| bitmaps.h | ||
| cmd.c | ||
| cmd.h | ||
| CODE_OF_CONDUCT.md | ||
| dejavu.c | ||
| dejavu.h | ||
| display.c | ||
| display.h | ||
| eink.c | ||
| eink.h | ||
| font.c | ||
| font.h | ||
| LICENSE | ||
| Makefile | ||
| pins.h | ||
| README.md | ||
| spi.c | ||
| spi.h | ||
| sram.c | ||
| sram.h | ||
| types.h | ||
| unifont.c | ||
| unifont.h | ||
| usart.c | ||
| usart.h | ||
| utils.h | ||
AVRInk
Project to drive an E-Ink display like the Adafruit Monochrome 2.13" 250x122 SSD1680 with an AVR MCU (ATmega328P) and avr-libc.
Currently implemented:
- Nearly complete UTF-8 set (code points U+0000 to U+00FF) of GNU Unifont
- Small subset of large glyphs in DejaVu: 0-9 and some special characters
- Store font and bitmaps in program memory instead of RAM
- Use SRAM as frame buffer
- Fast and full update mode
- Draw strings in Unifont and DejaVu
- Draw bitmaps
- Write text and bitmaps via USART
- Logging via USART
Thanks to:
- Adafruit_EPD for helping me out with the display initialization!
- markbirss for telling me that fast update mode is supported!
- sprintersb for helping me to improve the code and making it more efficient!
Write something via USART
Connect to the controller with for example GTKTerm (9600 Baud).
Write some text and a bitmap:
c 0 // clear display
t 0 0 d 0-9 // write text in DejaVu (large) to row 0 column 0
t 2 128 u Small text in // write text in Unifont (small) to row 2 column 128
t 4 128 u Unifont // write text in Unifont (small) to row 4 column 128
t 8 0 d !#%*+,-° // write text in DejaVu (large) to row 8 column 0
b 7 198 0 // write bitmap with index 0 (Tux) to row 7 column 198
u 1 // update display in fast update mode (0 = full update mode)

