A method of
programming a metering device (100, 300) with
firmware comprising: assembling the metering device (100, 300), wherein the metering device (100, 300) comprises a memory (118, 308, 318, 332) and a processor (110, 310)
executable to initiate
programming of the metering device (100, 300) with the
firmware, writing, to the memory (118, 308, 318, 332), a
firmware database comprising a plurality of firmware images, each of the plurality of firmware images comprising a different
firmware version and / or different configuration settings, receiving an input indicating which one of the plurality of firmware images from the firmware
database should be used to operate the metering device (100, 300), and initiating, by the processor (110, 310), when the metering device 9100, 300) is connected to a power source and in response to the received input, operation of the metering device (100, 300) using the indicated one of the plurality of firmware images from the firmware
database.