With figuring out that my pi-top[4] rpi4 has an issue with the HDMI ports, generating noise/artifacting, i swapped out the 4GB board that come with my pi-top[4] with an 8GB version (Rev 1.4), hoping a 64bit version of pi-topOS will be a thing some time too. short story, its not the raspberry pi
I also decided to swap the thermal pad to. Using Alphacool thermal pad - 7W/mK 1mm thickness and run a cpuburn.a53 test which is basically a worst case scenario stress test, which I also done on the 4GB board. Both run at
- CPU - 2GHz overclock
- CPU Overvolt - 6
- GPU - 600MHz Overclock
- GPU RAM - 512
I may have won the silicon lottery my 8GB board (confirmed, I did). both tests done today on a newly updated install. The 8GB board can run 2.147Ghz
pi-top[4] board (4GB Rev 1.1)
- Over 30 mins test Idle, temps where around 40-41C
- Over 30 mins test cpuburn.a53, temps where around 67C-70C
New board swap (8GB Rev1.4)
- Over 30 mins test Idle, temps where around 35-36C
- Over 30 mins test cpuburn.a53, temps where around 59C-61C
and just for fun here is my system temp monitor python script I made which has 2 possible arguments that can be run -m for monitor only mode and -l for logging mode which save all data to a CSV file
python3 system_temp.py -m
The code as a little out of date and was written for Python 3.6.2 but still works
import time, os, sys
def monitor_system(timercount,mode):
cpuC = str(int(int(str(os.popen('vcgencmd measure_clock arm').readline().strip('frequency(48)=')).strip())/1000000))+' MHz'
cpuT = str(round(float(open('/sys/class/thermal/thermal_zone0/temp').read()) / 1000,2))+'°C'
coreV = str(os.popen('vcgencmd measure_volts').readline().strip('volt=')).strip()
throt = 'No' if str(os.popen('vcgencmd get_throttled').readline().strip('throttled=')).strip() == '0x0' else 'Yes'
if mode=='-l':
return(str(timercount)+','+cpuT+','+cpuC+','+coreV+','+str(throt))
else:
return(str(timercount)+' Seconds\tCPU Temp: '+cpuT+'\tCPU Clock: '+cpuC+'\t Throttling: '+throt)
def write_log(log):
f=open('system_logging.csv', 'a')
f.write(log+'\n')
f.close
def main(mode,c=1,d=1200):
if mode=="-l":
write_log('Time (s),Temperature (°C),CPU Clock Speed,Core Voltage (V),CPU Throttling')
while c<d+1:
syslog=monitor_system(c,mode)
write_log(syslog)
print(syslog)
time.sleep(1)
c+=1
elif mode=='-m':
while True:
syslog=monitor_system(c,mode)
print(syslog)
time.sleep(1)
c+=1
else:
print('No aruments given, no modes to run.\nUse -m for monitor mode\nUse -l for logging mode')
if __name__ == '__main__':
if len(sys.argv) == 2:
main(sys.argv[1])
else:
main('')
Silicone Lottery Result
I did win, the 8GB board with ICE cooler (slimline, with Noctua 40mmx10mm fan) i can get
- CPU Clock: 2.147GHz
- CPU Overvolt: 6
- GPU Clock: 750
- GPU RAM: 512
After 1 hour cpuburn-a53 testing: 38C-40C