Starting with the Raspberry Pi 3B, raspi-config no longer exposes overclock options in its menu. That does not mean overclocking is gone — it means you reach for a lower-level knob: /boot/config.txt. This Raspberry Pi 3B Plus overclock guide walks through the parameters, explains what each does, and shares benchmark results to help you land on a stable configuration.
A note on cooling
The Pi 3B+ runs warm even at stock speeds. Before overclocking, fit a heatsink on the BCM2837B0 SoC. The chip already has a metal heat spreader, but it still throttles aggressively approaching 85 °C. Good thermal management is what separates a stable overclock from a frustrating one.
Raspberry Pi 3B Plus overclock: editing /boot/config.txt
sudo nano /boot/config.txt
Add the following at the bottom:
gpu_freq=500
sdram_freq=550
arm_freq=1550
over_voltage=8
force_turbo=1
What each setting does
arm_freq — CPU clock in MHz. Pi 3B+ default is 1400. This is the most impactful parameter for CPU workloads.
gpu_freq — Sets core_freq, h264_freq, isp_freq, and v3d_freq together. On the Pi 3, core_freq drives the L2 cache and memory bus — raising it has a measurable effect on CPU performance, unlike the Pi 4B where CPU and memory bus clocks are decoupled.
sdram_freq — SDRAM clock in MHz. Pi 3B+ default is 500 MHz. Pushing this too high risks memory errors and SD card corruption — treat changes here with caution.
over_voltage — Core voltage adjustment. Range [-16, 8] maps to [0.8 V, 1.4 V] in 0.025 V steps. Values above 6 require force_turbo=1 and permanently set the warranty bit.
force_turbo — For any Raspberry Pi 3B Plus overclock, this forces the CPU to hold its configured frequency regardless of load. Combined with over_voltage above 6, this sets the warranty bit.
Complete reference: official Raspberry Pi config.txt documentation.
Benchmark results
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
| /boot/config.txt | Benchmark results | |||
|---|---|---|---|---|
| Total time | Per-request avg | Per-request max | Notes | |
arm_freq=1550, gpu_freq=500, sdram_freq=550, over_voltage=8 | 71.80s | 28.71ms | 47.52ms | Slightly unstable stddev |
[Recommended ★] arm_freq=1500, gpu_freq=450, sdram_freq=550, over_voltage=8 | 74.40s | 29.76ms | 46.05ms | Stable, consistent |
[Avoid] arm_freq=1550, gpu_freq=550, sdram_freq=650, over_voltage=8 | 91.97s | 36.78ms | 20126ms | Memory instability |
The recommended profile runs at a slightly lower arm_freq (1500 vs 1550 MHz) yet delivers tighter timing and lower standard deviation — more consistent, predictable performance. The lower gpu_freq reduces heat, helping the CPU sustain its frequency without throttling during longer workloads.
I have also overclocked the Raspberry Pi 4B — check out that post for a comparison.