A round counter, comprising: a detection unit configured to detect energy pulses resulting from an impact to a firearm; a round counter processor configured to analyze data of an energy pulse related to the impact to the firearm obtained by the detection unit to count a number of rounds fired from the firearm; a firing counter configured to store a firing count which indicates the number of rounds discharged from the firearm; and, an energy source to power the round counter, characterized in that the round counter processor is configured to: designate a wakeup window having a substantial time span of firing at least two rounds; retrieve a time window for accumulating data of the energy pulse, wherein the time window has a time length of one energy pulse; compare the time window to the wakeup window, and in case the time window is greater than or equal to the wakeup window increase the firing counter by two counts; in case the time window is smaller than the wakeup window, comparing the time window to a firing window, wherein the firing window is a predetermined time length required for discharging a round from the firearm; and in case the time window is greater than or equal to the firing window and a width of the detected pulse is greater than a predetermined value, increasing the firing counter by one count. a detection unit configured to detect energy pulses resulting from an impact to a firearm; a round counter processor configured to analyze data of an energy pulse related to the impact to the firearm obtained by the detection unit to count a number of rounds fired from the firearm; a firing counter configured to store a firing count which indicates the number of rounds discharged from the firearm; and, an energy source to power the round counter, characterized in that the round counter processor is configured to: designate a wakeup window having a substantial time span of firing at least two rounds; retrieve a time window for accumulating data of the energy pulse, wherein the time window has a time length of one energy pulse; compare the time window to the wakeup window, and in case the time window is greater than or equal to the wakeup window increase the firing counter by two counts; in case the time window is smaller than the wakeup window, comparing the time window to a firing window, wherein the firing window is a predetermined time length required for discharging a round from the firearm; and in case the time window is greater than or equal to the firing window and a width of the detected pulse is greater than a predetermined value, increasing the firing counter by one count. designate a wakeup window having a substantial time span of firing at least two rounds; retrieve a time window for accumulating data of the energy pulse, wherein the time window has a time length of one energy pulse; compare the time window to the wakeup window, and in case the time window is greater than or equal to the wakeup window increase the firing counter by two counts; in case the time window is smaller than the wakeup window, comparing the time window to a firing window, wherein the firing window is a predetermined time length required for discharging a round from the firearm; and in case the time window is greater than or equal to the firing window and a width of the detected pulse is greater than a predetermined value, increasing the firing counter by one count.