09. Legacy Documentation (CatSniffer V1.x and V2.x) - ElectronicCats/CatSniffer GitHub Wiki
- Compatible with Windows, Linux, and MAC.
- CatSniffer can operate in 3 different frequencies: LoRa, Sub 1 GHz, and 2.4 GHz.
- "The SimpleLink™ CC1352P1F3RGZ device is a multiprotocol and multi-band Sub-1 GHz and 2.4-GHz wireless microcontroller (MCU)
- CatSniffer uses SAMD21E17 as a USB-UART bridge to communicate with the CC1352 chip.
- Auto program through the bootloader from TI CC (as long as it's not disabled in the code). There is no need for an external programmer; it can be debugged with cJTAG through the default pin.
- Antenna SMA port for an Antenna of your choice
- LEDs of general-purpose
- Reset button for SAMD21 & CC1352, Boot of CC1352, and one more for general purpose (1.x and 2.x).
- LoRa
- Sub 1 GHz
- 2.4 GHz
- Thread
- Zigbee
- Bluetooth 5 Low Energy (BLE)
- IEEE 802.15.4g
- 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks)
- Sub 1Ghz and patented systems
- LoRa/LoRaWAN
Board Anatomy
---
title: v1.x/v2.x Block Diagram
---
flowchart LR
A[USB] --- B(SAMD21E17)
B-- SPI --- C[SX1262] ---E
B-- Serial ---D[CC1352P] ---E
B-- GPIOs ---E[RF Switch]
-
- Powerful 48-MHz Arm® Cortex®-M4F processor
- EEMBC CoreMark® score: 148
- 352KB of in-system programmable flash
- 256KB of ROM for protocols and library functions
- 8KB of cache SRAM (alternatively available as general-purpose RAM)
- 80KB of ultra-low leakage SRAM. The SRAM is protected by parity to ensure high reliability of operation.
- 2-pin cJTAG and JTAG debugging
- Supports over-the-air (OTA) update
-
- Powerful 48-MHz Arm® Cortex®-M4F processor
- EEMBC CoreMark® score: 148
- 352KB of in-system programmable flash
- 256KB of ROM for protocols and library functions
- 8KB of cache SRAM (alternatively available as general-purpose RAM)
- 80KB of ultra-low leakage SRAM. The SRAM is protected by parity to ensure high reliability of operation.
- 2-pin cJTAG and JTAG debugging
- Supports over-the-air (OTA) update
-
- 128KB of flash and 16KB of SRAM
- 4K RWW support on MRL D version
- Up to 48MHz operating frequency
- Four serial communication modules (SERCOM) configurable as UART/USART, SPI or I2C, three 16-bit timer/counters, 32-bit Real-Time Clock and calendar, 18 PWM channels, one 14-channel 12-bit ADC, one 10-bit DAC
- Full Speed USB Device and embedded Host
- Support for up to 60 touch channels
- 1.62V to 3.63V power supply
-
- LoRa and FSK Modem
- 170dB maximum link budget (SX1262 / 68)
- +22dBm or +15dBm high efficiency PA
- Low RX current of 4.6mA
- Integrated DC-DC converter and LDO
- Programmable bit rate up to 62.5kbps LoRa and 300kbps FSK
- High sensitivity: down to -148dBm
- 88dB blocking immunity at 1MHz offset
- Co-channel rejection of 19dB in LoRa mode
- FSK, GFSK, MSK, GMSK, LoRa and Long Range FHSS modulations
- Built-in bit synchronizer for clock recovery
- Automatic Channel Activity Detection (CAD) with ultra-fast AFC
-
Supported antennas v1.X & v2.X
- 868/915 MHz up to 14 dBm
- 2.4 GHz up to 20 dBm
All the firmware source files and binaries are now stored in a specific repository where you can follow better the releases and the board version you need to use in different branches:
- TI_PACKET_SNIFFER
- airtag_scanner_CC1352P_2
- airtag_spoofer_CC1352P_2_LAUNCHXL_tirtos7_ticlang
- ot-cc13x2-cc26x2
Arduino IDE for SAMD21
The Arduino Integrated Development Environment – or Arduino Software (IDE) – contains a text editor for writing code, a message area, a text console, a toolbar with buttons for standard functions, and a series of menus. It connects to different boards to upload programs and communicate with them.
You need to download and install Arduino IDE; you can find it here.
After installing Arduino IDE, open it, and you will see the following window:
Arduino IDE Main View
The next step to use our boards is to install the board’s core in the Arduino IDE. Here is a quick guide on how to install them:
Installing the Arduino SAMD core:
You must install the latest Arduino SAMD core.
- In the menu bar, select
Tools > Boards > Board Manager.
Board Manager Menu
- A side window will open and in the search bar, write SAMD, a list of cores will appear, click on the install button for Arduino SAMD Boards (32-bits ARM Cortex-Mo+).
Board Manager
- Installing the Electronic Cats SAMD Arduino Core: https://electroniccats.github.io/Arduino_Boards_Index/package_electroniccats_index.json
Arduino allows us to add custom cores or support for non-Arduino boards using the board manager. To do this we need to add a URL on the board manager configuration. Go to File > Preferences > Additional boards manager URLs.
Preferences Menu
Preferences
- If you already have a URL in the space there, you can click the button to the left, jump to another line and paste the Electronic Cats URL there. https://electroniccats.github.io/Arduino_Boards_Index/package_electroniccats_index.json
Additional Boards Manager URLs Window
- Press the "OK" button.
- Open the "Boards Manager" that is in
Tools > Board > Board Manager. - Now write Electronic Cats in the search bar.
- Click on install, wait for the installation to finish, and close the window.
- In
Tools > Boards, scroll down in the board list until you see the Electronic Cats SAMD boards.
ElectronicCats Boards Installed
After downloading the core, you can upload the .ino files from the repository like you would do for any other board using the Arduino IDE.
Arduino Mbed OS RP2040 Boards core
Board Selection
Using the Python tool is the easiest and most recommended way to flash firmware to the CC1352, since it works on any operating system. But before we start, there are some preparations we need to do in order to use the python tool.
-
Download the python tool from our repository or clone the whole repository (recommended) to your computer.
-
Upload the SerialPassThroughWithBoot firmware to your board's main chip.
-
Download Python using the following link. Look for the Operating System of your preference, in this case we use Windows.
Python Download Page
- After the download is complete, install the software.
- We recommend that you select the ‘Add to PATH’ option when installing it so you do not have to do it manually later.
Python Installer
- Some python plugins are required, we can install them using the command line.
- On the search bar, type CMD, and run it as administrator.
Command Prompt as Administrator
-
Execute the following commands to install the plugins:
-
pip install pyserial -
pip install intelhex -
pip install python-magic
-
Install Requirements
-
When the installation is finished, open a new cmd window or clean the console with the cls command. Then go to the path where you saved the python tool (cc2538-bsl.py) found on our repository using the cd command:
cd <directory_route> -
Open the folder where you saved the python tool and copy the desired firmware (the one you are going to load to the board) onto the same folder where you have the python tool.
-
Now run the command:
python cc2538-bsl.py -h. -
The following menu will come up:
Help Command
- To continue with the process you need to know which COM port number has been assigned to your CatSniffer. Go to Device Manager and look for your CatSniffer device. For this example COM90 is what we are looking for.
Device Manager
- Return to the cmd console and run the command
python cc2538-bsl.py -p COMXX. The argument -p is used to open the port, if the port is opened, then the connection was successful.
Check COM Port
- Put your CatSniffer in bootloader mode and then write in console:
python cc2538-bsl.py -e -w -v -p COM58 .\sniffer_fw.hex The argument -e erase the memory, the -w write on the chip and -v verify the image, the last parameter is the name of the file with extension. The .hex file must be on the folder cc2538-bsl.
Check COM Port
Load Firmware
- LED 4 will start blinking once the procedure finishes, indicating that CatSniffer has been successfully flashed.
- TIs SmartRF Packet Sniffer
- Sniffle