I've updated the case design to have a screw battery door instead of a sliding one. The durability of the sliding one was not great, and the rails were causing the exterior case surface to have imperfections. The rails also required the orientation of the back piece to not be flat on the print bed, requiring extra finishing to remove the supports. The new design with a screw door into a heat set insert should be more durable, and results in much nicer print quality as pictured below.
The lcd is now having its polarity refreshed at 60hz even in standby by mapping an internal clock to a external pin. Unforunately this is the slowest i can seem to do this, since the division factor against the internal 32khz oscillator only has "8 division bits" available. Which is somehow not a max divisor of 2^8 but 8. Leading to a division of (32000 / 2^( <divisor> + 1 )). For a max division of 512. To use a different internal clock divider with a larger divisor would require remapping pins and determining if the max divisor clock GLCK1 can be remapped - as its currently being mapped to the external oscillator for the core cpu clock.
I wonder if the TCC feature can be used to generate a 30hz clock for the display polarity? The 60hz one should be ok for now. I can visibly see the display blink in strong direct lighting on low battery, suggesting that the polarity change is still working at 60hz, even in standby. (whereas the previous design was only swapping polarity at 30 hz or slower and not all in standby)
I've put in an order with OSHPark for a medium run of 30 boards, with a few final design changes:
- replaced the debug port with a pogo pin connector for easy bootloader flashing
- exposed a test point for the polarity clock signal on the display for easier probe attachment
Also ordered some foaming tpu filament and ninjaflex chinchilla to experiment with nicer feeling buttons. The current ones don't print with a good finish and feel ok. Solid buttons click very loud, so finding a nice feeling rubber/tpu material would be great.