Skip to content

Custom firmware for internal ExpressLRS RF module to act as a CyberBrick ESP-NOW protocol TX module

License

rotorman/CyberBrick_ESPNOW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CyberBrick ESP-NOW transmitter & receiver

EdgeTX radios control CyberBrick models

This project builds upon my previous work (https://github.com/rotorman/CyberBrick_Controller_Core/tree/espnowdemo/src/community/app_espnow), where I added via custom MicroPython scripts an ESP-NOW communication as an alternative to the original intuitively usable, but from features more limited, original CyberBrick codebase.

The code in this repository contains a custom open-source firmware development for a large number of ExpressLRS RF module(s) and custom MicroPython scripts for the Bambu Lab's/MakerWorld's CyberBrick Core receiver modules in order to talk to each other w/o any hardware modifications needed. With the custom firmware from this project flashed, a radio transmitter, running open-source EdgeTX firmware, and equipped with an ExpressLRS RF module, talks via ESP-NOW wireless protocol with the CyberBrick Core in the 3D printed models.

EdgeTXplusCyberBrickAreGreatFun

A brief video showing the code in action:

Video showing EdgeTX radio controlling CyberBrick model

A longer video showing the steps required to get everything setup:

Step-by-step tutorial on how-to control CyberBrick models from an EdgeTX R/C handset

You can find the C++ source code to flash numerous internal and external ExpressLRS modules under transmitterFW subfolder and the MicroPython scripts for the CyberBrick Core modules under the receiverPY subfolder.

The firmware can be built and flashed into the hardware using Visual Studio Code and PlatformIO extension paired with an Arduino framework for Espressif ESP32 platform, similar to the development of the ExpressLRS firmware.

The MicroPython scripts can be copied to the CyberBrick Core with any REPL capable editor, such as Arduino Lab for MicroPython or Thonny.

Compatible radios

The code should work with the following handsets running EdgeTX (radios listed alphabetically):

The code supports following external RF modules (modules listed alphabetically):

Do note, that I at present time, I have tested the code only with RadioMaster TX16s mkII with internal ExpressLRS module, RadioMaster MT12 with internal 2.4 GHz ExpressLRS module, with Jumper T15 with internal 2.4 GHz ExpressLRS module, HappyModel ES24TX Pro, RadioMaster Ranger and ESP32 development kit (ESP32DevKitCv4).

Flashing

Flashing the internal ExpressLRS module(s) is possible via EdgeTX passthrough (triggered in the background while uploading firmware from VSCode and PlatformIO by Python script). External modules can be flashed via UART (via USB-to-serial adapter). Some (external) modules come with an integrated USB-to-serial adapter, others might need an external adapter, like FTDI or Silabs CP2102, to flash them.

Credits

Large parts of the code used in this repository stem from the wonderful ExpressLRS project.

About

Custom firmware for internal ExpressLRS RF module to act as a CyberBrick ESP-NOW protocol TX module

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published