Project Files of CC1101 Library for Proteus V1.1 (433 MHz RF + Arduino)
cc1101-tep-v1-1-171863ee04554460a7b7567f837d0e00.zip

CC1101 Library for Proteus V1.1
CC1101 Library for Proteus V1.1 comes as a ZIP archive of 22 files (1.4 MB, 3.1 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, an Arduino sketch, an Arduino library, compiled HEX firmware and data files.
- LIBProteus library
- IDXProteus library index
- DLLProteus model
- DSNProteus simulation
- INOArduino sketch
- LIBArduino library
- HEXHEX firmware
- CSVData file
Description
CC1101 Library for Proteus V1.1 is the download package that goes with our tutorial CC1101 Library for Proteus V1.1 (433 MHz RF + Arduino). On this page you can download the ZIP file (1.4 MB) and see what is inside before you save it: 22 files in 7 folders, the Proteus library files (LIB and IDX), the simulation model (DLL), a ready Proteus simulation, an Arduino sketch, an Arduino library, the compiled HEX firmware and data files. The tutorial explains the design; this page gets the files onto your computer and into use.
What this library is
CC1101-RF-Library-for-Proteus-v1.1.zip with CC1101 Simple and Advance (TEPCC1101.LIB and TEPCC1101.DLL), the TEP Serial Monitor and Arduino UNO libraries for Proteus, the two-UNO 433 MHz simulation with its HEX files, the transmitter and receiver sketches with the SmartRC-CC1101 driver library and a README.
This is version 1.1; older or newer releases, when they exist, are listed in the Development tab.
What is inside the ZIP file
- ArduinoV3TEP.LIB – Proteus library, 95.6 KB
- TEPCC1101.LIB – Proteus library, 121.3 KB
- TEPSERIALMON.LIB – Proteus library, 11.1 KB
- ArduinoV3TEP.IDX – Library index, 830 B
- TEPCC1101.DLL – Simulation model, 394 KB
- TEPSERIALMON.DLL – Simulation model, 978 KB
- and 16 more, all listed in the File Structure tab
The archive unpacks to 3.1 MB and carries its own README (README.txt), shown in the README tab above.
How to download
Use the download panel at the top of this page: after the counter (30 seconds for guests, 10 for members) the black button unlocks and the ZIP file comes straight from our content network. If the browser opens it instead of saving, use Save as; extract the whole archive before using anything inside it.
How to install
- Step 1: Extract the ZIP file with Windows (Extract All), 7-Zip or WinRAR, keeping its folders.
- Step 2: Close Proteus and copy ArduinoV3TEP.LIB, TEPCC1101.LIB and TEPSERIALMON.LIB and ArduinoV3TEP.IDX into its LIBRARY folder (Proteus 8: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY).
- Step 3: Copy TEPCC1101.DLL and TEPSERIALMON.DLL into the MODELS folder next to it, so the part simulates.
- Step 4: Start Proteus, press P and search for "ArduinoV3TEP"; place and wire it as in the tutorial.
- Step 5: In the Arduino IDE use Sketch → Include Library → Add .ZIP Library, then restart the IDE.
- Step 6: Open CC1101_Receiver.ino and CC1101_Transmitter.ino in the Arduino IDE, pick board and port and Verify (Export Compiled Binary gives the HEX).
- Step 7: In Proteus set the controller's Program File to CC1101_Receiver.hex and CC1101_Transmitter.hex; on hardware, flash the same file.
- Step 8: Open CC1101-ArduinoUnoV3.pdsprj in Proteus and press Play.
Read the detailed guide
This page is for the files. The full tutorial, CC1101 Library for Proteus V1.1 (433 MHz RF + Arduino), explains the circuit and the code step by step and shows the working results and the simulation; read it before you build. Questions about the download or the installation go in the comments below; more Proteus downloads are listed further down this page.
File Structure
12.3 KB11.3 KB573 B1.6 KB767 B650 B1.1 KB5.1 KB21 KB6.2 KB830 B95.6 KB121.3 KB11.1 KB394 KB978 KB18.5 KB48.1 KB51.7 KB394 KB978 KB31.4 KBGallery12 images from the tutorialOpen the tutorial
The circuit, the board and the results as they appear in CC1101 Library for Proteus V1.1 (433 MHz RF + Arduino). Open an image for its full size.












README
CC1101 SUB-1 GHz RF TRANSCEIVER MODULE (TI CC1101, 315 / 433 / 868 / 915 MHz) LIBRARY FOR PROTEUS - V1.1
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/09/cc1101-proteus-library.html
Report a bug or suggest a feature (our forum):
https://www.theengineeringprojects.com/forum/category/cc1101-proteus-library
The demo uses our TEP Serial Monitor Advance (included) instead of Proteus's
Virtual Terminal - its own article:
https://www.theengineeringprojects.com/2026/10/serial-monitor-advance-proteus-library.html
Support us (the libraries are free):
https://www.theengineeringprojects.com/donate
FILE STRUCTURE
CC1101-TEP-v1.1/
|-- Proteus Library Files/
| |-- ArduinoV3TEP.IDX 0.8 KB its index -> LIBRARY folder
| |-- ArduinoV3TEP.LIB 95.6 KB TEP Arduino UNO (demo) -> LIBRARY folder
| |-- TEPCC1101.LIB 121.3 KB CC1101 Simple + Advance (2 devices) -> LIBRARY folder
| |-- TEPSERIALMON.LIB 11.1 KB TEP Serial Monitor Advance -> LIBRARY folder
|-- Proteus Model Files/
| |-- TEPCC1101.DLL 394.0 KB CC1101 model -> MODELS folder
| |-- TEPSERIALMON.DLL 978.0 KB Serial Monitor model -> MODELS folder
|-- Proteus Simulation/
| |-- CC1101_Receiver.hex 48.1 KB UNO 2 (receiver v1.1)
| |-- CC1101_Transmitter.hex 51.7 KB UNO 1 (transmitter v1.1)
| |-- CC1101-ArduinoUnoV3.pdsprj 18.5 KB demo: UNO 1 + CC1101 Simple, UNO 2 + Advance
| |-- TEPCC1101.DLL 394.0 KB copy of the model so the demo runs as is
| |-- TEPSERIALMON.DLL 978.0 KB copy of the monitor model
|-- Arduino Code/
| |-- CC1101_Receiver/CC1101_Receiver.ino 12.3 KB sketch (source of the .hex)
| |-- CC1101_Transmitter/CC1101_Transmitter.ino 11.3 KB sketch (source of the .hex)
| |-- libraries/SmartRC-CC1101-Driver-Lib/ 36.9 KB SmartRC-CC1101 3.0.2 (MIT, LICENSE), 8 files
|-- README.txt ~32.2 KB this file
Total: 3.11 MB (unzipped). The C++ source code of the model is not included.
WHAT IS IT?
A simulation model of the popular CC1101 sub-1 GHz radio module (the small green
D-SUN board with the copper spring antenna, sold for 315 / 433 / 868 / 915 MHz) for
Proteus 8. Your Arduino talks to it over SPI exactly like to the real Texas
Instruments CC1101: the configuration registers, the strobes (SRES, SRX, STX,
SIDLE, SPWD, SFRX, SFTX ...), the status byte with CHIP_RDYn on MISO, the status
registers (MARCSTATE, RSSI, LQI, RXBYTES ...), the 64-byte TX and RX FIFOs, the
PATABLE, the packet engine (preamble, sync word, fixed / variable length, address
check, CRC, RSSI / LQI appended), the radio states with their calibration time
(809 + 90 us), the GDO0 / GDO2 outputs - and the asynchronous serial mode of 433
MHz remote controls (rc-switch): the GDO0 data of a transmitter keys the carrier,
every async receiver on the frequency copies it to its GDO0. It runs the
unmodified SmartRC-CC1101 library (ELECHOUSE_cc1101). Every TEP CC1101 in a
design shares one simulated air: radios on the same frequency, modulation, data
rate and sync word talk to each other when the link budget allows - you choose
the DISTANCE between the radios (10 m ... 5 km) and the model works out the level
(your TX power, the path loss at your frequency, the receiver's sensitivity at its
data rate).
The part looks like the green D-SUN CC1101 433 MHz module: a tall green board, the
copper spring antenna on the antenna pad of its top edge between two silver pads,
two mounting holes, the matching network of small parts down to the CC1101 chip
with its 26 MHz crystal, columns of parts at the sides, the white 433MHz / D-SUN
CC1101 prints, the big name CC1101 and the 2 x 4 header (pins labelled) at the
bottom. While the simulation runs the spring, the antenna pad and the RF trace glow
orange while it transmits and green while it receives, radio waves above it ripple
out (sending) or in (receiving), and three LEDs show what happens: PWR (red, lit
while VCC is there), TX (orange, blinks for every packet or OOK burst sent) and RX
(green, blinks for every packet received). The LEDs are a TEP addition - the real
module has no LEDs.
TWO DEVICES IN ONE LIBRARY (search "CC1101" in Pick Devices):
CC1101 Simple device CC1101TEP "CC1101 RF Transceiver Module - Simple"
On-Sheet Panel: the control panel is drawn on the schematic
next to the module (the v1.0 panel): state, frequency, channel,
modulation, data rate, sync word, CRC, TX power, SENT /
RECEIVED / TOO WEAK, the last packet with its RSSI and LQI, the
DISTANCE buttons and the predicted link budget. The red X in
the panel header closes it, the PANEL button on the board opens
it again. Your v1.0 designs keep working with this device.
CC1101 Advance device CC1101ADVTEP "CC1101 RF Transceiver Module - Advance"
Pop-Up Panel: only the module board on the schematic; at Run a
TEP pop-up window opens - the same look as the TEP Serial
Monitor (move it by its header, resize it, minimise it). The
tabs Radio and Test sit in the header; the gear and ? icons open
Settings and Help; the palette icon switches the theme:
Radio the state banner, RADIO (frequency, channel,
modulation, data rate, TX power and PATABLE,
sensitivity, RX bandwidth, deviation, packet / async
mode - what your sketch wrote), PACKET FORMAT (sync
word, preamble, CRC, length, address, coding),
TRAFFIC (sent, received, too weak, CRC errors, other
settings, the last level / LQI, on-air time, the last
packet), DISTANCE (the eight buttons, the level at
that distance, how far these settings reach) and
RIGHT NOW (RSSI at the antenna, packets per second)
Test five test tools, all measured on the model: Link
test, Throughput, Scan, Registers, OOK (see THE TEST
TOOLS below)
Settings theme (TEP Dark / Light), text size, open at Run,
window size - remembered for your Windows user
Help Help & Support like the TEP Serial Monitor: report a
bug, suggest a feature, article, user guide, updates,
donate, website, forum; Copy diagnostics (radio,
registers, traffic, test results, the other radios)
for a bug report
The OPEN PANEL button on the board opens the window again after
you close it.
Both devices use the same model (TEPCC1101.DLL), and Simple and Advance modules in
one design talk to each other.
NEW IN V1.1
* Two devices: CC1101 Simple (the panel on the sheet, close / open) and CC1101
Advance (pop-up window with the radio page, five test tools, settings and help)
- see above.
* Board: redrawn like the GREEN D-SUN CC1101 433 MHz module - tall (about 1 : 2),
the copper spring antenna on its top edge, the chip, the 26.000 MHz crystal, the
matching network, the D-SUN prints, the big name and the 2 x 4 header block with
its pin names (v1.0: a wide blue board with the spring at its side). The 8
Proteus pins stay where v1.0 had them, so the wiring of a v1.0 design fits. The
spring, the antenna pad and the RF trace glow orange while the module sends and
green while it receives, radio waves above it; new LEDs PWR / TX / RX in a row (a
TEP addition - the real module has none): PWR lights with VCC, TX blinks for every
packet or OOK burst sent, RX for every packet received (each blink held 0.3 / 0.4
s so you see it); a PANEL / OPEN PANEL button and a SIMPLE / ADVANCE badge. The
Simple panel sits a little higher, beside the taller board (a v1.0 design keeps
its v1.0 places).
* Model: the radio records what the test tools show - every packet it sends or
hears on its frequency with the outcome (received / CRC error / too weak / other
settings / not listening / too late / filtered), its level and LQI; the
Arduino's SPI commands; the activity on all bands; the OOK pulse train on GDO0.
Fixed: an unpowered CC1101 in a design where another radio transmits could stall
the simulation (v1.0). The DISTANCE buttons, the link budget and everything else
of v1.0 are unchanged.
* The demo uses the TEP Serial Monitor Advance instead of Virtual Terminals - one
monitor per Arduino (U3 = UNO 1, U4 = UNO 2) with quick buttons - and shows both
styles: UNO 1 with CC1101 Simple, UNO 2 with CC1101 Advance.
* The demo sketches (v1.1) keep every v1.0 output line and add Serial Monitor
commands (SEND, PING, STATUS, FREQ, RATE, MOD, HELP; AUTO and OOK on node 1,
SNIFF on node 2) and a link line every 10 s; the transmitter now listens between
its packets, so the receiver can send to it too (and answer PING with PONG).
* Version 1.1 everywhere; the C++ source code of the model is no longer included.
TEST STATUS
v1.1 was tested in Proteus 8.5 SP0 (6 Oct 2026) with this demo: it loads and runs,
U2's pop-up opens without a caption row, "Received: Hello TEP #n RSSI -75 dBm
LQI 12" (5 per 10 s, no CRC errors), PWR lit, the spring / pad / trace glow and the
TX / RX LEDs, the red X and PANEL: CLOSED, DISTANCE 1 km -> no packets (100 m
restores the link), and the Link test (10 / 10, -75.2 dBm, LQI 12), Throughput
(248.8 packets/s), Scan, Registers, Settings and Help tools all passed.
The OOK relay was fixed after that run: the transmitter sketch keyed GDO0 right
after SetTx(), while the CC1101 still calibrates (about 0.8 ms), and the model
turned that first pulse into a zero-width pulse (SNIFF read "23 bits, 1 of 4 frames
alike", the OOK tool "not rc-switch"). Now the model sends nothing before the
calibration ends (like the real chip), never puts a zero-width pulse on the air or
on GDO0, the OOK tool ignores glitches and decodes every frame on its own, and the
sketch waits 1 ms after SetTx(). Re-tested in Proteus 8.5 SP0 the same day with this
build: SNIFF on U4 + OOK 5393 on U3 -> "SNIFF: code 5393 (24 bits, rc-switch protocol
1, pulse 344 us, 4 of 4 frames alike)", U2's OOK tool "5393 (24 bits), 4 of 4 frames
alike", OPEN PANEL reopens the pop-up, RATE 1.2 on both nodes makes 1 km work
(-105 dBm, LQI 46).
v1.0 was tested in Proteus 8.5 SP0 (29 Sep 2026) with the v1.0 demo: the
transmitter's packets arrived at the receiver at -75 dBm, LQI 12 (100 m), the
DISTANCE button at 1 km gave TOO WEAK (100 kBaud needs -99 dBm) and 100 m restored
the link. (The async OOK relay was tested on the PC only in v1.0.)
PC tests of v1.1: 981 automatic checks on a PC: 38 with the UNMODIFIED
SmartRC-CC1101 library driving two chip models bit by bit over SPI (the v1.0
tests, unchanged); 52 on the v1.1 chip features (the packet records, the SPI log,
the frequency scan, the partner check, the OOK pulse train - also keyed during the
calibration and with two edges at one time -, the on-air time, the throughput
bench); 145 on the complete Proteus model (the 22 of v1.0 unchanged + both
devices, the red X and PANEL, OPEN PANEL, a v1.0 design, the spring glow, the
PWR / TX / RX LEDs, the pop-up window without a caption row, its pages, the five
tools with measured numbers, the OOK decoder with glitches, the GDO0 pins in
Proteus' order with floating levels, Help links, diagnostics); 53 with the two
REAL v1.1 demo sketches running on two simulated UNOs at once (every v1.0 line,
the commands, PING both ways, FREQ / RATE / MOD, OOK -> SNIFF edge by edge, the
link line); 693 on
the rendered pop-up windows and boards (every page fits in TEP Dark and Light, at
Large text and 150 % DPI; every tool's hint lines fit; the header line fits beside
the tabs in every state).
INSTALLATION (about 2 minutes)
1. Close Proteus. Extract the WHOLE ZIP to a normal folder (e.g. Desktop).
2. Copy everything in "Proteus Library Files" (TEPCC1101.LIB with both devices,
TEPSERIALMON.LIB and the TEP Arduino UNO V3 library ArduinoV3TEP.LIB / .IDX
used by the demo) 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).
3. Copy TEPCC1101.DLL and TEPSERIALMON.DLL from "Proteus Model Files" to the
MODELS folder (...\Proteus 8 Professional\MODELS).
4. Updating from v1.0: replace TEPCC1101.LIB (delete any TEPCC1101.IDX) and
TEPCC1101.DLL. A v1.0 design keeps its v1.0 symbol: it runs with the new model
(the v1.0 panel and its DISTANCE buttons, without the v1.1 board parts and the
red X) - re-pick the part to get the v1.1 symbol.
5. Start Proteus. In Pick Devices (P) search "CC1101": you get the Simple and the
Advance device (category Peripherals > Wireless).
RUN THE DEMO
"Proteus Simulation\CC1101-ArduinoUnoV3.pdsprj" - keep the two .hex files and the
two DLLs beside the project.
UNO 1 (ARD1): CC1101_Transmitter.hex, CC1101 Simple (U1) and Serial Monitor U3.
UNO 2 (ARD2): CC1101_Receiver.hex, CC1101 Advance (U2) and Serial Monitor U4.
1. Press Run. Both monitor windows open (9600 baud) and so does U2's pop-up. U3
shows "Sent: Hello TEP #0" every 2 s, U4 "Received: Hello TEP #0 RSSI -75
dBm LQI 12"; U1's panel counts SENT, U2's pop-up RECEIVED; the springs flash
orange (U1 sending) and green (U2 receiving), U1's TX LED and U2's RX LED
blink. U1's panel shows RX between its packets: the v1.1 transmitter listens
for node 2's messages (PING, SEND) between sends.
2. U3 / U4 quick buttons: PING (the other node answers PONG - the round trip,
about 4 ms), STATUS, SEND Hello from node 1 / 2 (the other monitor prints it),
and OOK 5393 (U3) / SNIFF (U4): click SNIFF on U4 first (node 2 listens 5 s
for a remote control), then OOK 5393 on U3 - node 2 prints "SNIFF: code 5393
(24 bits, rc-switch protocol 1 ...)" and U2's Test > OOK tool shows the pulse
train. Type your own: SEND <text>, FREQ 868.3 (then on the other monitor too),
RATE 1.2 (both), MOD GFSK (both), AUTO OFF / ON (UNO 1), HELP.
3. Click 1 km on U1's panel (or on U2's Radio page): nothing arrives any more
(-105 dBm, 100 kBaud needs -99 dBm; U4 stays silent, U1's panel predicts TOO
WEAK). Type RATE 1.2 on both monitors: 1.2 kBaud reaches 1 km (-105 dBm,
needs -112). Back to 100 m and RATE 100. Close U1's panel with its red X, open
it with PANEL.
4. U2 (Advance): open the Test tab:
Link test: 10 packets, Run test - the next 10 packets with their level, LQI
and outcome; click 1 km during the test and watch the bars turn red.
Throughput: data rate, payload, SendData() / FSTXON, Run test.
Scan: 5 s, Run test - every sender and its frequency, the band views.
Registers: what the sketch wrote, its SPI commands, U1 as its partner.
OOK: the pulse train of the last remote code (see step 2).
5. Close U2's window and open it again with OPEN PANEL on the board.
Closed a monitor window? Click OPEN MONITOR on the monitor part.
WIRING (SPI, the same on both UNOs)
CC1101 VCC -> supply (+5 V in the simulation - a real module needs 3.3 V!),
GND -> GND, SCK -> D13, MISO -> D12, MOSI -> D11, CSN -> D10, GDO0 -> D2,
GDO2 -> D9 (not used by the demo sketches).
In the sketch: ELECHOUSE_cc1101.Init(); ELECHOUSE_cc1101.setGDO0(2);
Serial Monitor RXD <- Arduino D1 (TX), Serial Monitor TXD -> Arduino D0 (RX),
Serial Monitor GND -> ground. RXD2 is not needed for SPI radios: the monitor's
second input watches a serial line, and the CC1101 has none (it talks SPI).
Serial.begin(9600) in the sketches.
Pin order in Proteus: VCC GND SCK MISO MOSI CSN GDO2 GDO0. The real modules have a
2 x 4 header: the D-SUN board drawn here VCC SCK GDO2 CSN / GND MOSI MISO GDO0 (the
board shows it), the Ebyte E07-M1101D GND VCC GDO0 CSN SCK MOSI MISO GDO2 - check
the print on your board.
REAL HARDWARE:
* Supply 1.8 - 3.6 V: feed VCC from 3.3 V, never from 5 V.
* The CC1101's pins are NOT 5 V tolerant: on a 5 V Arduino UNO / Nano / Mega put a
level shifter (e.g. TXS0108E, or resistor dividers on SCK, MOSI, CSN and GDO0
when the UNO drives it) between the board and the module. 3.3 V boards (ESP32,
ESP8266, Arduino Pro Mini 3.3 V) connect directly.
* Put a 10 uF capacitor across VCC and GND near the module; the UNO's 3.3 V pin
is weak for the 30 mA TX peaks.
* Antenna: a module is built for ONE band (its matching network and spring) - a
433 MHz module works badly at 868 / 915 MHz even though the chip tunes there.
Keep the spring straight and clear of metal.
* Legal bands and duty cycle: use only the frequencies and powers allowed where
you live. Europe (ERC/REC 70-03): 433.05 - 434.79 MHz at 10 mW with up to 10 %
duty cycle, 868.0 - 868.6 MHz at 25 mW with up to 1 %; USA (FCC part 15):
902 - 928 MHz, and 315 MHz for remote controls with time limits. The Throughput
tool shows your sketch's duty cycle.
HOW THE RADIOS TALK (the model)
A packet arrives when the receiver is powered, in RX (calibrated in time: before
the last preamble byte), on the same frequency (within its RX bandwidth), in the
same packet format, modulation (2-FSK and GFSK hear each other), data rate (within
10 %), Manchester / FEC / whitening, sync word and length mode, passes the length
and address filters - and the link budget is OK: level = TX power (the PATABLE
value, e.g. +10 dBm at 433 MHz with SmartRC's setPA(12)) - path loss (free space
up to 1 m, then exponent 3: 55 dB at 10 m, 85 dB at 100 m, 115 dB at 1 km at 433
MHz; 6 dB more at 868 MHz), against the sensitivity at the data rate (-112 dBm at
1.2 kBaud, -104 at 38.4, -99 at 100, -95 at 250, -86 at 500 kBaud; ASK / OOK 4 dB
worse). The link uses the LARGER of the two radios' DISTANCE settings. Within 1.5
dB of the sensitivity the CRC fails. RSSI and LQI (lower = better; 12 at 100 m)
are appended to the packet and readable. In asynchronous serial mode the
transmitter's GDO0 level keys the carrier and every async receiver on the
frequency with enough signal outputs it on GDO0. The demo (+10 dBm, 100 kBaud):
-75 dBm at 100 m (24 dB margin); it reaches about 640 m, at 1.2 kBaud about 1.7 km.
THE TEST TOOLS (CC1101 Advance, Test tab) - what they really do
Every tool runs on the live model with your sketch and shows one "Good for:" line
plus one line on how it measures.
Link test Records the next 10, 20 or 50 packets THIS radio sends or hears on
its frequency (the sketch's real traffic): for each the outcome
(received with CRC OK / CRC error / too weak / other settings / not
listening), the level and LQI at the receiver, the frequency, data
rate and modulation. A CC1101 sends no ACK, so "received" means the
other radio got it. The DISTANCE buttons are on the tool, so you can
move the radios while it runs. Below: the link budget of your data
rate, modulation and TX power at every distance in the four bands
315 / 433 / 868 / 915 MHz. Example (the demo, U2): 10 packets
received at -75.2 dBm, LQI 12; then 1 km: too weak (-105.2 dBm). No
packet for 15 s stops it.
Throughput Two model radios in a private test air (your design never hears
them), at this radio's DISTANCE, frequency, modulation and TX power,
send 50 packets back to back like SendData() (fill the FIFO, SIDLE +
STX: 809 + 90 us calibration before every packet) or with TXOFF =
FSTXON (90 us): measured packets / s, payload bytes / s, the time per
packet split into calibration, preamble + sync and data, plus a table
of all data rates (1.2 / 4.8 / 38.4 / 100 / 250 kBaud) with the air
time per packet, the range and how many packets per hour the EU 433
MHz 10 % duty cycle allows. Measured (100 m, 32 bytes, SendData()):
1.2 kBaud 3.8 packets/s, 4.8 kBaud 15.2, 38.4 kBaud 110.8, 100 kBaud
248.8 (7.96 kB/s, 4020 us = 899 + 320 + 2801 us), 250 kBaud 465.7;
FSTXON at 100 kBaud 311.5 packets/s. A real UNO adds its SPI time.
Below: your sketch's own traffic and duty cycle of the last 10 s.
Scan Listens on all bands for 1, 5 or 10 s (a lab spectrum view - it
never changes the radio's registers): every packet and OOK burst of
the TEP radios in the design, grouped by sender, frequency, data rate
and modulation, with the strongest level at this radio; band views
315 (314 - 316), 433 (433.05 - 434.79), 868 (863 - 870) and 915 (902 -
928 MHz), this radio's frequency and sensitivity marked, and a list of
every sender (on this radio's frequency or not).
Registers The registers read live as SpiReadReg / SpiReadStatus would (IOCFG2 /
0, SYNC1..0, PKTLEN, PKTCTRL1 / 0, CHANNR, FREQ2..0, MDMCFG4..0,
DEVIATN, MCSM1 / 0, MARCSTATE, RSSI, LQI, TXBYTES / RXBYTES,
PKTSTATUS, VERSION, PATABLE) with their meaning, the SPI counters, the
Arduino's last SPI commands (time, header / strobe, data, duration;
identical commands in a row folded - CheckRxFifo polls RXBYTES) and
THE OTHER RADIOS: does each match this one (frequency, packet /
async mode, modulation, data rate, sync word, packet format, level
here)?
OOK The newest burst of the asynchronous serial mode (remote controls):
this radio's GDO0 data in async TX, its GDO0 output in async RX, or
the carrier on its frequency from the air; the waveform (the first
frame and the whole burst), pulse count, the short pulse T, and a
decoder for rc-switch protocol 1 ('0' = 1 : 3, '1' = 3 : 1, sync 1 :
31) - glitches shorter than T / 4 are ignored and every frame is
decoded on its own. Hold keeps the shown burst, Clear empties it.
Example (the demo: SNIFF on U4, OOK 5393 on U3): 100 pulses, 4
frames, T 354 us, decoded 5393 (24 bits, 0x1511), 4 of 4 alike.
THE DEMO SKETCHES ON THE SERIAL MONITOR (CC1101_Transmitter / CC1101_Receiver v1.1)
SEND <text> a message to the other node now (up to 34 characters)
PING the other node answers PONG - prints the round trip
STATUS frequency, modulation, data rate, CRC, chip OK, counters
FREQ <MHz> e.g. FREQ 868.3 - 300-348, 387-464 or 779-928 MHz (both nodes)
RATE <kBaud> e.g. RATE 1.2 - 0.6 to 500 kBaud (both nodes)
MOD <FSK|GFSK|OOK|4FSK|MSK> modulation (both nodes)
AUTO <ON|OFF> (transmitter) the Hello TEP message every 2 s
OOK <code> (transmitter) send a 24-bit remote code, rc-switch protocol 1,
350 us pulses, 4 times (async serial mode, then back to
packets; it waits 1 ms after SetTx() - the CC1101 calibrates)
SNIFF [seconds] (receiver) listen for an OOK remote (default 5 s) and decode it
HELP the command list
Monitor quick buttons in the demo: PING, STATUS, SEND Hel
…Development1 release
-
V1.1CC1101 Library for Proteus V1.1this page
V1.1 is the only release in the Download Center so far. When a newer version is published, it appears above with its own download page.
Installation10 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
- Arduino IDE1.8 or 2.x, with the board of the tutorial chosen under Tools → Board
- Any archive toolWindows, macOS and Linux extract ZIP files on their own
Steps
- 1
Extract the archive
Right-click cc1101-tep-v1-1-171863ee04554460a7b7567f837d0e00.zip and choose Extract All (or open it with 7-Zip or WinRAR) into a folder you can find again. Keep its folder structure (CC1101-TEP-v1.1) as it is.
- 2
Copy the library files into Proteus
Move ArduinoV3TEP.LIB, TEPCC1101.LIB and TEPSERIALMON.LIB and ArduinoV3TEP.IDX 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 TEPCC1101.DLL and TEPSERIALMON.DLL 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
Install the Arduino library
In the Arduino IDE choose Sketch → Include Library → Add .ZIP Library and pick the library, or copy its folder into Documents\Arduino\libraries. Restart the IDE to see its examples.
- 6
Open the sketch in the Arduino IDE
Open CC1101_Receiver.ino and CC1101_Transmitter.ino, select your board and port under Tools, then Verify. Sketch → Export Compiled Binary writes the HEX file a simulation needs.
- 7
Load the HEX file
In Proteus double-click the microcontroller, set Program File to CC1101_Receiver.hex and CC1101_Transmitter.hex and run the simulation. For real hardware, flash the same file with your programmer.
- 8
Open the example simulation
Open CC1101-ArduinoUnoV3.pdsprj in Proteus to see the wiring exactly as in the tutorial. Check the controller's Program File path, then press Play.
- 9
Use the data files
library.json hold the readings or settings the project uses; open them with Excel, a text editor or the script of the tutorial.
- 10
Follow the tutorial
CC1101 Library for Proteus V1.1 (433 MHz RF + Arduino) explains every connection and setting in order; keep it open beside the files while you build.
FAQs9 questionsContact TEP
How do I download CC1101 Library for Proteus V1.1?
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?
CC1101 Library for Proteus V1.1 comes as a ZIP archive of 22 files (1.4 MB, 3.1 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, an Arduino sketch, an Arduino library, compiled HEX firmware and data files. Open the File Structure tab for the full list of 22 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, 03b4d62e328c1ba89bd639a374c9489739a0a90d0b052522ac26be7467d93c08. In PowerShell run Get-FileHash "cc1101-tep-v1-1-171863ee04554460a7b7567f837d0e00.zip"; on macOS or Linux run shasum -a 256 "cc1101-tep-v1-1-171863ee04554460a7b7567f837d0e00.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.
How do I get the HEX file into the simulation?
Compile the sketch in the Arduino IDE (Sketch → Export Compiled Binary gives you the HEX next to the sketch), then in Proteus double-click the board, set Program File to that HEX and run.
Members skip the wait. Log in or join TEP.
- 3Total downloads
- 4%Popularity
- ProteusCategory
- 0Comments
- ssyedzainnasirUploaded by
- 23 Sep 2026Uploaded at
03b4d62e328c1ba89bd639a374c9489739a0a90d0b052522ac26be7467d93c08
















Comments
0