Hardware Libraries
Python packages for controlling electronics.
This is an overview — pick a sub-topic below.
Sub-topics (13)
gpiozero, RPi.GPIO, pigpio and lgpio
Raspberry Pi GPIO libraries; gpiozero is the friendliest.
Adafruit Blinka and CircuitPython Libraries
Run CircuitPython sensor drivers on Raspberry Pi and other Linux boards through Blinka.
pySerial, smbus2, spidev and python-can
Serial ports, I2C, SPI and CAN bus access.
pymodbus, minimalmodbus, asyncua and opcua-asyncio
Industrial protocols: Modbus RTU/TCP and OPC UA clients/servers.
Bleak, PyBluez and pyusb
Bluetooth Low Energy (Bleak, cross-platform), classic Bluetooth (PyBluez, unmaintained), and USB devices (pyusb).
PyFirmata, Telemetrix and Arduino Integration
Control an Arduino from Python using the Firmata protocol.
PyVISA, PyMeasure, QCoDeS and python-ivi
Lab instrument control and measurement frameworks.
esptool, mpremote, rshell, ampy and Thonny
Flash and manage microcontrollers: esptool (ESP firmware), mpremote (official MicroPython tool), rshell/ampy (older file tools).
OpenCV, LiteRT and ONNX Runtime on the Edge
Vision and ML inference on Raspberry Pi, Jetson and other edge devices.
Home Assistant, ESPHome and Node-RED Integration
Smart-home platform (Home Assistant), YAML-configured ESP firmware (ESPHome), and flow-based wiring of IoT data (Node-RED).
ThingsBoard, Blynk and Grafana IoT Dashboards
Visualise and control IoT devices from dashboards.
PySerial Plotter and Live Plotting
Plot live data from serial devices.
SimPy, PySpice, SKiDL, KiCad Scripting and Ngspice
Simulate systems (SimPy discrete events), circuits (PySpice with ngspice), describe circuits in code (SKiDL), and automate PCB design (KiCad Python API).
Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.
Discussion (0)
Sign in or join free to ask questions and discuss this topic.