We propose incremental checkpointing techniques enabling transiently powered devices to retain computational state across multiple activation cycles. As opposed to the existing approaches, which checkpoint complete program state, the proposed techniques keep track of modified RAM locations to incrementally update the retained state in secondary memory, significantly reducing checkpointing overhead both in terms of time and energy.