I needed a cheap heatsink for my Raspberry Pi 3 that I use as a music player/server. To maximize performance, I wanted to overclock the computer for faster searching and handling of all my music. I’ve managed to overclock my central Stratum-1 NTP server to 1350MHz without any problems, but the dinky little aluminum heatsink was way to anemic, so I found a very cheap DIY solution to my problem. With this heatsink, I can run the Raspberry Pi 3 at 1.5GHz all day at full tilt without any issues!
The results are in:
I’ve been very busy with different projects, and one of them requires a custom enclosure. So I thought it would be an excellent excuse to learn Fusion 360. When the Raspberry Pi 3 came out, I did some overclocking experiments. But I settled with just passive cooling with some small aluminum heatsinks. But after seeing some tests done with a more massive copper heatsink combined with a cooling fan, I decided that I wanted to build a case with a silent fan with enough room for a large heatsink. I need it for my NTP server at ntp.jacken.se to get better performance.
After becoming a full-fledged time-nut (I’m compiling a new Linux kernel on my second NTP server as we speak), I have started to use the statistics that I usually install on a server just to keep a check on it. Sure, when installing something like MRTG, it’s great to see if something is clogging the system, but mostly, it’s unused. But when working with an NTP server a lot of factors start to make a difference. The temperature of the processor (the whole computer actually, mostly due to crystal drift), the load of the CPU’s, etc.
Warning: as of yet, there is no official support for overclocking the Raspberry Pi 3, so you could damage your small computer. Just a reminder.
The new version of Raspberry Pi 3 was released yesterday, so I naturally had to get two. I’m using two as Stratum-1 NTP servers, and with the old Raspberry Pi 2, I had hit the roof when it came down to getting better time resolution. So when I read that a new 50% faster version had been released, I raced to the nearest store and got a couple. I have one experimental NTP server that isn’t handing out time on the internet and another one that is the primary server, connected to the NTP Pool Project.
I installed the experimental Raspberry Pi 3 first, so I could test performance and try to overclock it. And it went very well.
Update: You can download the Eagle PCB files for the PPS Pulse Width Extender here.
The PCB is made to fit the Hammond 1455C802BK enclosure.
I have two Stratum-1 NTP servers using Raspberry Pi 2’s as servers. But the two setups are entirely different.
My primary NTP Stratum-1 server is available at ntp.jacken.se, but it is also in the .se pool of ntp.org.
It’s a Raspberry Pi 2 I use a Raspberry Pi 3 that I have connected a U-Blox Neo-7 GPS receiver. But I’m not using the 1 PPS signal coming out of the U-Blox. I have a Trimble GPSDO that I bought from eBay. The unit has two 10 MHz lab reference outputs and one 1 PPS output. But after measuring the signal coming out from the GPSDO, I realized that the timing speed for the seconds “Tick” was only 10 µsec which is way to fast for the Raspberry Pi to pick up as an interrupt on one of the GPIO pins. So I built a pulse extender, making the pulse around 250 milliseconds instead. And now the Raspberry Pi picks up the pulse without problems. Some GPSDO units can set the pulse width by programming the unit via a serial port, but I can’t find that feature on this unit (which is poorly documented and was OEM made for some other manufacturer), so I had to do it with hardware. So how does it look when crunching the numbers on it?