> unfortunately the machines in the device are both slower and running a lot of processes which causes the software timer to be slow by about 8 seconds per hour.
But you were using QueryPerformanceCounter?
Also bear in mind that QPC could give some very odd results if the processor is variably clocked (as in a laptop) to save power.
What exactly is your embedded device?
If it's running processes, then that implies a scheduler of some sort as well. Unless the scheduler is entirely cooperative, having a hardware timer interrupt is all but essential.
Having found the hardware timer, is that stable for your needs?