Create Menus on display (I2C SSD1306 OLED on ESP32)

Discussion about programs, libraries and tools that work with MicroPython. Mostly these are provided by a third party.
Target audience: All users and developers of MicroPython.
Post Reply
misaalanshori
Posts: 27
Joined: Sat Jun 22, 2019 6:07 am

Create Menus on display (I2C SSD1306 OLED on ESP32)

Post by misaalanshori » Sun Oct 27, 2019 3:22 pm

Are there any modules/libraries that could easily create Menus on displays? I'm planning to use a menu to execute my other python files on the storage. Currently, I'm using a web page to do this but its very slow since it has to connect to a wifi network and i would have to open the page to select which file to run

So, basically i want to create a menu on the display that i could control with buttons to select a python code to run

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Create Menus on display (I2C SSD1306 OLED on ESP32)

Post by pythoncoder » Mon Oct 28, 2019 2:02 pm

There is this nano-GUI which should work with SSD1306.
Peter Hinch
Index to my micropython libraries.

misaalanshori
Posts: 27
Joined: Sat Jun 22, 2019 6:07 am

Re: Create Menus on display (I2C SSD1306 OLED on ESP32)

Post by misaalanshori » Fri Nov 01, 2019 12:35 pm

I might try this, I already made my own menus but it looks ugly so might try this instead

misaalanshori
Posts: 27
Joined: Sat Jun 22, 2019 6:07 am

Re: Create Menus on display (I2C SSD1306 OLED on ESP32)

Post by misaalanshori » Fri Nov 01, 2019 12:38 pm

also, do you know any way to scroll the framebuffer horizontally or vertically? I tried using framebuf.FrameBuffer.scroll() but I'm not sure what the correct arguments is.

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Create Menus on display (I2C SSD1306 OLED on ESP32)

Post by pythoncoder » Fri Nov 01, 2019 3:58 pm

See the docs. The args are pixels which may be +ve or -ve depending on direction of scroll.

I find the method non-ideal because the exposed region is not erased. This is a deliberate, documented, design decision.
Peter Hinch
Index to my micropython libraries.

Post Reply