NOTE: This project is a work in progress for Raspberry Pi microprocessor RP2040 and RP2350 boards like the Pico and Pico 2. This project does not support other microprocessors.
NOTE: This is experimental software/hardware and there is no guarantee of stability or reliability. USE AT YOUR OWN RISK.
NOTE: This project was performed using Visual Studio with Platform IO for Linux. If you are using the Windows version, then you will need to follow these instructions to get this project to work with Visual Studio/Platform IO for Windows.
If you don't want to bother with the recommended Windows configuration, then try the dual boot function of Linux Mint MATE. I did not like Linux Ubuntu, but after I tried Linux Mint MATE, I was hooked. Linux Mint Mate is easy and fast.
CRServoF_ELRS_for_RP2040_Pico_RP2350_Pico_2 is an RC receiver project for RC surface models and STEM robots that use ExpressLRS and EdgeTX.
This RC receiver has 6 PWM servo channels and 6 duty cycle LED channels. EdgeTX will allow the user to customize how the LED channels can be used on the RC model
For example, the user can easily program, in EdgeTX, to have the headlights turn on with a button on the RC transmitter or have the headlights turn on automatically when the throttle is applied.
Another example is the duty cycle pins could be connected to a high current relay (duty cycle 0% "Off" and 100% "On") that would be used on a STEM robot. The versatility of EdgeTX (RC transmitter software) and ELRS make this an ideal receiver for STEM robots.
Here are RC transmitters that work with ExpressLRS (ELRS).
CRServoF_ELRS_for_RP2040_Pico_RP2350_Pico_2 has a portion from https://github.com/CapnBry/CRServoF, (which is ExpressLRS (ELRS) to servos for STM32 micros) and another portion from https://github.com/mikeneiderhauser/CRSFJoystick, (which is ExpressLRS to USB video game dongle for RP2040 Pi Pico).
NOTE: This is experimental software/hardware and there is no guarantee of stability or reliability. USE AT YOUR OWN RISK.
If you want to use this software in the current state without compiling, then the firmware.uf2
files can be found here for Pi Pico, Pi Pico W, Pi Pico 2 Seeed XAIO RP2040, Tiny 2040, and Waveshare RP2040-Zero.
Waveshare RP2040 Zero. Other types of RP2040 microprocessor boards can be used. Please reference the Board Pinout section below for your board.
HappyModel EP2 receiver or other brand of nano ExpressLRS (ELRS) receiver.
ULN2003A transistor array. Functions as a switch with up to 0.5 amp maximum capacity.
17 x 13 hole circuit board, with typical 0.1-inch hole spacing.
Male header pins, which are typically used for RC servos.
I have asked for support from the ExpressLRS team to give the end user the ability to adjust failsafe settings by using the ELRS WebUI function, which is already available in ELRS PWM receivers. If you would like the ability to easily adjust failsafe, then please add your comments to this feature request.
Until the feature request has been implemented, you will need to adjusting failsafe using the procedure below.
The default failsafe values are found in the include file, board_defs.h
.
If you would like different failsafe values, simply edit the include file, then build the new firmware.uf2
file.
PWM pins and UART pins are defined in the include file, board_defs.h
.
For example, for the Pi Pico, the pins are defined as the values shown in the red boxes below.