UI Design #6
Replies: 6 comments 34 replies
-
Beta Was this translation helpful? Give feedback.
-
For reference here all controls/widgets available in lvgl, of course style can be modified : |
Beta Was this translation helpful? Give feedback.
-
the current target screen have different resolutions: but there real size are not really different: 2.8` , 3.5' and 4.3' because there is no 7' in target size I suggest to focus in unique UI that will fit all. Here my proposal for 3d printer : Using some icons / symboles would avoid to use any images: Feedback are welcome if you have better suggestion Sub screens also could look like previous suggestions: #6 (comment) because they have less constraint of display : #6 (comment) so For GRBL it should be defined what need to be displayed : Any fedback is welcome |
Beta Was this translation helpful? Give feedback.
-
Here the first draft of possible symbols from free fontawesome Need to regenerate the c font files using https://lvgl.io/tools/fontconverter for the 2/3 size that will be necessary This will avoid me to generate svg/font for dedicated usage - it is not frozen but I think it should cover all needs About Montserrat font and usable size, the readable size on 320X240 on 2.8' screen is 14px, on 800x480 on 4.3` screen the size should be 24px I have also started a small |
Beta Was this translation helpful? Give feedback.
-
V_20230624_193144_ES6.mp4The current UI seems fit all resolutions - interrestingly the colors rendering is different from screen to screen and even on video - it suppose to be grey interface but go to blue somehow on camera when it is light grey to dark grey on screen irl |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
The official UI Editor of lvgl has already a sample UI for 3D printer : https://squareline.io/
as it is a sample / a proof of concept it has several issues to be used :
1 - it is designed for a 800x600 screen so it use complex UI which will not fit most of
cheap
screen in current hardware target list2 - it only use images => which make the UI fancy but also huge and which definitly will not fit the ESP32 FS
3 - It cover only half of the needed UI => many settings are not covered : file selection, wifi configuration with keyboard usage, multiextruders, CNC UI etc...
But it bring several ideas on what controls should be used and some of the user flow
1 - need a main menu : print job information / jog / settings / TBD
2 - Use roller control for value selection is definitly a must
3 - slider control need + / - additionnal controls IMHO to allow precise changes
4 - we need to limit the usage of images and use the fonts as much as possible to limit the final size https://docs.lvgl.io/master/overview/font.html#special-fonts
But need adding some additionnal specific fonts may be necessary, I did it before (https://github.com/luc-github/svg-icons/tree/master/networkfonts) when network font where not available - now it seems not necessary for network but for specific features like extruder / bed / heat / laser / etc... it may still be a good vs an embedded image TBD
5 - Use LVG buttons / switches / rollers / labels / lists / keyboard should cover al controls
6 - fancy UI like jog one in sample or webUI should be simple to keep ease of use (avoid fat finger issue) , reliablity (need to do what it is supposed to do) and size (keep low foot print), so they are not a priority I think for the moment
7 - try to use relative positions as mucha as possible for controls to keep UI consistent across resolution or we will have to define a absolute positions file which may be painful to maintain at the end each time there is UI change
8 - theme support in lvgl is enabled but it is not a priority - first need to define / design each pages - theming will be in next steps once UI is clearly defined
9 - unlike webUI, displaying printer EEPROM settings is not a target for the screen UI - at least at this moment, it will be more part of next steps
if anyone has some design skill please shoot I am not designer and not good a it 😓
Any suggestion / mockup / of UI and user flow is welcome
Beta Was this translation helpful? Give feedback.
All reactions