Timezone support / UI improvements

A project log for Hardware 2FA TOTP authenticator

Small USB 2FA authenticator for up to 32 profiles

itzandroidtabitzandroidtab 02/25/2024 at 21:350 Comments

To make it easier to set the epoch time correctly I added support for timezones (GMT only). The timezone selection is done in the settings screen where you can set the time. (This is important as TOTP uses the epoch time without timezone. If the user selected the local time without removing the time offset to GMT+0 the codes are not correct). The timezone is stored in the RTC registers. This is done so we do not have to erase any flash memory to update the timezone. (range is GMT -12 to GMT +14)

Authenticator showing timezone support

In this update I added a few UI improvements. One is a version screen to make sure what version I am running on what TOTP authenticator.

Version information on the authenticator

Another quality of life improvement is the RTC calibration screen now shows proper text instead of 1 and 0. (it now shows enabled / disabled and backward / forward in the RTC calibration direction). The last change I made is now it is posible to hold the up and down button in the numeric popups. (before you would have to click for every increment)

RTC calibration showing it is enabled