Hacker News new | ask | show | jobs
by unwind 4631 days ago
It only takes ones reading every four minutes, which probably pushes the duty cycle for the processor and sensor chips down enough to make the energy budget.

Assuming a slow 3 seconds for each cycle of "wake up, initialize sensor, take a reading, store it to flash, set timer, go to sleep", that's a duty cycle of 1.3% which is pretty nice.

1 comments

> "wake up, initialize sensor, take a reading, store it to flash, set timer, go to sleep"

Actually, you can do all that in about 30ms.

Less, if you just save to RAM and then only write to flash when you have filled up your buffer.

I know, that's why I said "slow". :) I wanted to aim for a very "bad" estimate, just to make the point more clearly: the duty cycle is low for this system.
Scientists generally don't want their data stored in volatile memory. If something goes wrong, they lose valuable data points.
You can't typically write just 1 byte into flash - you have to write in pages of say 4KB.

And writing to flash is painfully slow.

So it's most efficient (current-wise) to store up 4KB worth of data in RAM and then write it all to flash in one fell swoop.

It's a tradeoff with data security, but I think it's a good tradeoff because only rarely will things go wrong, but the additional current burn is guaranteed and constant if you write every datapoint to flash.

Magnetic FRAM is making a comeback just to scratch some of these low-power itches. It's faster, uses less power, and has greater write endurance. TI even put it in one of their latest MSP430's.

If something goes wrong, the rest of the dataset will be missing anyway. I don't think it matters much if 25000 points are missing or 25100.