I’ve been a bit unproductive here, but as a ‘distraction’ task I’ve been quite active with some Micro python coding. Making something that I need and should be useful for others:
I’ve got several projects that need a small display, and I’m doing them all in MicroPython.
These are all going to be small ‘info’ displays and while basic support for small OLED’s is good. Support for fonts other than the inbuilt 8x8 one is poor; a steep learning curve and additional complexity to worry about. Not what I want as a casual maker .
End result:
All the above is being done with fonts and simple programming.
This is a complete font system for the micropython inbuilt framebuffer. An easy to use a font writer and font packs based around common use scenarios for makers, educators, lazy people, etc…
Using a nicer font is now as easy as; pick a font, copy that and the writer class to your device, import and use. See the README and examples for more.
It’s also properly documented!
I’m currently finishing a few polishes off, a formal release comes soon but the alpha is fully functional:
8 Likes
Good work.
I will use the fonts for some of my projects in the future with Rp pico-2040’s and ESP-32s…
2 Likes
And I have also managed to finish the marquee class for this; takes a font and a ‘box’ at init, you can then choose to slide messages over the box or display left justified with a scroll&repeat if it exceeds the box width.
I’ve refactored the documentation a bit; this has it’s own page at:
MARQUEE.md
3 Likes
A bit of a necro-post; but this makes a convienent place to braindump… I just got round to testing this on a color display; it worked first time!
(edit: photos don’t really do this justice, it looks rather better in real life)
I’m glad that paying attention to making sure it will work with any color scheme, not just mono, paid off.
- There is a PR from this; I’ve added an option to do LSB color remapping for displays (like the one above) that swap the byte order for their color words.
- Tested working on a loose 135x240 TFT display on a ESP32-C3, a T-Watch and a T-Display Touch
Due to wanting to run on the T-Display, which has a 8-bit I8080 display bus I ended up creating my own st7789 display driver.. oops.
- A massively stripped down version of the over-extended drivers I found, superclassing on the built-in framebuffer)
- This in turn is superclassed to give
SPI
and I80
varients.
- Fortunately there is a good and fast pure micropython
I80
driver I can use; the alternative is custom firmware.
- Memory heavy but can run on stock micropython firmwares with easy setup and little complexity.
5 Likes