Giter Club home page Giter Club logo

f_light's Introduction

Forks Stargazers Issues GPL3 License LinkedIn


Logo

F_Light

A small handheld device that does 433mhz attacks. Similar to the Flipper Zero.
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Pinouts and Connection Diagrams
  4. Roadmap
  5. Contributing
  6. License
  7. Acknowledgments
  8. Donations

About The Project

This project aims to develop a small handheld device capable of various functionalities related to 433MHz radio communication. The device allows for receiving, transmitting, copying, saving, and jamming signals within the 433MHz frequency range. Additionally, it features a 128x64 I2C OLED screen and six buttons, four for navigation and two for confirming and canceling actions.

F_Light stands for Free Light.

To see the prototype PCB go to this repo.

To see my workflow go to this Trello board.

  • I have started development from scratch to make the overall quality of the code better from what i have learned.

Key Features

  • 433MHz Communication: The device is designed to work within the 433MHz frequency range, enabling it to interact with a variety of radio devices operating on this frequency.
  • Receiving: The device can receive signals transmitted by other 433MHz devices, allowing users to monitor and analyze the data being transmitted.
  • Transmitting: Users can utilize the device to transmit signals to other 433MHz devices, facilitating the communication between the handheld device and compatible devices.
  • Copying: The device offers the ability to copy received signals, allowing users to replicate and retransmit the same signal multiple times.
  • Saving: Users can save received signals for later analysis or retransmission, providing a convenient storage mechanism for important or interesting data.
  • Jamming: The device includes a jamming functionality, which can be used to disrupt or interfere with the signals of other nearby 433MHz devices.

Getting Started

This guide will get you setup your basic development enviroment, building and running is quite simple with the PlatformIO extension.

Prerequisites

Theres only one prerequisite right now.

  • PlatformIO extension for Visual Studio Code

Building

This is the bare minimum you have to do to get the project running on bare metal.

  1. Clone the repo.
    git clone https://github.com/Flee-Time/F_Light.git
  2. Open the cloned project in VS Code with PlatformIO.

  1. (Optional) Change the platormio.ini file to suit your prefered upload and debug method.

    upload_protocol = stlink
    debug_tool = stlink
  2. Build and upload under the genericSTM32F411CE/General project tasks using the PlatformIO extension.

Pinouts and Connection Diagrams

This project utilizes a combination of hardware components to create a versatile handheld radio device.

  • Hardware used in this project
STLink clone
STM32F411CEU6 BLACK PILL / WeAct Black Pill V2.0
Fake SSD1306 1.3" OLED Display (Has a sh1106 controller inside)
CC1101 433MHz module
SdCard Breakout (Not a spi sdcard module)
6 Buttons

To properly connect the various components of the handheld device, the following pin connections should be made:

  • Buttons
3v3  --> All Buttons
PB12 --> up_button
PB13 --> right_button
PB14 --> down_button
PA8  --> left_button
PA9  --> back_button
PA10 --> action_button
  • OLED Display (SSD1306/SH1106)
PB6 --> SCL
PB9 --> SDA
3v3 --> VCC
GND --> GND
  • ST-Link Debugger
PA13 --> SWDIO
PA14 --> SWCLK
3v3  --> 3v3
GND  --> GND
  • RTC Battery
VBAT --> CR2032_Plus
GND  --> CR2032_Minus
  • RF Section (CC1101)
PB0 --> GD0
PA7 --> MOSI
PB4 --> MISO
PA5 --> SCK
PA4 --> CS
  • SD Card Module
PA6  --> SDIO_CMD
PB7  --> SDIO_D0
PB15 --> SDIO_CK
PB8  --> SDIO_DETECT
  • UART
PA2 --> TX
PA3 --> RX

Prototype Device Schematics

Some schematics for the prototype device im using right now, keep in mind nothing is final at this stage.

Please click here for the schematics.

Prototype Device Images

For pictures of the device, please refer to here

Roadmap

  • Update Readme
  • Add documentation
  • Improve code readability
  • Improve UI & UX
    • Finish Time & Date setttings app
    • Make Menu's more modular
  • Add RF implementation
    • Add SPI functionality
    • Improve SPI functionality
    • Write code to initialize the CC1101 module
    • Basic RF RSSI functionality
    • Basic RF receiving functionality
    • Basic RF transmit functionality
    • Basic RF save functionality
  • Add SD card and filesystem support for saving recorded frequencies
    • Add config file for persistent options.
    • Add saving raw rf recordings.
    • Add loading saved raw rf recordings.
  • Make Prototype pcb with integrated components
  • Switch to an RTOS
  • Rewrite everything using a more OOP approach
  • Write own hardware abstraction layer for optimization

See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions to this project are welcome! Whether it's reporting issues, suggesting improvements, or submitting pull requests, your help is appreciated. Together, we can make this handheld radio device a versatile tool for 433MHz communication.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/contrib)
  3. Commit your Changes (git commit -m 'Add some feature')
  4. Push to the Branch (git push origin feature/contrib)
  5. Open a Pull Request

License

This project is licensed under the GPL-3.0 License. Feel free to use, modify, and distribute the code according to the terms of the license. See LICENSE for more information.

Acknowledgments

I would like to express our gratitude to the open-source community for their invaluable contributions and support, which have played a significant role in the development of this project. Thank you to all the individuals and organizations who have shared their knowledge and expertise in the field of radio communication.

Donations

If you find this project helpful and would like to support its development and maintenance, you can make a donation to show your appreciation. Your contribution will help ensure the project continues to grow and improve. Thank you for your generosity!

Your support is highly appreciated and will be acknowledged in the project's documentation.

The funds received will be used solely for the project's purposes, acquiring necessary hardware components, and supporting ongoing development efforts.

Thank you for considering making a donation! I am grateful for your support.

Thanks to all the donators for making all of this possible. Without your support, this project probably wouldn't see the light of day.

  • Donators

    • Jamine16

f_light's People

Contributors

flee-time avatar

Stargazers

Henrique Portela avatar  avatar  avatar Chris Libby avatar  avatar Musa avatar  avatar sl0 avatar

Watchers

 avatar  avatar

f_light's Issues

Schematics

Hi, is there any schematics or wiring diagrams available please?

SD card

Have you considered add an SD card module for storage?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.