TEP DOWNLOAD CENTER

Project Files of Raspberry Pi 5 Library for Proteus: MLX90614, Fan, Web Server

Libraries Code Projects Simulation
tep://download-terminal raspberry-pi-5-tep-v1-0-e679b80e09a04046a087f9eb382d998f.zip ZIP archiveV1.0Verified1 downloads Free
Raspberry Pi 5 Library for Proteus: an IR smart fan with an MLX90614, a TB6612FNG, a motor and a phone page
Proteus library · File 1 of 1

Raspberry Pi 5 Library for Proteus V1.0

Raspberry Pi 5 Library for Proteus V1.0 comes as a ZIP archive of 114 files (13.0 MB, 25.0 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, source code and a nested archive.

  • LIBProteus library
  • DLLProteus model
  • DSNProteus simulation
  • SRCSource code
  • ZIPNested archive

Description

Raspberry-Pi-5-Library-for-Proteus-v1.0.zip with the Raspberry Pi 5 in Proteus (BCM2712 quad Cortex-A76 at 2.4 GHz, 8 GB, the RP1, Gigabit Ethernet, dual-band Wi-Fi, the 40-pin GPIO header; it runs your Python program with lgpio, gpiozero, RPi.GPIO, smbus2, spidev, pyserial and sockets on eth0 or wlan0, with the Pi Terminal; TEPRPI5.LIB, TEPNET.DLL and the TEPPi folder with Python 3.11), the MLX90614, TB6612FNG and TT motor libraries, the Laptop / Mobile WiFi Monitor symbols, the IR smart fan demo project with its program, blink.py and a README.

Read Raspberry Pi 5 Library for Proteus: MLX90614, Fan, Web Server

File Structure

raspberry-pi-5-tep-v1-0-e679b80e09a04046a087f9eb382d998f.zip114 files · 17 folders · 25.0 MB unpacked
Raspberry-Pi-5-TEP-v1.0/114 files · 25.0 MB
Proteus Library Files/6 files · 255.5 KB
LIB TEPLAPTOP.LIBProteus library 39.5 KB
LIB TEPMLX90614.LIBProteus library 55.2 KB
LIB TEPMOBILE.LIBProteus library 13.1 KB
LIB TEPMOTOR.LIBProteus library 16.2 KB
LIB TEPRPI5.LIBProteus library 60.5 KB
LIB TEPTB6612.LIBProteus library 71.1 KB
Proteus Model Files/99 files · 21.6 MB
TEPPi/95 files · 18.4 MB
python/33 files · 17.5 MB
DLL libcrypto-3.dllSimulation model 3.3 MB
DLL libffi-8.dllSimulation model 34.3 KB
DLL libssl-3.dllSimulation model 620.8 KB
TXT LICENSE.txtText file 36 KB
PYD pyexpat.pydPYD file 169.8 KB
CAT python.catCAT file 628.1 KB
EXE python.exeEXE file 99.3 KB
DLL python3.dllSimulation model 65.3 KB
DLL python311.dllSimulation model 4.8 MB
ZIP python311.zipArchive 4.1 MB
_PTH python311._pth_PTH file 80 B
EXE pythonw.exeEXE file 97.8 KB
PYD select.pydPYD file 26.8 KB
DLL sqlite3.dllSimulation model 1.2 MB
PYD unicodedata.pydPYD file 1.1 MB
DLL vcruntime140.dllSimulation model 88.9 KB
PYD winsound.pydPYD file 27.3 KB
PYD _asyncio.pydPYD file 55.8 KB
PYD _bz2.pydPYD file 79.8 KB
PYD _ctypes.pydPYD file 105.8 KB
PYD _decimal.pydPYD file 193.8 KB
PYD _elementtree.pydPYD file 113.8 KB
PYD _hashlib.pydPYD file 48.8 KB
PYD _lzma.pydPYD file 145.8 KB
PYD _msi.pydPYD file 36.8 KB
PYD _multiprocessing.pydPYD file 29.3 KB
PYD _overlapped.pydPYD file 42.3 KB
PYD _queue.pydPYD file 28.8 KB
PYD _socket.pydPYD file 67.3 KB
PYD _sqlite3.pydPYD file 89.3 KB
PYD _ssl.pydPYD file 153.8 KB
PYD _uuid.pydPYD file 22.8 KB
PYD _zoneinfo.pydPYD file 38.8 KB
runtime/62 files · 893.7 KB
Adafruit_DHT/1 file · 2.5 KB
PYC __init__.pycPYC file 2.5 KB
colorzero/8 files · 85.3 KB
SRC attr.pySource file 6.5 KB
SRC color.pySource file 37.9 KB
SRC conversions.pySource file 11.1 KB
SRC deltae.pySource file 5.5 KB
SRC easings.pySource file 885 B
SRC tables.pySource file 13.6 KB
SRC types.pySource file 9 KB
SRC __init__.pySource file 878 B
colorzero-2.0.dist-info/5 files · 6.6 KB
TXT LICENSE.txtText file 1.5 KB
FILE METADATAFile 4 KB
FILE RECORDFile 1004 B
TXT top_level.txtText file 10 B
FILE WHEELFile 110 B
gpiozero/27 files · 594.5 KB
fonts/3 files · 12.6 KB
TXT 14seg.txtText file 2.6 KB
TXT 7seg.txtText file 1.1 KB
SRC __init__.pySource file 8.9 KB
pins/11 files · 234.3 KB
SRC data.pySource file 58.5 KB
SRC lgpio.pySource file 12.4 KB
SRC local.pySource file 6.6 KB
SRC mock.pySource file 18.5 KB
SRC native.pySource file 20.7 KB
SRC pi.pySource file 27.8 KB
SRC pigpio.pySource file 21.1 KB
SRC rpigpio.pySource file 7.1 KB
SRC spi.pySource file 7.7 KB
SRC style.pySource file 2.7 KB
SRC __init__.pySource file 51.2 KB
SRC boards.pySource file 100.9 KB
SRC compat.pySource file 1.2 KB
SRC devices.pySource file 24.3 KB
SRC exc.pySource file 7.4 KB
SRC input_devices.pySource file 53.6 KB
SRC internal_devices.pySource file 26.1 KB
SRC mixins.pySource file 20.5 KB
SRC output_devices.pySource file 60.5 KB
SRC spi_devices.pySource file 19.6 KB
SRC threads.pySource file 1.6 KB
SRC tones.pySource file 8.4 KB
SRC tools.pySource file 20.9 KB
SRC __init__.pySource file 2.6 KB
gpiozero-2.0.1.post3.dist-info/6 files · 14.6 KB
TXT entry_points.txtText file 539 B
RST LICENSE.rstRST file 1.4 KB
FILE METADATAFile 9.7 KB
FILE RECORDFile 2.8 KB
TXT top_level.txtText file 21 B
FILE WHEELFile 92 B
RPi/2 files · 17.6 KB
PYC GPIO.pycPYC file 17.4 KB
PYC __init__.pycPYC file 257 B
serial/2 files · 14.8 KB
PYC serialutil.pycPYC file 691 B
PYC __init__.pycPYC file 14.1 KB
smbus2/1 file · 12.7 KB
PYC __init__.pycPYC file 12.7 KB
PYC adafruit_dht.pycPYC file 3.6 KB
PYC board.pycPYC file 1.7 KB
PYC lgpio.pycPYC file 37 KB
PYC smbus.pycPYC file 418 B
PYC spidev.pycPYC file 5.9 KB
PYC tep_pi.pycPYC file 36.4 KB
PYC tep_pi_boot.pycPYC file 8.6 KB
PYC tep_pi_fs.pycPYC file 14 KB
PYC tep_pi_net.pycPYC file 28.5 KB
PYC tep_pi_w1.pycPYC file 8.8 KB
DLL TEPMLX90614.DLLSimulation model 338.5 KB
DLL TEPMOTOR.DLLSimulation model 153.5 KB
DLL TEPNET.DLLSimulation model 2.4 MB
DLL TEPTB6612.DLLSimulation model 296 KB
Proteus Simulation/6 files · 3.2 MB
DSN Pi-5-IR-Smart-Fan.pdsprjProteus simulation 33.6 KB
SRC smart_fan.pySource file 7.4 KB
DLL TEPMLX90614.DLLSimulation model 338.5 KB
DLL TEPMOTOR.DLLSimulation model 153.5 KB
DLL TEPNET.DLLSimulation model 2.4 MB
DLL TEPTB6612.DLLSimulation model 296 KB
Python Code/2 files · 7.7 KB
SRC blink.pySource file 291 B
SRC smart_fan.pySource file 7.4 KB
TXT README.txtText file 22.1 KB

README

README.txt 263 lines
RASPBERRY PI 5 LIBRARY FOR PROTEUS - V1.0 (BCM2712 2.4 GHZ, 8 GB, RP1, GIGABIT ETHERNET, WI-FI, 40-PIN HEADER)
YOUR PYTHON PROGRAM RUNS ON THE BOARD - DEMO: AN IR SMART FAN (MLX90614, TB6612FNG, A WEB PAGE)
Designed by The Engineering Projects www.TheEngineeringProjects.com

IMPORTANT LINKS
Article (read it first - pictures, step by step, every feature explained):
  https://www.theengineeringprojects.com/2026/10/raspberry-pi-5-library-for-proteus.html
Report a bug or suggest a feature (our forum):
  https://www.theengineeringprojects.com/forum/category/raspberry-pi-5-proteus-library
The demo's parts are our libraries (included) - their articles:
  MLX90614: https://www.theengineeringprojects.com/2026/10/mlx90614-ir-thermometer-library-for-proteus-v1-0.html
  TB6612:   https://www.theengineeringprojects.com/2026/10/tb6612fng-motor-driver-library-for-proteus-v1-0.html
  Laptop:   https://www.theengineeringprojects.com/2026/10/laptop-wifi-monitor-library-for-proteus.html
  Phone:    https://www.theengineeringprojects.com/2026/10/mobile-wifi-monitor-library-for-proteus.html
The earlier boards of this series:
  https://www.theengineeringprojects.com/2026/10/raspberry-pi-model-b-library-for-proteus.html
  https://www.theengineeringprojects.com/2026/10/raspberry-pi-1-model-b-plus-library-for-proteus.html
  https://www.theengineeringprojects.com/2026/10/raspberry-pi-2-model-b-library-for-proteus.html
  https://www.theengineeringprojects.com/2026/10/raspberry-pi-3-model-b-library-for-proteus.html
  https://www.theengineeringprojects.com/2026/10/raspberry-pi-3-model-b-plus-library-for-proteus.html
  https://www.theengineeringprojects.com/2026/10/raspberry-pi-3-model-a-plus-library-for-proteus.html
  https://www.theengineeringprojects.com/2026/10/raspberry-pi-4-model-b-library-for-proteus.html
Support us (the libraries are free):
  https://www.theengineeringprojects.com/donate

FILE STRUCTURE
Raspberry-Pi-5-TEP-v1.0/
|-- Proteus Library Files/
|   |-- TEPLAPTOP.LIB                                    39.5 KB   the laptop (demo), to LIBRARY
|   |-- TEPMLX90614.LIB                                  55.2 KB   the MLX90614 thermometer (demo), to LIBRARY
|   |-- TEPMOBILE.LIB                                    13.1 KB   the phone (demo), to LIBRARY
|   |-- TEPMOTOR.LIB                                     16.2 KB   the TT gear motor (demo), to LIBRARY
|   |-- TEPRPI5.LIB                                      60.5 KB   the Raspberry Pi 5, to LIBRARY
|   |-- TEPTB6612.LIB                                    71.1 KB   the TB6612FNG driver (demo), to LIBRARY
|-- Proteus Model Files/
|   |-- TEPMLX90614.DLL                                 338.5 KB   the MLX90614 thermometer, to MODELS
|   |-- TEPMOTOR.DLL                                    153.5 KB   the TT gear motor, to MODELS
|   |-- TEPNET.DLL                                       2.38 MB   the Pi + monitors + network, to MODELS
|   |-- TEPTB6612.DLL                                   296.0 KB   the TB6612FNG driver, to MODELS
|   |-- TEPPi/python/                                   17.54 MB   Python 3.11.9 embeddable (33 files)
|   |-- TEPPi/runtime/                                  893.7 KB   TEP Pi runtime, gpiozero (62 files)
|-- Python Code/
|   |-- blink.py                                          0.3 KB   an LED on GPIO17 (the default)
|   |-- smart_fan.py                                      7.4 KB   the demo
|-- Proteus Simulation/
|   |-- Pi-5-IR-Smart-Fan.pdsprj                         33.6 KB   the demo: IR smart fan
|   |-- smart_fan.py                                      7.4 KB   the program of the demo
|   |-- TEPMLX90614.DLL                                 338.5 KB   copy of the model
|   |-- TEPMOTOR.DLL                                    153.5 KB   copy of the model
|   |-- TEPNET.DLL                                       2.38 MB   copy of the model
|   |-- TEPTB6612.DLL                                   296.0 KB   copy of the model
|-- README.txt                                          ~20.3 KB   this file
Total: 25.02 MB (unzipped). The source code of the models and of the TEP Pi runtime is not included.

WHAT IS IT?
The Raspberry Pi 5 (2023) as one Proteus part - and a way to run Raspberry Pi programs in Proteus 8.5.
Proteus cannot run Raspberry Pi OS, so this library does not emulate Linux. It does what matters for electronics: the
board runs YOUR PYTHON PROGRAM (a .py file, the PROGRAM property) against the circuit on the sheet, with the Python
libraries a Pi uses for its pins, its I2C / SPI / UART buses and its network.
  * At Run the board starts Python 3.11 (included: the TEPPi folder) with our TEP Pi runtime, then your program.
    The program and Proteus work in lockstep: while the program runs, Proteus waits; while the program sleeps, waits
    for a pin, a bus or the network, Proteus runs. So time.sleep(0.5) is 0.5 s of simulation, a busy loop still moves
    the clock (about 1 us per GPIO call, as Python on the Pi 5's 2.4 GHz Cortex-A76), and every edge is on time.
    time.time(), time.monotonic(), time.strftime() and datetime.now() follow the simulation's clock too.
  * The Pi 5's GPIOs belong to its RP1 chip, so a Pi 5 program drives them through the Linux gpiochip with lgpio -
    and so does this board: lgpio is built in, and gpiozero runs on it (its LGPIOFactory, as on a real Pi 5).
  * The network: eth0 when the Ethernet cable is in at Run (ETHERNET IN, the default; a click on the RJ45 plugs or
    unplugs it), wlan0 when it is out - wlan0 then joins the network in the WIFISSID / WIFIPASS properties (default: our
    router "TEP-WiFi", password 12345678 - the network of our ESP32 / Arduino Wi-Fi parts and the Laptop / Mobile WiFi
    Monitors) 2.3 to 3.5 s after Run. One network interface at a time; the Pi is 192.168.1.51 (192.168.1.(50 + the
    part's number)), the name raspberrypi.local. The wired Pi and the Wi-Fi monitors meet on the same router.
  * Threads work (gpiozero's threads, your own threading.Thread, Timer, Queue, Lock): every wait is in simulation time;
    an error in a thread is printed as Python prints it ("Exception in thread ...").
  * The Python libraries for the pins (the same names, numbers and messages as on a Pi):
      lgpio         lg 0.2's module: gpiochip_open (gpiochip 0; 4 is the same chip), gpio_claim_input / output /
                    alert with SET_PULL_UP / DOWN / NONE, gpio_read, gpio_write, gpio_free, gpio_get_mode, callback()
                    with RISING_EDGE / FALLING_EDGE / BOTH_EDGES and debounce, tx_pwm (0.1 - 10000 Hz), tx_servo,
                    tx_pulse and tx_busy (made by the board, steady while the program sleeps), the group_ functions,
                    i2c_open and the i2c_read / write functions on bus 1, spi_open / spi_xfer on SPI0, serial_open on
                    the UART; errors raise lgpio.error
      gpiozero      LED, PWMLED, Button, OutputDevice, Buzzer, Servo, AngularServo, Motor, MotionSensor,
                    DistanceSensor, CPUTemperature and the rest (gpiozero 2.0.1, unchanged, on lgpio)
      RPi.GPIO      the same API as on the earlier boards (on a real Pi 5 it comes from the rpi-lgpio package)
      spidev        SPI0 on GPIO11 (SCLK), GPIO10 (MOSI), GPIO9 (MISO), CE0 = GPIO8, CE1 = GPIO7, modes 0 to 3, up to
                    8 MHz; xfer / xfer2 take up to 4096 bytes (spidev's bufsiz), writebytes2 any length
      smbus2 / smbus  I2C bus 1 on GPIO2 (SDA) / GPIO3 (SCL) at 100 kHz, the Pi's 1.8 k pull-ups: the byte / block
                    reads and writes, i2c_rdwr with i2c_msg; a device that does not answer gives OSError [Errno 121]
                    Remote I/O error
      serial        pyserial on /dev/ttyAMA0 (the Pi 5's UART0: TXD GPIO14, RXD GPIO15; /dev/serial0 is accepted too):
                    any baud rate, timeouts, back-to-back bytes
      1-Wire        the DS18B20's files under /sys/bus/w1/devices (w1-gpio on GPIO4), as the kernel makes them
      Adafruit_DHT, adafruit_dht + board   DHT11 / DHT22 on any GPIO
      socket        TCP and UDP on eth0 or wlan0, http.server / socketserver, urllib.request, select
  * The Pi's own files: /proc/cpuinfo (Revision d04170, four ARMv8 processors), /proc/device-tree/model ("Raspberry Pi
    5 Model B Rev 1.0"), /dev/gpiochip0 and /dev/gpiochip4, the CPU temperature in /sys/class/thermal (gpiozero's
    CPUTemperature), /proc/loadavg, /proc/meminfo (8 GB).
  * The Pi Terminal (our TEP window, no Windows title bar): the shell prompt (pi@raspberrypi:~ $ python3 ...), the
    program's output (OUT) and errors (ERR, as Python prints them on a Pi), a line for input() (IN); its Board tab
    shows the GPIOs (BCM numbers), the LEDs, the supply pins and RESTART PROGRAM. Click the HDMI0 socket or the
    processor to open it.
  * The LEDs: PWR (red) and ACT (green: it flickers while the board boots and when the program prints) at the left
    edge by the power button, and the RJ45 jack's own LEDs - LNK (green) and 100 (yellow), lit with the cable in.
  * The header's supply pins power the modules wired to them, as on the bench: 5V, 3V3 and GND as logic levels (an
    analog VCC reading sees 5 V on either rail).
The board is drawn our way at its real size (85 x 56 mm, rounded corners, four mounting holes) from the Raspberry Pi 5
drawing: the 40-pin header along the top edge, the metal shield can of the dual-band Wi-Fi / Bluetooth 5.0 module under
pin 1 with the raspberry logo below it, the PCIe connector on the left edge with the microSD card out of the edge below
it, the power button and the PWR / ACT LEDs at the left edge, the Renesas DA9091 power chip, the BCM2712 under its
silver heat spreader with the LPDDR4X above it, the RP1 I/O controller, the fan connector by the USB 2.0 pair, the
stacked USB 2.0 and blue USB 3.0 pairs and the RJ45 at the bottom of the right edge, the Ethernet PHY turned 45 degrees,
the PoE+ header, the two CAM/DISP connectors, the RTC battery and UART connectors, and along the bottom the USB-C power
socket and the two micro-HDMI sockets. The 40 pins leave the top edge as one comb 50 thou apart, each with a
colour-coded tag: 5V red, 3V3 orange, GND black, GPIO green, I2C blue, SPI pink, UART purple, ID_SD / ID_SC grey.

ONE DEVICE (search "RASPBERRY" in Pick Devices):
  RASPBERRY PI 5  "Raspberry Pi 5" V1.0 (category Microprocessor ICs > Raspberry Pi), prefix PI, model TEPNET.DLL
                  (with the TEPPi folder)
The same TEPNET.DLL also runs our Raspberry Pi Model B, 1 Model B+, 2 Model B, 3 Model B, 3 Model B+, 3 Model A+ and
4 Model B, our Ethernet and Wi-Fi shields, modules and boards and the Laptop / Mobile WiFi Monitors; it replaces any
older TEPNET.DLL (keep only this newest one in MODELS). The TEPPi folder in this zip adds lgpio: replace the older one.

TEST STATUS
V1.0: verified in Proteus 8.5 on 24 Oct 2026 with the demo project as shipped. What the Proteus runs showed:
* Pi-5-IR-Smart-Fan: eth0 is up 1.5 s after Run (the RJ45's LNK and 100 lit); the program prints "Raspberry Pi 5 Model
  B Rev 1.0", "gpiozero pin factory: LGPIOFactory; MLX90614 at 0x5A: object 35.41 C, room 24.99 C" (OBJECT 36 C,
  MATTE 0.95) and "serving on http://192.168.1.51:8000/".
* AUTO at 35.5 C: the fan at 55 %; the TB6612FNG's pop-up shows FORWARD (CW) 55 %, AIN1 / AIN2 HIGH / LOW, PWMA "PWM
  55 % at 1000 Hz", STBY HIGH, VM 5.00 V. The laptop and the phone open the page (text links on the laptop, buttons
  on the phone).
* The MLX90614's TEA preset (70 C): the reading rises (smoothed) - AUTO 100 % from 45.29 C, HOT! from 52.16 C and D1
  blinks; the pop-up reads OK, 0 PEC errors, 0 NACKs.
* 50 % on the phone: "the page: /50", MANUAL 50 %; REVERSE AIRFLOW on the laptop: INTAKE - the driver's pop-up shows
  REVERSE (CCW) 50 %, AIN1 / AIN2 LOW / HIGH, -2.44 V on the motor (2.68 V forward at 55 %).
* The ROOM preset (25 C): the alarm goes off at 46 C; AUTO on the phone: AUTO 0 % - AIN1 / AIN2 LOW, PWMA LOW, the
  driver STOP, the motor at rest.
* The Board tab: the BCM2712 at 2.4 GHz quad Cortex-A76, GPIO2 / GPIO3 pulled up, GPIO25 (STBY) HIGH, GPIO12 / 17 /
  23 / 24 LOW at the end, 5V 5.00 V, 3V3 3.30 V, "No errors".
* Speed on our test PC: about 20 to 50 % of real time with the two pop-ups, the two monitors and the Pi Terminal open.

INSTALLATION (about 3 minutes)
1. Close Proteus. Extract the WHOLE ZIP to a normal folder (e.g. Desktop).
2. Copy everything in "Proteus Library Files" to the LIBRARY folder of Proteus, for example:
     C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
   (on some PCs: C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY - use the folder that already holds
   Proteus's own .LIB files). TEPRPI5.LIB is the Pi; TEPMLX90614.LIB (the IR thermometer), TEPTB6612.LIB (the motor
   driver), TEPMOTOR.LIB (the TT gear motor), TEPLAPTOP.LIB and TEPMOBILE.LIB are the demo's parts.
3. Copy everything in "Proteus Model Files" - the DLLs AND the TEPPi folder - to the MODELS folder:
     C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\MODELS
   TEPPi holds Python 3.11 and the TEP Pi runtime; the Pi finds it next to TEPNET.DLL, in MODELS or next to your
   project. Replace an older TEPNET.DLL and TEPPi folder (these are the newest).
4. Delete TEPRPI5.IDX (and the .IDX of a part library you replaced) from the LIBRARY folder if it is there.
5. Start Proteus. In Pick Devices (P) search "RASPBERRY".
Nothing else to install: Python is in TEPPi (no Python on the PC needed, none is changed).

RUN THE DEMO
Keep the .py file and the DLLs beside the project in "Proteus Simulation" (the TEPPi folder in MODELS).
  Pi-5-IR-Smart-Fan.pdsprj - PI1 runs smart_fan.py on Ethernet (the cable in): U1 = a GY-906 MLX90614 infra-red
  thermometer (SDA / SCL on GPIO2 / GPIO3, VIN on 3V3, address 0x5A, OBJECT 36 C), DRV1 = a TB6612FNG motor driver
  (PWMA on GPIO12, AIN1 on GPIO23, AIN2 on GPIO24, STBY on GPIO25, VCC on 3V3, VM on the 5 V supply rail) with M1 = a
  TT gear motor as the fan on AO1 / AO2, D1 = a green alarm LED on GPIO17 through R1 330R; PC1 = the Laptop WiFi
  Monitor and MOB1 = the Mobile WiFi Monitor on the same network. The thermometer and the driver are the Advance parts:
  their pop-up windows open at Run.
  Press Run: eth0 is up in about 1.5 s; the Pi Terminal shows the board, gpiozero's pin factory (LGPIOFactory), the
  first temperatures and "serving on http://192.168.1.51:8000/". The fan starts in AUTO: off below 30 C, 30 % at
  30 C rising to 100 % at 45 C, in 5 % steps (the object's reading is smoothed and a dead band keeps the speed steady).
  On the laptop or the phone open that address (Browser, the address, Go): the page shows the object's and the room's
  temperatures, the fan's speed and mode, the airflow and the alarm, with REFRESH, AUTO, OFF, 50 %, 100 % and REVERSE
  AIRFLOW (text links on the laptop, buttons on the phone). Change the scene in the MLX90614's pop-up (the presets
  ICE, ROOM, SKIN, TEA, BOILING, OVEN, or OBJECT -10 / -1 / +1 / +10): from 50 C the alarm LED blinks (gpiozero's
  blink) and the page says HOT!. 50 % and 100 % set the speed by hand, OFF stops the fan, AUTO hands it back to the
  temperature, REVERSE AIRFLOW turns the motor the other way (EXHAUST / INTAKE).
  The program is pure Python on lgpio - i2c_read_i2c_block_data for the MLX90614's RAM words with their PEC checked
  (CRC-8), gpio_claim_output / gpio_write for AIN1, AIN2 and STBY, tx_pwm at 1000 Hz on PWMA - plus gpiozero's LED,
  a control thread every 0.5 s and http.server.

YOUR OWN PROGRAMS
Write the program with any editor, put the .py next to your project and set the Pi's PROGRAM property to its name (or
a full path). Start from Python Code\blink.py (an LED on GPIO17 with gpiozero). Python's standard library is there;
other pure-Python packages work when you copy them next to your program. Use BCM numbers (gpiozero's LED(17),
lgpio's gpio_write(h, 17, 1)) - the GPIO numbers are the line numbers of gpiochip 0.
A program that never sleeps and never touches a pin for 3 real seconds is left running on its own (the simulation
goes on); input() waits for a line typed in the Pi Terminal.

THE 40-PIN HEADER (BCM numbers - the tags on the board)
   1 3V3        2 5V          3 GPIO2 SDA    4 5V          5 GPIO3 SCL    6 GND         7 GPIO4 (1-Wire)
   8 GPIO14 TXD 9 GND        10 GPIO15 RXD  11 GPIO17     12 GPIO18      13 GPIO27     14 GND
  15 GPIO22    16 GPIO23     17 3V3         18 GPIO24     19 GPIO10 MOSI 20 GND        21 GPIO9 MISO
  22 GPIO25    23 GPIO11 SCLK 24 GPIO8 CE0  25 GND        26 GPIO7 CE1   27 ID_SD      28 ID_SC
  29 GPIO5     30 GND        31 GPIO6       32 GPIO12     33 GPIO13      34 GND        35 GPIO19
  36 GPIO16    37 GPIO26     38 GPIO20      39 GND        40 GPIO21
3.3 V logic: GPIO2 / GPIO3 have the Pi's 1.8 k pull-ups to 3.3 V; the pull-ups / pull-downs of lgpio and RPi.GPIO are
weak drives. ID_SD / ID_SC (27, 28, GPIO0 / GPIO1) are kept for a HAT's ID EEPROM; leave them free, as on a real Pi.
The fan, PoE+, UART, RTC battery and power-button connectors are drawn, not pins of the part.

PROPERTIES (double-click the Pi > Edit Properties)
  PROGRAM    the Python program (default blink.py; a name next to the project or a full path)
  AUTOOPEN   the Pi Terminal at Run: YES (default) or NO
  ETHERNET   the cable to the router at Run: IN (default: eth0) or OUT (the network on wlan0)
  WIFISSID   the Wi-Fi network wlan0 joins (default TEP-WiFi)
  WIFIPASS   its password (default 12345678)
  PYTHON     a python.exe of your own (empty: TEPPi's)
  RUNTIME    the TEP Pi runtime folder (empty: TEPPi's)

TROUBLESHOOTING
* "TEP Pi: the TEPPi folder ... was not found": copy the TEPPi folder from "Proteus Model Files" into MODELS (or next
  to the project).
* "ModuleNotFoundError: No module named 'lgpio'": an older TEPPi folder is in MODELS - replace it with this one.
* "python3: can't open file": the PROGRAM file is not next to the project - put it there or give a full path.
* lgpio.error: 'GPIO not allocated': claim the GPIO first (gpio_claim_output / gpio_claim_input / gpio_claim_alert)
  with the handle from gpiochip_open(0).
* lgpio.error: 'I2C read failed' or OSError: [Errno 121] Remote I/O error: no part answers at that address - the
  MLX90614 is 0x5A; check its VIN / GND and SDA / SCL.
* The motor does not turn: STBY must be HIGH, AIN1 / AIN2 one HIGH and one LOW, PWM on PWMA, and VM needs the motor's
  own supply (2.5 - 13.5 V) - the driver's pop-up shows each input and the output.
* The page does not open: the address is http://192.168.1.51:8000/ (the port the program serves), and the program must
  have printed "serving on". A monitor sometimes needs Go a second time. Use the page's REFRESH link to see new
  values (the monitors' Reload repeats the last link, e.g. 50 %).
* A paused simulation shows the SIMULATION LOG: click the Schematic Capture tab.

BUG REPORTS AND FEATURE REQUESTS
Please post them in our forum with a screenshot, the program, the Pi Terminal's text and the simulation log:
  https://www.theengineeringprojects.com/forum/category/raspberry-pi-5-proteus-library

SUPPORT US
This library is free. If it saves you time, please support our work:
  https://www.theengineeringprojects.com/donate

WEBSITE
  https://www.theengineeringprojects.com/

LICENCES AND THIRD-PARTY NOTES
* The Raspberry Pi board model, the TEP Pi runtime, the Pi Terminal and the network (TEPNET.DLL, the compiled .pyc files
  in TEPPi\runtime with the stand-ins lgpio, RPi, smbus2, smbus, spidev, serial, Adafruit_DHT, adafruit_dht, board),
  the symbols and artwork (TEPRPI5.LIB), the part models (TEPMLX90614, TEPTB6612 and TEPMOTOR .DLL / .LIB, the Laptop
  and Mobile WiFi Monitors' TEPLAPTOP.LIB / TEPMOBILE.LIB in TEPNET.DLL) and the demo program are made by The
  Engineering Projects. Our stand-ins follow the APIs of lgpio, RPi.GPIO, smbus2, py-spidev, pyserial, Adafruit_DHT
  and adafruit-circuitpython-dht; none of their code is copied. The source code of the models is not included (nor the
  runtime's: it ships compiled for the included Python 3.11).
* TEPPi\python is the official embeddable Python 3.11.9 for Windows (32-bit) from python.org, unchanged, under the
  Python Software Foundation License (TEPPi\python\LICENSE.txt).
* TEPPi\runtime\gpiozero is gpiozero 2.0.1.post3 and TEPPi\runtime\colorzero is colorzero 2.0, unchanged, under the BSD
  3-Clause licence (their LICENSE files in the dist-info folders).
* Proteus is a product of Labcenter Electronics and is not included. Raspberry Pi is a trademark of Raspberry Pi Ltd.
  This library is not made or endorsed by Raspberry Pi Ltd or Labcenter.

MODEL SCOPE AND LIMITS
Modelled: the 26 GPIOs of the 40-pin header (inputs, outputs, pull-ups / pull-downs, edges and alerts, software PWM and
pulse trains), the I2C, SPI, UART, 1-Wire and DHT buses as the Pi's drivers drive them, the supply pins, Ethernet (eth0,
the cable) and Wi-Fi (wlan0: the join, DHCP, TCP and UDP to every TEP network part), one interface at a time, the LEDs,
a 0.5 s boot before the program starts, the Pi's /proc, /sys and /dev/gpiochip files above, the Pi Terminal. Not
modelled: Raspberry Pi OS (no desktop, no shell commands, no apt, no os.system), Bluetooth, the 5 GHz band and the
Gigabit speed (the network is the same TEP network at any band), PoE, wlan0 and eth0 at the same time, Wi-Fi scanning
from the program, the four cores (one program, its threads take turns), the RP1's PIO and its extra UART, I2C and SPI
buses (device-tree overlays), hardware PWM (lgpio's PWM is software-timed here and on a real Pi), the power button, the
real-time clock and its battery, the fan connector, PCIe, the debug UART connector, the micro-HDMI outputs, the camera
and display connectors, USB 2.0 / 3.0, the microSD card's files, a HAT's ID EEPROM, C programs and C extensions, the
real CPU's speed (each GPIO call takes about 1 us; pure Python code takes no simulation time), real-time jitter. The
model's own choices: the board's IP address (192.168.1.51 for PI1), the boot time, the router; the simulation runs
below real time.

VERSION
TEP Raspberry Pi 5 library V1.0 (Oct 2026). Device RASPBERRY PI 5 (TEPRPI5.LIB / TEPNET.DLL with TEPPi: Python 3.11.9
and the TEP Pi runtime 0.2 with lgpio). Demo program smart_fan.py V1.0, blink.py.
Advertisement

Development1 release

  1. V1.0Raspberry Pi 5 Library for Proteus V1.0this page

    V1.0 is the only release in the Download Center so far. When a newer version is published, it appears above with its own download page.

Installation7 steps

From the download to a working project, in order. The steps follow what the package contains.

You will need

  • Proteus Design SuiteProteus 8 or newer (Labcenter), on Windows
  • Pythonto build the source files into firmware
  • Any archive toolWindows, macOS and Linux extract ZIP files on their own

Steps

  1. 1

    Extract the archive

    Right-click raspberry-pi-5-tep-v1-0-e679b80e09a04046a087f9eb382d998f.zip and choose Extract All (or open it with 7-Zip or WinRAR) into a folder you can find again. Keep its folder structure (Raspberry-Pi-5-TEP-v1.0) as it is.

  2. 2

    Copy the library files into Proteus

    Move TEPLAPTOP.LIB, TEPMLX90614.LIB and TEPMOBILE.LIB and 3 more and the files into the LIBRARY folder of your Proteus installation: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY for Proteus 8, or the matching Proteus 7 folder. Older versions keep it under ProgramData\Labcenter Electronics. If Proteus is open, close it first.

  3. 3

    Add the simulation model

    Copy TEPMLX90614.DLL, TEPMOTOR.DLL and TEPNET.DLL and 8 more into the MODELS folder next to LIBRARY, so the component can run, not only be drawn.

  4. 4

    Restart Proteus and place the component

    Start Proteus, open a schematic, press P (Pick Devices) and search for the component by the name used in the tutorial. It appears with its pins ready to wire.

  5. 5

    Build the source code

    Open smart_fan.py, blink.py and attr.py and 29 more in the compiler named in the tutorial (MikroC, Keil, MPLAB, Code Composer or the Arduino IDE) and build it to get the firmware.

  6. 6

    Open the example simulation

    Open Pi-5-IR-Smart-Fan.pdsprj in Proteus to see the wiring exactly as in the tutorial. Check the controller's Program File path, then press Play.

  7. 7

    Follow the tutorial

    Raspberry Pi 5 Library for Proteus: MLX90614, Fan, Web Server explains every connection and setting in order; keep it open beside the files while you build.

How to add a library in Proteus 8

FAQs8 questionsContact TEP

How do I download Raspberry Pi 5 Library for Proteus V1.0?

Wait for the 30-second guest countdown on this page, then press the download button; the file comes straight from our storage. Members who are logged in skip the wait. If the browser opens the file instead of saving it, use its Save as option.

What is inside the archive?

Raspberry Pi 5 Library for Proteus V1.0 comes as a ZIP archive of 114 files (13.0 MB, 25.0 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, source code and a nested archive. Open the File Structure tab for the full list of 114 files.

What should I do if the download does not start?

Check the browser's download list first; an ad blocker or a company firewall can also hold it back, so try another browser or network. If the file arrives incomplete, download it again. For an installation problem, read the Install tab or tell us in the comments with your software version and the exact error message.

Is this file free?

Yes. Every file in the TEP Download Center is free for learning, personal and student projects. If you share it, link back to this page or the tutorial so others find the latest version.

How do I check that the file arrived complete?

Compare its SHA-256 with the one on this page, bc2cd1199e260716c2aa267f04893a7aba29f757989b727f3ef3cadf6ddf7256. In PowerShell run Get-FileHash "raspberry-pi-5-tep-v1-0-e679b80e09a04046a087f9eb382d998f.zip"; on macOS or Linux run shasum -a 256 "raspberry-pi-5-tep-v1-0-e679b80e09a04046a087f9eb382d998f.zip". The same value means the file is exactly the one in our storage; a different one means the download broke off, so download it again.

Do I need WinRAR to open the ZIP file?

No. Windows, macOS and Linux open ZIP archives on their own (Extract All, or double-click). WinRAR and 7-Zip work too. Extract the whole archive before using the files.

Where do I put the LIB and IDX files?

Both files go into the LIBRARY folder of your Proteus installation (Proteus 8: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY; Proteus 7 has the same folder under its own name). Restart Proteus afterwards and search for the component with P.

Which Proteus version does the library need?

The tutorial names the Proteus version the library was made and tested with. Most TEP libraries work in Proteus 7 and Proteus 8; if the component does not appear after a restart, check that both the LIB and the IDX file were copied and that Proteus was fully closed while copying.

preparing · raspberry-pi-5-tep-v1-0-e679b80e09a04046a087f9eb382d998f.zip
Rating
Your download will be ready shortly
Preparing your download…

Members skip the wait. Log in or join TEP.

  • 1Total downloads
  • 4%Popularity
  • ProteusCategory
  • 0Comments
  • ssyedzainnasirUploaded by
  • 24 Oct 2026Uploaded at
Last 14 days1 download
SHA-256 bc2cd1199e260716c2aa267f04893a7aba29f757989b727f3ef3cadf6ddf7256
DocumentationRaspberry Pi 5 Library for Proteus: MLX90614, Fan, Web Server
Need help with this file? Bug report Ask a question Download problemsGet updates
Advertisement

Comments

0

Join the conversation

Start the conversationAsk a question or share how you used this download.