UAV Projects
I'm enjoying interacting
with and modifying the firmware used in the flight controllers and
other hardware. I've contributed
modifications to the open-source ArduPilot
and Betaflight/Cleanflight
projects, and I've posted several utility programs, as described below.
- Developed the ArduVidRx
Android app to operate an FPV video
receiver that has been modified to have an Arduino Pro Mini add-on
board. (Also implemented the Arduino code and serial-interface
protocol.)
- Created
‘IMDTabler’ and ‘FreqSetGen’, web-based
tools in Java for calculating IMD (Intermodulation Distortion)
effects on FPV video signals.
- Implemented modifications to the Delta 5 Race Timer, an open-source multi-node timing system (Raspberry Pi, Arduino, Python, Javascript, SQL).
- Developed ‘clipytool’, a
command-line utility written in Python for interacting with a
Cleanflight controller board.
- Implemented patches
to the Betaflight controller firmware (C++) that enhance how a connected FPV
video transmitter can be configured. These patches have been merged
into the Betaflight master code.
- Implemented a bugfix for the Betaflight controller firmware (C++) that fixes an issue with
SmartAudio 'looping' after a vtx_freq in MHz is set.
- Cleanflight patch:
Adds new commands to control the effect the current inclination has on
self-leveling in the Horizon flight mode. This patch has been
merged into the Cleanflight master code (C++).
- Cleanflight patch:
Port of refactored beeper code from an upstream project. This
patch has been merged into the Cleanflight code (C++).
- ArduPilot /
ArduPlane patch:
Fixes support for differential spoilers on planes, and adds new options
for elevon offsets. This patch has been merged into the ArduPlane
master code (C++) and is part of ArduPlane v3.6.0 and newer.
- ArduPilot /
ArduPlane patch:
Adds new geo-fence options for disarming motors on breaches on planes,
and for enabling the geo-fence on motor arming (C++).
- PX4MiniAIO
Flight Controller: Investigated issues with bootup and compass
functionality with the flight controller, and posted modified
firmware files (C++).
- Created the
"etheli" version of the open-source firmware for RX5808 Diversity
modules (that plug into Fatshark Dominator goggles), which adds the
BY-MHZ MODE (that allows an arbitrary frequency in MHz to be directly
dialed in and tuned).