PiHardwareInfo

Get Raspberry Pi hardware info from /proc/cpuinfo
and /sys/class/net/*
Try
run
curl -s https://raw.githubusercontent.com/rexzhang/pi-hardware-info/master/pi_hardware_info.py | python3
result
PiHardwareInfo(
{'revision_code': '0x0',
'model_type': <ModelType.RPI_5: 23>,
'model_name': 'Raspberry Pi 5 Model B Rev 1.0',
'processor': <Processor.BCM2712: 4>,
'memory': 8192,
'manufacturer': <Manufacturer.SONY_UK: 0>,
'revision': '1.0',
'serial_number': 'ecc0679911340000',
'mac_address': {'eth0': '2C:CF:67:00:00:00',
'wlan0': '2C:CF:67:00:00:00'},
'overvoltage': False,
'otp_program': False,
'otp_read': False}
)
Install
pip install PiHardwareInfo
Usage as library
from pi_hardware_info import ModelType, PiHardwareInfo
info = PiHardwareInfo()
if info.model_type == ModelType.MODEL_3B_PLUS:
print('5G Wifi ready')
elif info.model_type == ModelType.MODEL_3B:
print('only 2.4G Wifi')
Usage as tool
python -m pi_hardware_info
History
0.6.1 - 20250225
- Add, network interface MAC address info
- Refactor
0.5.0 - 20250224
- Add, Support to raspberry pi 5
- Codebase modernization Updates
- Drop py3.5 py3.6 py3.7 py3.8
- Add type hints
- Add unit test
- Add pyproject.toml
- Add pre-commit
0.4.0 - 20220810
- Add, support Zero2W/400/CM4
- Add, Overvoltage/OTP Program/OTP Read support
0.3.3 - 20190709
- Support raspberry pi 4B
- Rewrite some code
0.2.0 - 20190302
- Add old style revision code support, support 1A/1B
0.1.0 - 20190301
Alternative
Ref