Project Files of Raspberry Pi 5 PID Temperature Control - Proteus Simulation
pi-5-pid-temperature-lab-tep-v1-0-463a1c1ca7b54c3888576ced80492ff6.zip

Raspberry Pi 5 PID Temperature Control - Proteus Simulation V1.0
Raspberry Pi 5 PID Temperature Control - Proteus Simulation V1.0 comes as a ZIP archive of 135 files (13.3 MB, 25.8 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-PID-Temperature-Control-Proteus-Simulation-v1.0.zip: the complete Proteus simulation project (Raspberry Pi 5, the Temperature Control Lab shield, the MCP3008 ADC, the Laptop and Mobile WiFi Monitors), the Python program pid_lab.py, every LIB and DLL the simulation needs, the TEPPi Python runtime and a README.
File Structure
39.5 KB14.3 KB13.1 KB60.5 KB20.8 KB3.3 MB34.3 KB620.8 KB36 KB169.8 KB628.1 KB99.3 KB65.3 KB4.8 MB4.1 MB80 B97.8 KB26.8 KB1.2 MB1.1 MB88.9 KB27.3 KB55.8 KB79.8 KB105.8 KB193.8 KB113.8 KB48.8 KB145.8 KB36.8 KB29.3 KB42.3 KB28.8 KB67.3 KB89.3 KB153.8 KB22.8 KB38.8 KB2.1 KB9.9 KB4.1 KB1.3 KB4.7 KB431 B2.5 KB17.5 KB283 B6.5 KB37.9 KB11.1 KB5.5 KB885 B13.6 KB9 KB878 B1.5 KB4 KB1004 B10 B110 B2.6 KB1.1 KB8.9 KB58.5 KB12.4 KB6.6 KB18.5 KB20.7 KB27.8 KB21.1 KB7.1 KB7.7 KB2.7 KB51.2 KB100.9 KB1.2 KB24.3 KB7.4 KB53.6 KB26.1 KB20.5 KB60.5 KB19.6 KB1.6 KB8.4 KB20.9 KB2.6 KB539 B1.4 KB9.7 KB2.8 KB21 B92 B7.9 KB264 B3.4 KB3.8 KB17.5 KB55.2 KB3.3 KB10.8 KB1.5 KB4.2 KB7.3 KB2.5 KB32.6 KB14.5 KB283 B17.4 KB257 B691 B14.5 KB12.8 KB3.6 KB1.7 KB37 KB418 B6.2 KB7 KB37.3 KB10.6 KB23.7 KB28.7 KB8.8 KB16.9 KB298.5 KB2.9 MB304 KB29.9 KB13 KB298.5 KB2.9 MB304 KB13 KB9.3 KBGallery12 images from the tutorialOpen the tutorial
The circuit, the board and the results as they appear in Raspberry Pi 5 PID Temperature Control - Proteus Simulation. Open an image for its full size.












README
===============================================================================================================
Raspberry Pi 5 PID Temperature Control - Proteus Simulation Project V1.0
The Engineering Projects - www.TheEngineeringProjects.com
===============================================================================================================
IMPORTANT LINKS
The project tutorial (circuit, code, simulation results):
https://www.theengineeringprojects.com/2026/11/raspberry-pi-5-pid-temperature-control-proteus-simulation.html
The libraries this project is built from (each post has its own full download and tutorial):
Raspberry Pi 5 board:
https://www.theengineeringprojects.com/2026/10/raspberry-pi-5-library-for-proteus.html
Temperature Control Lab shield:
https://www.theengineeringprojects.com/2026/11/pid-temperature-control-lab-library-for-proteus.html
MCP3008 ADC:
https://www.theengineeringprojects.com/2026/11/mcp3008-8-channel-adc-library-for-proteus.html
Laptop WiFi Monitor:
https://www.theengineeringprojects.com/2026/10/laptop-wifi-monitor-library-for-proteus.html
Mobile WiFi Monitor:
https://www.theengineeringprojects.com/2026/10/mobile-wifi-monitor-library-for-proteus.html
Support our free work: https://www.theengineeringprojects.com/donate
FILE STRUCTURE
Pi-5-PID-Temperature-Lab-TEP-v1.0/
|-- Proteus Library Files/
| |-- TEPLAPTOP.LIB 39.5 KB a part of the project -> LIBRARY folder
| |-- TEPMCP3008.LIB 14.3 KB a part of the project -> LIBRARY folder
| |-- TEPMOBILE.LIB 13.1 KB a part of the project -> LIBRARY folder
| |-- TEPRPI5.LIB 60.5 KB a part of the project -> LIBRARY folder
| |-- TEPTEMPLAB.LIB 20.8 KB a part of the project -> LIBRARY folder
|-- Proteus Model Files/
| |-- TEPMCP3008.DLL 298.5 KB a model -> MODELS folder
| |-- TEPNET.DLL 2.89 MB a model -> MODELS folder
| |-- TEPTEMPLAB.DLL 304.0 KB a model -> MODELS folder
| |-- TEPPi/python/ 17.54 MB Python 3.11 embeddable -> MODELS\TEPPi (33 files)
| |-- TEPPi/runtime/ 1.11 MB TEP Pi runtime, gpiozero -> MODELS\TEPPi (87 files)
|-- Proteus Simulation/
| |-- Pi-5-PID-Temperature-Lab.pdsprj 29.9 KB the project simulation
| |-- pid_lab.py 13.0 KB the program PI1 runs
| |-- TEPMCP3008.DLL 298.5 KB copy of the model
| |-- TEPNET.DLL 2.89 MB copy of the model
| |-- TEPTEMPLAB.DLL 304.0 KB copy of the model
|-- Python Code/
| |-- pid_lab.py 13.0 KB the program (the same file)
|-- README.txt ~9.8 KB this file
Total: 25.82 MB (unzipped). The C++ source code of the models is not included.
WHAT IS IT?
A complete IoT control project you can run in Proteus: a Raspberry Pi 5 runs a PID temperature controller in
Python on our Temperature Control Lab shield and serves a live dashboard to a laptop and a phone.
* Temperature Control Lab shield (TEMPLABSHIELDTEP): two transistor heaters, a TMP36 on each, a HOT LED.
Heater 1 (Q1) on GPIO18, heater 2 (Q2) on GPIO19 (PWM at 100 Hz), the HOT LED on GPIO17, 5V from the Pi.
* MCP3008 10-bit ADC (MCP3008TEP) on SPI0: CLK GPIO11, DIN GPIO10 (MOSI), DOUT GPIO9 (MISO), CS GPIO8 (CE0).
CH0 reads T1, CH1 reads T2. VDD and VREF on +3.3V (the Pi's 3.3 V pin, pin 1).
* RASPBERRY PI 5 (PI1) runs pid_lab.py on Ethernet at 192.168.1.51; the dashboard is on port 8000.
* Laptop WiFi Monitor (PC1) and Mobile WiFi Monitor (MOB1) open http://192.168.1.51:8000/.
The controller: a PID (P on the error, I with anti-windup, D on the filtered measurement) tuned by the IMC
rules from the lab's step response (K 0.92 C/%, tau 175 s, dead time 15.6 s; Park et al. 2020) for a 30 s
closed loop: Kc 5.26 %/C, Ti 182.8 s, Td 7.47 s. It holds T1 at the setpoint; heater 2 is a disturbance.
The pages:
/ the dashboard: status, links, setpoint, T1, T2, the heaters, the PID terms, the trend
/trend.bmp the last 15 lab minutes of T1, T2, the setpoint and heater 1, drawn by the Pi
/sp/35 /sp/45 /sp/55 a new setpoint
/on /off the PID on or off
/q2/0 /q2/50 /q2/100 heater 2 (the disturbance)
/data all the readings as JSON
The shield's SPEED property is 20: the lab runs twenty times faster than the simulation clock, so a
20-minute experiment takes one simulated minute. The program counts the lab's time (LAB_SPEED = 20 in
pid_lab.py; set it to 1 on a real kit).
TEST STATUS
Tested in Proteus 8 Professional on Windows 11, the run that made the tutorial's screenshots (times in lab seconds):
* eth0 up and the server on http://192.168.1.51:8000/ at 1.3 s of simulation; the pages served to both monitors.
* The MCP3008 at VDD = VREF = 3.300 V, SPI at 1.00 MHz (its limit at 3.3 V: 1.94 MHz), 40 conversions a second.
* Setpoint 40 C from 22.8 C: 36.4 C at 61 s, 39.9 C at 122 s, settled (within 0.5 C for 60 s) at 156 s, overshoot
0.2 C; heater 1 then about 20 %.
* Setpoint 55 C from the phone at 339 s: settled at 505 s, overshoot 0.1 C; heater 1 about 38 %.
* Heater 2 at 100 % from the laptop at 581 s: T1 rose to 56.3 C at most while the PID cut heater 1 from 38 % to
23 %; T2 passed 60 C at 756 s (HOT, the LED on) and reached 68.6 C; T1 back at 55.7 C by 1023 s.
* Heater 2 off from the phone at 1024 s: T2 under 58 C at 1092 s (the LED off).
1,200 lab seconds (60 s of simulation) took about five minutes on our PC with all the captures.
INSTALLATION
1. Close Proteus. Extract the WHOLE zip file, for example to your Desktop.
2. Copy the files from "Proteus Library Files" into the LIBRARY folder of Proteus, for example
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
3. Copy everything in "Proteus Model Files" - the DLL files AND the TEPPi folder - into the MODELS folder
(next to LIBRARY). TEPPi holds the Python 3.11 that the Raspberry Pi board runs and our TEP Pi runtime.
4. Start Proteus. Press P in the schematic and search for RASPBERRY PI 5, TEMPLABSHIELDTEP or MCP3008TEP to
check that the parts are there.
RUN THE SIMULATION
1. Open "Proteus Simulation\Pi-5-PID-Temperature-Lab.pdsprj". Keep pid_lab.py and the DLL files beside it.
2. Press Play. The Pi's terminal opens and runs pid_lab.py; it prints the dashboard address and a line every
60 lab seconds. The PID starts at once with the setpoint 40 C.
3. Open the Laptop WiFi Monitor (PC1) or the Mobile WiFi Monitor (MOB1) and press Go. Press Refresh on the
page to update it.
4. Try SP 55 C (a setpoint step), then Q2 100 % (a disturbance: heater 2 warms T1 through the board), then
Q2 0 %. Watch the trend picture and the PID terms.
5. Click the shield or the MCP3008 during the simulation for their pop-ups (the heaters as a thermal camera
sees them, a live step-test fit; the ADC's last SPI transfer bit by bit).
PROPERTIES USED IN THIS PROJECT
PI1 RASPBERRY PI 5 PROGRAM=pid_lab.py, ETHERNET=IN (192.168.1.51)
U1 TEMPLABSHIELDTEP SPEED=20 (twenty lab seconds each simulated second)
U2 MCP3008TEP (no properties)
PC1, MOB1 HOMEPAGE=http://192.168.1.51:8000/
TROUBLESHOOTING
* The terminal says "No module named" or the board does not start Python: the TEPPi folder is not in MODELS
(step 3 of INSTALLATION) or an older TEPPi is there - replace it with the one in this zip.
* T1 and T2 read far too low (about two thirds): VREF is not 3.3 V. Keep the +3.3V terminals on VDD and VREF.
* The page says "Loading the picture...": the trend picture comes after the page; wait a moment.
* The temperatures change very slowly: SPEED is 1; the lab's time constant is about three minutes. Set
SPEED back to 20, or LAB_SPEED in the program to the same value.
* HOT on the page and the shield's LED on: T1 or T2 is at 60 C or more; it goes off again under 58 C.
LICENCES
* The project, the program, the parts (LIB files) and the models (DLL files) are made by The Engineering
Projects and are free for learning and for your own projects. The models use only standard Windows libraries.
The C++ source code of the models is not included; the source code is not included for any model.
* TEPPi\python is the Python 3.11 Windows embeddable package (Python Software Foundation License); TEPPi\runtime
holds our TEP Pi runtime with gpiozero and colorzero (BSD licences) - their licence files are inside the folders.
* Proteus is a product of Labcenter Electronics and is not included. Raspberry Pi, TMP36 and MCP3008 are names
of their owners; this project is not made or endorsed by them.
VERSION
V1.0 - the first release of the project.
===============================================================================================================Development1 release
-
V1.0Raspberry Pi 5 PID Temperature Control - Proteus Simulation 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
Extract the archive
Right-click pi-5-pid-temperature-lab-tep-v1-0-463a1c1ca7b54c3888576ced80492ff6.zip and choose Extract All (or open it with 7-Zip or WinRAR) into a folder you can find again. Keep its folder structure (Pi-5-PID-Temperature-Lab-TEP-v1.0) as it is.
- 2
Copy the library files into Proteus
Move TEPLAPTOP.LIB, TEPMCP3008.LIB and TEPMOBILE.LIB and 2 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
Add the simulation model
Copy TEPMCP3008.DLL, TEPNET.DLL and TEPTEMPLAB.DLL and 7 more into the MODELS folder next to LIBRARY, so the component can run, not only be drawn.
- 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
Build the source code
Open pid_lab.py, attr.py and color.py and 28 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
Open the example simulation
Open Pi-5-PID-Temperature-Lab.pdsprj in Proteus to see the wiring exactly as in the tutorial. Check the controller's Program File path, then press Play.
- 7
Follow the tutorial
Raspberry Pi 5 PID Temperature Control - Proteus Simulation explains every connection and setting in order; keep it open beside the files while you build.
FAQs8 questionsContact TEP
How do I download Raspberry Pi 5 PID Temperature Control - Proteus Simulation 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. The download link is made for you when the countdown ends and works for 15 minutes; a saved or shared link stops working, so share this page instead.
What is inside the archive?
Raspberry Pi 5 PID Temperature Control - Proteus Simulation V1.0 comes as a ZIP archive of 135 files (13.3 MB, 25.8 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 135 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, 85e91fb1658305d09ba3a49e9819debf31abd82c6688df395f494c497f45b5eb. In PowerShell run Get-FileHash "pi-5-pid-temperature-lab-tep-v1-0-463a1c1ca7b54c3888576ced80492ff6.zip"; on macOS or Linux run shasum -a 256 "pi-5-pid-temperature-lab-tep-v1-0-463a1c1ca7b54c3888576ced80492ff6.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.
Members skip the wait. Log in or join TEP.
- 4Total downloads
- 4%Popularity
- ProteusCategory
- 0Comments
- ssyedzainnasirUploaded by
- 10 Nov 2026Uploaded at
85e91fb1658305d09ba3a49e9819debf31abd82c6688df395f494c497f45b5eb






















Comments
0