Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite in MicroPython #26

Open
ThomasFarstrike opened this issue Aug 20, 2024 · 4 comments
Open

Rewrite in MicroPython #26

ThomasFarstrike opened this issue Aug 20, 2024 · 4 comments

Comments

@ThomasFarstrike
Copy link

The current codebase is written in C and C++ using the Arduino IDE, which is a bit technical and not as user/developer friendly a using MicroPython.

So we might consider rewriting the project in MicroPython...

@ThomasFarstrike
Copy link
Author

I'm not very familiar with MicroPython myself, not sure if it has good support for those ePaper displays, websockets, over-the-air updates etc, so perhaps it would be good to do a rough proof-of-concept first to get familiar with it first.

@ThomasFarstrike
Copy link
Author

ThomasFarstrike commented Aug 20, 2024

It would probably make sense to use a graphics library in combination with MicroPython. LVGL seems to be the most mature, and LVGL 8 or 9 should work with ePaper.

LVGL drivers for ePaper: https://github.com/martinberlin/lvgl_epaper_drivers

@ThomasFarstrike
Copy link
Author

Would be nice if the code is editable through a web-based MicroPython IDE like https://github.com/vsolina/micropython-web-editor and https://viper-ide.org/

@ThomasFarstrike
Copy link
Author

ThomasFarstrike commented Sep 2, 2024

Info on and advantages of MicroPython and LVGL: https://docs.lvgl.io/master/integration/bindings/micropython.html

Advantages of using LVGL in MicroPython:

  • Develop GUI in Python, a very popular high level language.
  • Use paradigms such as Object-Oriented Programming.
  • Usually, GUI development requires multiple iterations to get things right. With C, each iteration consists of Change code > Build > Flash > Run. In MicroPython it's just Change code > Run ! You can even run commands interactively using the REPL (the interactive prompt)
  • Ability to use an online simulator or PC simulator instead of developing on the real hardware

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant