A method of
programming a metering device (100, 300) with
firmware includes assembling the metering device (100, 300), where the metering device (100, 300) includes a memory (118, 308, 318, 332) and a processor (110, 310)
executable to initiate
programming of the metering device (100, 300) with
firmware, write a
firmware database including a plurality of firmware images to the memory (118, 308, 318, 332), and write the firmware
database to the memory (118, 308, 318, 332). Each of the plurality of firmware images includes a different
firmware version and / or a different configuration setting, receiving an input indicating which firmware image of the plurality of firmware images from the firmware
database should be used to operate the metering device (100, 300), and when the metering device (100, 300) is connected to a power source and in response to the received input, generating a plurality of firmware images for the metering device (100, 300) to operate the metering device (100, 300). Operation of the metering device (100, 300) is initiated by the processor (110, 310) using the indicated one of the plurality of firmware images from the firmware database.