Flying wing CG calculator
Pretty cool online tool for calculating CG on flying wings (added bonus for using web standards like SVG and HTML5).
http://fwcg.3dzone.dk/
random ramblings of randomness
Pretty cool online tool for calculating CG on flying wings (added bonus for using web standards like SVG and HTML5).
http://fwcg.3dzone.dk/
Finally I got time to check the difference between flying wings (swept wing design) that have a cut out in the center part of the wing for the prop. I was surprised to find out that it was not reduced lift but additional induced drag that made the wing with a reduced depth of the wing in the center (because of forward mounted engine to meet the CG) less efficient.
Here is a comparison of two similar wing designs, one with a cutout for the engine in the center, one without:


Click on the animations for a higher resolution video.
It is interesting to observe how the drag increases significantly in the center, if there is a cutout for the engine.
The yellow surface visualizes the induced drag, the colored arrows lift.
![]() |
| TBS Caipirrinha with downward tilted camera, pitot holder and PX4 auto pilot. |
![]() |
| Additional I2C wire |
![]() |
| TBS Caipirinha with PX4+PX4IO, EzUHF 4 chan receiver, TBS Core, 3DR Telemetry module and 3DR GPS. |
For testing it is sometimes very tedious to always compile and run the small C programs I use as utilities. So I thought, why not use the shebang for this. After investigating how the shebang mechanism works I figured a small bash script would do the trick.
The following script needs to be somewhere in your $PATH, I call the script "C":
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #!/usr/bin/env bash filename=$(basename "$1") filename="${filename%.*}" # need to compile? if [ "$1" -nt "/tmp/runcache/$filename" ]; then mkdir -p /tmp/runcache/ # get rid of shebang line in C program and compile it tail -n +2 "$1" > /tmp/runcache/$filename.c gcc -Wall -std=c99 $CC_OPTS -o \ /tmp/runcache/$filename \ /tmp/runcache/$filename.c fi # first parameter is the old executable, # remove it and poitn to the new one shift /tmp/runcache/$filename "$@" |
1 2 3 4 5 6 7 8 | #!/usr/bin/env C #include <stdio.h> int main() { printf("Hello World\n"); return 0; } |
$ chmod 700 test.c $ ./test.c Hello World $
Lian Pin Koh and I have been to Nepal on behalf of the WWF Areas program to deploy 2 new UAVs for anti poaching patrols.
Both airframes seem to be operatable in this rather harsh environment. There are no "runways" to land, the best we could use was grass land with 3-9m high grass. So every landing is more or less a controlled crash.
The flying wing design has proven to be very durable in this situation and because the plane is controlled by an auto-pilot it is as easy to fly as a beginner plane.
Preflight check
[ ] Check payload battery
[ ] Check payload on
[ ] Check UAV battery
[ ] Check airspeed sensor clear
[ ] Turn on transmitter
[ ] Mode manual
[ ] Power idle
[ ] check prop clear
[ ] Power up UAV
[ ] block airspeed sensor
[ ] don't move UAV until elevator flicks 3 times
[ ] Connect telemetry
[ ] Check 3D GPS fix
[ ] Check altitude
[ ] Check airspeed
[ ] Check Home Location
[ ] Check cruise speed
[ ] Set home altitude to realtive alt.
[ ] Check moving surfaces [Manual]
[ ] Check moving surfaces [Stabilize]
Mission planning
[ ] Wind direction and speed?
[ ] Auto take off? Angle ___, Altitude ___
[ ] Check default altitude ___
[ ] Check altitude graph
[ ] Check distance
[ ] Upload mission
[ ] Download mission again and check
Take off
[ ] Check prop thrust?
[ ] Wind direction and speed
[ ] Takeoff flight path clear of obstacles?
[ ] Mode auto
[ ] Check elevator (auto takeoff only)
launch against wind
Landing
[ ] Check home altitude
[ ] Check cruise speed
[ ] Check wind direction and speed
Shutdown [ ] Power idle [ ] Mode manual [ ] Disconnect Telemetry [ ] Power off
This is a short howto on building a simple wireless groundstation for 10-20 km UAV telemetry. For simplicity reasons the groundstation has no tracking capabilities. The user’s input device can be a laptop or a tablet/smartphone (android for now).
The input device connects via bluetooth (SPP) to the groundstation and the signal is relayed from there via RFD 900 telemetry modem (3DR modem does work as well). The RFD 900 modem has a built in diversity antenna system. It can use 2 different antennas. In my case an omni-directional rubber duck antenna for short range and a direction patch antenna for long range. The patch antenna must be pointed roughly into the direction of the UAV (45° angle).
I have used a teensy 3.0 board to do the message buffering/passing between the bluethooth modem, a USB port and the RFD900. The teensy costs roughly usd 20, has 3 hardware UARTs and packs a fair amount of power (Cortex M4 up to 96MHz).
![]() |
| Internals |
![]() |
| tripod |
Part
|
Price
|
Link
|
Teensy 3.0
|
$19.00
| |
BlueSmirf Gold
|
$64.95
| |
RFD 900
|
$89.50
| |
uBEC (2-4S)
|
$ 4.03
|
| Add bluetooth adapter from task tray |
| Your device should show up here |
| Make sure you get the manual pairing option. |
| Enter PIN |
| Device Paired |
Verify from devices. Right click the device and select Properties » Services (“SPP” should be displayed).
|