@startuml skinparam BackgroundColor F0F0F0 start :User checks firmware version; :Read current version; note right Read from modem with AT+QGMR end note :Download versions file from server; note right Simple file format: :: end note :parse file; note right based on current version, get end note if (user allows update) then (yes) :Download & install new firmware; note right use command AT+QFOTADL= end note endif :reboot device; stop @enduml