Live data from Hacker News

Most Stable Raspberry Pi? Better NTP with Thermal Management

austinsnerdythings.com

11–20 of 99 posts

Re: Most Stable Raspberry Pi? Better NTP with Thermal Management

#13

Amazing project, great write-up. Would love to see a temperature graph as well! I'm wondering how good the PID controller here is working. For future improvements, a cheap but effective win might be to put a temperature sensor on the oscillator (or two or three in various places). And use that to drive the PID loop. Even if just experimental & not long term, it would be nice to have data on how strong the correlation…

> put a temperature sensor on the oscillator

At that point, couldn't we just use the temperature value to compensate for the drift?

Re: Most Stable Raspberry Pi? Better NTP with Thermal Management

#14

It's an SBC-scale OXCO. I half wonder if adding a larger heatsink, or even putting thermal mass around the existing oscillator could also help, or if the heating is more localized in the PCB itself. Always fun new things to learn when doing something "simple" like setting up an NTP server!

Flirc makes a metal Pi case where the CPU is pressed against the metal body of the case, resulting in a huge thermal mass for passive cooling. I have a bunch of them and it works very well. No fan necessary.

Re: Most Stable Raspberry Pi? Better NTP with Thermal Management

#16
post #5

You might have even better precision if you stay away from CPU0 and also set idle=poll in your kernel command line. Lots of things (including other interrupts) often land on CPU0. It would not be my first choice for something where I wanted high timing precision.

I came here to post this. We make a lot of the same sorts of optimizations for our OS distro (debian based) -- disabling frequency scaling, core pinning, etc. Critically, CPU0 has a bunch of stuff you cannot push, and you're better off with using one of the other cores as an isolated island.

This is what the scheduler latency looks like on our isolated core:

# Total: 000300000 # Min Latencies: 00001 # Avg Latencies: 00005 # Max Latencies: 00059 # Histogram Overflows: 00000

(those are uS!)

Re: Most Stable Raspberry Pi? Better NTP with Thermal Management

#17

Earlier quoted context omitted.

> I half wonder if adding a larger heatsink, or even putting thermal mass around the existing oscillator could also help, or if the heating is more localized in the PCB itself. That would likely make it worse. The trick here is that the other cores are running at essentially their maximum temperature and and will dynamically reduce their clockspeed if required to keep from going above that limit. In essence, the envi…

Extreme power dissipation would keep temperature stable so that this whole setup might not be needed, though. Author should experiment with liquid nitrogen ;) [1] [11] https://www.xda-developers.com/liquid-nitrogen-cooling-raspb...

The timing crystals don't work better when colder but worse. That's why they are heated in high end time appliances, not cooled.

Re: Most Stable Raspberry Pi? Better NTP with Thermal Management

#19

Earlier quoted context omitted.

Extreme power dissipation would keep temperature stable so that this whole setup might not be needed, though. Author should experiment with liquid nitrogen ;) [1] [11] https://www.xda-developers.com/liquid-nitrogen-cooling-raspb...

The timing crystals don't work better when colder but worse. That's why they are heated in high end time appliances, not cooled.

Isn't the issue here temperature stability? (Also, humour)

Re: Most Stable Raspberry Pi? Better NTP with Thermal Management

#20
Why not put a resistor (for heating) and a bit of foam insulation on the crystal?

This is way more direct than spacebar heating.

You could also add a transistor attached to the resistor and a GPIO and use the clock drift as a proxy for temperature. PID is probably enough but since you have a 24 hour cycle you could calculate a baseline heating schedule.

Post reply on HN