# FEBERIS Documentation

Enhance your Flipper Zero with the FEBERIS GPIO expansion module, featuring an ESP32 with JTAG access and support for included, swappable CC1101 or NRF24L01 radio modules.

## Table of Contents
1. [Introduction](#introduction)  
2. [Package Contents](#package-contents)  
   2.1. [FEBERIS Module](#feberis-module)  
   2.2. [CC1101 Radio Module](#cc1101-radio-module)  
   2.3. [NRF24L01 Radio Module](#nrf24l01-radio-module)  
   2.4. [Two Antennas](#two-antennas)  
3. [Key Features](#key-features)  
   3.1. [ESP32 Microcontroller](#esp32-microcontroller)  
   3.2. [JTAG Port](#jtag-port)  
   3.3. [Connectors for CC1101/NRF24L01](#connectors-for-cc1101nrf24l01)  
   3.4. [Rear Switch](#rear-switch)  
   3.5. [Protective Cover](#protective-cover)  
4. [Preparing and Installing the FEBERIS Module](#preparing-and-installing-the-feberis-module)  
   4.1. [Remove the Protective Cover](#remove-the-protective-cover)  
   4.2. [Select the Desired Module (ESP32 or CC1101/NRF24L01)](#select-the-desired-module-esp32-or-cc1101nrf24l01)  
   4.3. [Connect the Antenna](#connect-the-antenna)  
   4.4. [Attach FEBERIS to Flipper Zero](#attach-feberis-to-flipper-zero)  
5. [Programming and Debugging](#programming-and-debugging)  
   5.1. [Programming the ESP32 using Flipper Zero and the ESP Flasher Application](#programming-the-esp32-using-flipper-zero-and-the-esp-flasher-application)  
   5.2. [ESP32 Programming via JTAG](#esp32-programming-via-jtag)  
   5.3. [CC1101/NRF24L01 Configuration](#cc1101nrf24l01-configuration)  
6. [Maintenance and Safety](#maintenance-and-safety)  
   6.1. [Protective Cover](#protective-cover-1)  
   6.2. [Storage](#storage)  
   6.3. [Operating Conditions](#operating-conditions)  

## Introduction
FEBERIS is a GPIO expansion module designed to work seamlessly with the Flipper Zero device. It integrates an ESP32 microcontroller, a JTAG port for programming and debugging, and provides connectors for the CC1101 or NRF24L01 radio modules (only one can be used at a time). The module is enclosed in a protective case with a rear switch to choose between the ESP32 and the CC1101/NRF24L01 modules. Additionally, a cover is provided to protect the GPIO pins when the device is not in use.

[!button variant="primary" text="Buy Feberis at SAPSAN Store" ](https://sapsan-sklep.pl/en/products/feberis)

## Package Contents

### FEBERIS Module
- Includes an ESP32 chip, JTAG port, and connectors for CC1101/NRF24L01.

### CC1101 Radio Module
- Designed for sub-GHz communication.

### NRF24L01 Radio Module
- Designed for 2.4 GHz communication.

### Two Antennas
- **Short antenna**: For CC1101 (sub-GHz).  
- **Long antenna**: For NRF24L01 (2.4 GHz) and ESP32 (Wi-Fi/Bluetooth).

## Key Features

### ESP32 Microcontroller
- Provides Wi-Fi and Bluetooth capabilities.  
- Can operate as a standalone microcontroller or enhance the functionality of the Flipper Zero.

### JTAG Port
- Enables programming and low-level debugging of the ESP32 or other compatible devices.

### Connectors for CC1101/NRF24L01
- Only one radio module can be used at a time.  
- Each module supports different frequency ranges.

### Rear Switch
- Allows selection between the ESP32 or CC1101/NRF24L01 modules.  
- Must be set before powering on the device.

### Protective Cover
- Safeguards the GPIO pins from damage when the module is not in use.

## Preparing and Installing the FEBERIS Module

### Remove the Protective Cover
- If the cover is in place, gently remove it to expose the GPIO pins on the FEBERIS module.

### Select the Desired Module (ESP32 or CC1101/NRF24L01)
- Use the switch located on the rear side of the FEBERIS module to choose the active hardware.  
- If using CC1101 or NRF24L01, plug in the respective module and connect the appropriate antenna.

### Connect the Antenna
- For CC1101: Use the short (sub-GHz) antenna.  
- For NRF24L01 or ESP32: Use the long (2.4 GHz) antenna.

### Attach FEBERIS to Flipper Zero
- Align the FEBERIS module with the Flipper Zero’s GPIO connector.  
- Carefully press down until it is firmly seated.

## Programming and Debugging

### Programming the ESP32 using Flipper Zero and the ESP Flasher Application
- Make sure the rear switch on FEBERIS is set to **ESP32**.  
- Navigate to the **ESP Flasher** application (ensure you have it installed; if not, obtain it from the appropriate Flipper Zero app repository).  
- Connect the FEBERIS module to the Flipper Zero’s GPIO pins as explained in the “Preparing and Installing” section.  
- Launch the **ESP Flasher** application on Flipper Zero.  
- Follow the on-screen instructions to select and flash the desired firmware onto the ESP32.  
  - You may need to provide a path or location of the firmware image, depending on the ESP Flasher’s interface.  
- Wait for the flashing process to complete, then reboot the ESP32 (power cycle the FEBERIS module if needed).

### ESP32 Programming via JTAG
- Connect a JTAG programmer (with a USB interface, for example) to the FEBERIS JTAG port.  
- Configure your development environment (e.g., PlatformIO, Arduino IDE, or Espressif IDF) with the correct JTAG settings.  
- Compile and upload your firmware to the ESP32.

### CC1101/NRF24L01 Configuration
- These radio modules are generally configured via software running on the Flipper Zero.  
- Ensure your selected frequency range and communication protocol match those supported by the module.

## Maintenance and Safety

### Protective Cover
- When the FEBERIS module is not in use, place the cover on the GPIO pins to prevent damage or contamination.

### Storage
- Store the module in a cool, dry place away from extreme temperatures or high humidity.

### Operating Conditions
- Recommended temperature range: –10°C to 60°C.  
- Avoid bending or pressing on the FEBERIS and its connectors.

*[CSS]: Cascading Style Sheet
*[HTML]: Hyper Text Markup Language
