Here is my proposal for the design (on my monitor I can see at real scale, if I put internet browser zoom to 100%):
There are some small displacements on the final image but not on the source SVG file I did on Inkscape, I think it is because of final optimizations of JPEG or something - I hope on the LCD this will be better.
Source file here: https://github.com/OpenSource-EBike-firmware/SW102_LCD_Bluetooth/tree/master/design
MAIN SCREEN
Explanation of main screen:
1. Top left: battery SOC in numeric value because it is the only way for user to be able to read. Values changes in steps of 10, like 40, 50, etc up to 99 as 100 would take space for 3 digits.
2. Top right: time yet to be implemented and I hope we can get it.
3. Left: assist level from 0 to 9.
4. Right: wheel speed from 0 to 99 (no space to write km/h but that is a fixed field anyway).
5. Center: numeric field can be configured to show any variable, like motor power, motor temperature, pedal cadence, etc and can show at right 1 letter or more to indicate the units and this way make also more clear what is the variable.
6. Center: graph field can be configured to show any variable, like motor power, motor temperature, pedal cadence, etc and can show at top right a numeric value that can be or max value (or the actual value??) and 1 letter or more to indicate the units and this way make also more clear what is the variable.
7. Bottom: brakes, lights, etc can be a small icon or just a letter like B from brakes, L for lights, etc. Maybe we should show here also any error code / message, that can be on top of any other information since it will have the most priority.
NOTE: for an initial version, I would put fixed variables of motor power on the numeric field and human pedal power on the graph.
CONFIGURATIONS SCREEN
Explanation of configurations screen:
This menus works mostly as on 850C LCD. UP and DOWN buttons to scroll up and down, OK button to start or stop change the variable.
1. Top: Menu title.
2.1 Variable name 2 lines of text. This entries are numbered because due to small space we may need cut letter on variables names and so we will need to keep a wiki page explaining each entry number (does this make sense or we simple can avoid that numbering and the wiki page??)
2.2 Variable value the selected variable will have the name blinking. Once we select it for change, the value will blink instead.
I think ideally the configuration menu could have all the configurations however, we are limited for the available flash memory on SW102 and then we may be obligated to move some configurations to the mobile app. I think that at least, we could try to have the minimum configurations that make system usable without the need to use the mobile app because we may have some limitation and be without mobile phone, battery discharged on mobile phone or such.