Dennis Baldwin
New Version of DJI F450 Leg Extensions with Bolt-on Design
updated
github.com/bitcraze/crazyflie-firmware/blob/master/docs/building-and-flashing/build.md
Hopefully you'll be impressed with Crazyflie's responsiveness and how well it's able to hold position with the flow deck. If you want to test all of the capabilities of Crazyflie be sure to checkout the DroneBlocks simulator, which allows you to simulate Crazyflie and then perform the same mission on your hardware over Bluetooth:
crazyflie-app.droneblocks.io
Thanks for following along and feel free to reach out with any questions.
crazyflie-app.droneblocks.io
I'm really enjoying my Crazyflie drone and while programming in Python is fun there are times when I'd like to quickly test behavior of the drone with DroneBlocks. This is a great tool for getting students interested in STEM and you can learn more about Crazyflie drone programming for the classroom by going to the link below:
droneblocks.io/program/programming-a-drone
Thanks for following along!
Feel free to leave a comment or suggestion below and thanks for following along.
docs.px4.io/main/en/flight_controller/kakuteh7.html
docs.px4.io/main/en/advanced_config/bootloader_update_from_betaflight.html
Since Betaflight Configurator and dfu-util did not work I ended up going the STM32CubeProgammer route:
st.com/en/development-tools/stm32cubeprog.html
A shout out to the ArduPilot community for getting me going:
ardupilot.org/planner/docs/common-loading-firmware-onto-chibios-only-boards.html
After running some tests with the Kakute H7 I will be transitioning to run some tests with the Matek H743 Slim board.
discord.gg/u5Eu529kpP
ZED Mini VIO:
store.stereolabs.com/products/zed-mini
github.com/bellflight/AVR-2022/blob/main/VMC/vio/vio.py
Bitcraze Flow Deck Optical Flow:
store.bitcraze.io/collections/decks/products/flow-deck-v2
github.com/mavlink/MAVSDK-Python/blob/main/examples/offboard_position_ned.py
ARK Flow:
arkelectron.com/product/ark-flow
github.com/alireza787b/mavsdk_drone_show/blob/main/csvCreator.py
github.com/alireza787b/mavsdk_drone_show
All of my testing to date has been with the PX4 sim and I wanted to try MAVSDK drone show on my real hardware.
We are working to make this drone and software widely available with through the DroneBlocks site. I hope to share more details soon.
Please don't hesitate to reach out with any questions or suggestions.
Thanks for following along
github.com/dbaldwin/DroneBlocks-Tello-Simulator-ChatGPT
and a huge shout out to the Microsoft team for sharing their work for using ChatGPT in robotics applications:
microsoft.com/en-us/research/group/autonomous-systems-group-robotics/articles/chatgpt-for-robotics
I'm excited about the future, but also quite a bit scared!
The process of developing an app is fairly straightforward (in most cases). The challenge becomes user training/education and setting expectations.
I'm not discouraging the process of developing apps as I feel like it's a very valuable experience. Just go into the process with your eyes wide open and thick skin. You will never make 100% of your users happy, but you can learn a lot from them.
If you are interested in programming Tello then please consider downloading the DroneBlocks app from the following page:
droneblocks.io/app
Feel free to share any feedback or perspectives below and thanks for following me on this journey.
github.com/dji-sdk/Mobile-SDK-Android
You can sign up for a free DJI developer account at the link below:
developer.dji.com
If you have any questions or feedback regarding the DJI SDK please feel free to leave a comment below.
Please feel free to download DroneBlocks for your DJI Tello drone from one of the links below:
iOS: apps.apple.com/us/app/droneblocks/id1045826508
Android: play.google.com/store/apps/details?id=com.unmannedairlines.droneblocks&gl=US
00:00 Intro
00:59 Quick VIO Position Hold Demo
01:50 Building the MAVLink Cable
01:50 Building the MAVLink Cable
03:54 Top Down View of VIO Drone
04:25 Powering Jetson Nano from Drone
05:34 3D Printed Jetson Nano Mounts
06:40 3D Printed T265 Mount
07:35 Burning Jetson Nano Image
08:47 Auterion VIO Code
09:10 VIO Gist Shortcut
09:34 ROS Melodic and Dependency Installation
11:35 Install librealsense
12:58 Install Python Catkin Tools
15:59 QGroundControl Wireless Configuration
17:34 Verify MAVLink Data Comms
18:13 Review MAVROS Launch Files
21:50 PX4 EKF2 Params for VIO
25:00 Launching VIO
25:26 Begin VIO Flight Test
25:43 VIO Altitude Flight Mode
26:03 VIO Position Flight Mode
26:39 VIO Yawing
28:20 Conclusion
VIO Gist I created to simplify the software install
gist.github.com/dbaldwin/041735a774bf46a82ee98bbbe28a7939
Auterion VIO Fork
github.com/dbaldwin/vio
Jetson Nano Mounting Blocks from Bell VRC
github.com/bellflight/VRC-2021-Phase-I/blob/main/3D%20Prints/STLs/jetson_blocks.STL
Jetson Nano Mount from Bell VRC
github.com/bellflight/VRC-2021-Phase-I/blob/main/3D%20Prints/STLs/jetson_nano_mount_cooling.STL
Intel T265 Rail Mount from Bell VRC
github.com/bellflight/VRC-2021-Phase-II/blob/main/3D%20Prints/t265_rail_mount.STL
Jetson Nano Wifi Antenna Mount from Bell VRC
github.com/bellflight/VRC-2021-Phase-II/blob/main/3D%20Prints/wifi_antenna_mount.STL
docs.px4.io/master/en/config_mc/pid_tuning_guide_multicopter_basic.html
The other issue were the elevon mixers, which did not correspond to my elevon configuration for the SweepWings Juggernaut. After updating the mixer file everything appears to work well on the bench. You can learn more about mixers here:
docs.px4.io/master/en/concept/mixing.html
Stay tuned for the maiden and thanks for following along the way.
docs.px4.io/master/en/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.html
Once I get further down the road I would like to document this process and hopefully contribute a new VTOL airframe selection in QGroundControl. While there are several options I do feel like we need more documentation.
Thanks in advance for watching and any feedback you may have.
The video covers using DroneBlocks to create a panorama mission that is simulated in AirSim, which takes photos from different angles in the environment. I use PTGui and krpano to do the stitching and post processing. You can see the demo here:
http://droneblocks.s3.amazonaws.com/airsim-panorama/tour.html
The GitBook to download DroneBlocks for AirSim can be found here:
dennisbaldwin.gitbook.io/airsim-notes/download
Here is the AirSim releases page and I encourage you to try this out with a different environment:
github.com/Microsoft/AirSim
Here are the chapters in the video:
00:00 AirSim Panorama Intro
01:35 AirSim GitHub Page
02:36 GitBook with DroneBlocks Download
03:06 Configuring AirSim to Launch in Windowed Environment
04:05 AirSim Settings File
05:06 DroneBlocks for AirSim Overview
07:09 Launching Panorama Mission with DroneBlocks
08:48 Stitching Pano Images with PTGui
12:48 krpano Processing
14:10 Viewing the Panorama
14:30 Conclusion
Thanks for watching!
At this point I'm not entirely certain if it can be done, but wanted to document the process as I go. The GitBook referenced throughout this video can be found here:
dennisbaldwin.gitbook.io/px4-wing-with-pi-zero-and-gsm
and here are the key chapters in the video. Thanks for following along.
00:00 - Introduction
01:47 - Imaging Pi Zero
02:30 - Headless networking setup
04:05 - SSH into Pi Zero
04:45 - Updating Pi Zero packages
05:00 - Configure Pi Zero for serial communication
06:00 - Waveshare GSM hat overview [amzn.to/2QVJbe7]
06:50 - Communication with Waveshare GSM hat using Picocom
08:23 - AT commands for SMS with Waveshare GSM hat
11:38 - Python verification
11:52 - Installing pip and Python dev tools
12:24 - Installing DroneKit
13:11 - Send SMS with Python and Waveshare GSM hat
14:33 - Pi Zero wiring with Pixfalcon
15:55 - Running DroneKit on Pi Zero
18:23 - Conclusion
RMRC Recruit
readymaderc.com/products/details/rmrc-recruit-stealth-black-epp-wing-pnp
Pixfalcon (or similar mini PX4 autopilot)
docs.px4.io/master/en/flight_controller/pixfalcon.html
Pi Zero
amzn.to/31mYiPo
Waveshare GSM/GPRS Hat
amzn.to/3st0fpt
Hologram IoT Network
bit.ly/39jfYQi
Thanks for following along.
github.com/microsoft/AirSim
and my GitBook notes can be found here:
http://dennisbaldwin.gitbook.io/airsim-notes/px4-hitl-testing
To learn more about DroneBlocks please visit:
droneblocks.io
Please feel free to leave a comment below if you have any questions and I hope to share more information in the near future. Thanks for watching.
github.com/dbaldwin/RAD-MAVLink-Bridge
This will allow you to have a wireless bridge between your Pixhawk/APM aircraft and your ground station. I'll be working on improving the script for UART communications as well as testing other hardware. Please post a GitHub issue if you run into any problems.
00:00 - RAD MAVLink Bridge Overview
01:55 - Bridge Demonstration w/ QGroundControl on iPad
04:05 - Bridge Demonstration w/ QGroundControl on iPhone
05:18 - Introduction to Installation w/ Raspberry Pi 4
05:56 - Flashing Raspberry Pi OS onto Micro SD
06:36 - Powering up and Configuring Pi 4 for Script Install
07:37 - RAD MAVLink Bridge Github Repo
08:12 - Installation Script Walkthrough
10:31 - Downloading and Installing RAD MAVLink Bridge Script
12:15 - Post Installation Check
13:00 - Raspberry Pi 4 Bench Test
15:17 - Conclusion
Ever since I updated my Taranis to ACCST 2.0 I've run into so many problems with binding receivers with old firmware. Since the new radio module firmware is not backwards compatible with older RX firmware I've had to update all my receiver firmware. While this isn't a huge problem in most cases it was kind of a hassle with the BetaFPV 95x due to the small size.
I purchased it with the FrSky XM+ and upgraded the firmware to 2.1.0 from here:
frsky-rc.com/xm-plus-mini-sbus-non-telemetry-full-range
I'm amazed by the performance of this little FPV drone so far. It's really fun to fly and handles well outdoors. Highly recommended!
This was a royal pain to figure out, but a shout out to Painless 360 for giving me a kick start in the right direction:
youtube.com/watch?v=IN0Jbih797Y
The key is if you can't rollback your Windows 10 USB driver then you should "update" it to a previous version. Then you should see your Taranis show up in the list of USB gaming controllers.
I hope this saves someone out there a bit of time.
github.com/dbaldwin/Mobile-SDK-iOS/blob/master/Sample%20Code/SwiftSampleCode/DJISDKSwiftDemo/GameController/GameControllerViewController.swift
Please give it a test and let me know how it goes!
Thanks.
github.com/dbaldwin/Mobile-SDK-iOS
Here is a link to the specific view controller covered in the video:
github.com/dbaldwin/Mobile-SDK-iOS/blob/master/Sample%20Code/SwiftSampleCode/DJISDKSwiftDemo/FPVImageDetector/FPVImageDetectorViewController.swift
My fork of DJI's Mobile iOS code can be found here:
github.com/dbaldwin/mobile-sdk-ios
and specifically the VirtualSticksViewController Swift code is located here:
github.com/dbaldwin/Mobile-SDK-iOS/blob/master/Sample%20Code/SwiftSampleCode/DJISDKSwiftDemo/VirtualSticks/VirtualSticksViewController.swift
Please feel free to try it out, make it better, and submit a pull request. I'll be sharing more details as it relates to SDK 4.13 and the virtual sticks API soon.
Subscribe to my DJI SDK Playlist here:
youtube.com/playlist?list=PL8U6Ww3qk3X0Cg2hAg_RLELxVXD_NbY3S
Thanks for watching!
You'll notice some serious oscillations when making the final turn before landing. I believe this has to do with the STALL_PREVENTION parameters and code. I will be reviewing the log files and then trying to tune my frame in the coming weeks.
Thanks for following along!
amzn.to/38uZymr
and here is a link to the ZOHD Drift FPV Glider my buddy Ryan was flying with:
bit.ly/2ZFmBGX
He got the version with built-in stabilization and I highly recommend gyro stabilization if you're just getting started. The plane flies incredibly well!
youtube.com/channel/UCbzLsCc3r3Mae27Yyw7UF0g
and if you want to look at the discussion of the log analysis you can do so here:
discuss.ardupilot.org/t/bixler-quadplane-crash-after-perfect-transition-to-fbwa-mode
I hope to get another VTOL in the air soon. Thanks for following along
gist.github.com/dbaldwin/2edc78b079a8b48c9e88472a36ae6786
I'm looking forward to further experimentation. Thanks for following along!
github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md
That will get you to the point where you can run realsense-viewer and see the data stream from the camera and sensors. Don't worry about installing librealsense2-dev as you'll want to build from source.
Make sure you clone the repo to your local machine and then following these steps to get your Python dev environment working:
github.com/IntelRealSense/librealsense/tree/master/wrappers/python
The instruction about using "pip install pyrealsense2" did not work for me so I built from source. Make sure you clone the repo and when you configure the project with cmake be sure to specify the path to python 2 and not 3. For some reason I could not get python 3 to work. So your cmake will look like this:
cmake ../ -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python
Once you make and install be sure to update your PYTHONPATH:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib
I'm excited about the possibilities with this camera and hope this video was helpful.
gist.github.com/dbaldwin/351cd33710e212cbe274757b411f9f76
I'm looking forward to getting some flight commands in place. Stay tuned!
gist.github.com/dbaldwin/4695149740e59a9d998f4e95fbe1d298
and a little background info on setting up wireless for Raspberry Pi 4:
gist.github.com/dbaldwin/fa1baac11b0ae2f000092b695c3d0b33
and finally, some ROS commands you can run to test your installation after connecting to your PX4-based flight controller:
gist.github.com/dbaldwin/351cd33710e212cbe274757b411f9f76
Please feel free to share any thoughts or questions. Thanks.
dev.px4.io/v1.9.0/en/log/flight_log_analysis.html
Using the vibration foam that came with one of my old 3DR Pixhawk kits did the trick. This video shows the before and after results.
github.com/dbaldwin/tello-video-nodejs-websockets
and the JSmpeg project that was instrumental in helping me pull this off:
github.com/phoboslab/jsmpeg
and finally, here is the Node-RED flow:
github.com/dbaldwin/DroneBlocks-Tello-EDU-Node-RED/blob/master/15_node_red_tello_video.json
Good luck and I hope you're able to stream video with Tello and Tello EDU!
github.com/dbaldwin/Mobile-SDK-iOS
Please feel free to download and give it a run. If you have any ideas for custom flight modes please let me know. I'd ultimately like to couple this with ArUco markers and do some indoor vision positioning. Hopefully I can get access the camera feed and be able to process this on iOS. Just not sure what the performance will be like.
Oh yeah, here is the Math Is Fun link that helped me tremendously while putting together this demonstration:
mathsisfun.com/algebra/trig-interactive-unit-circle.html
Thanks for watching!
nxp.com/applications/solutions/industrial/aerospace-and-mobile-robotics/uavs-drones-and-rovers/nxp-hovergames-drone-kit-including-rddrone-fmuk66-and-peripherals:KIT-HGDRONEK66
and you can check out the documentation here:
nxp.gitbook.io/hovergames
More info coming soon. Thanks for following along.
This is a project that I've been working on recently and trying to get more familiar with DJI's Virtual Sticks API. Their demo app can lead to problems if you're not careful. So I've forked the code on GitHub and made what I believe to be the right modifications to the code. You can find a fork of the code here:
github.com/dbaldwin/iOS-SimulatorDemo
and this is the specific commit I discuss in the video:
github.com/dbaldwin/iOS-SimulatorDemo/commit/8d728967478a5d472871b1fcc966f501eac0923c
I hope you find this helpful if you're diving into the DJI SDK. Comments and feedback welcome. Thanks for following along.
Some of the specs with the build so far:
4.25 lbs AUW
10x4.5 APC MR props
Suppo 2212/15 930kv motors
3000mAh 4S Turnigy Lipo
Here is the thrust chart I referenced in the video:
apcprop.com/files/PER3_10x45MR.dat
I'm hoping to do some tuning and get into forward flight soon.
youtube.com/watch?v=V43riirEthk
Keep in mind that my total cost was about $125, but you may be able to do it cheaper.
Now onto the Bixler Quadplane build.... I'm about 75% done and have everything pretty much wired up. Now it's a matter of connecting the cables and get power to the forward flight ESC, something that I overlooked originally. That should be done this week and then I'll move onto loading Pixhawk firmware and configuring for QuadPlane params.
Thanks for following along.
discuss.ardupilot.org/t/quadplane-conversion-of-hobby-king-bix3-trainer/10368
Greg has done a great job with this build and I'm hoping to follow suit. I will share updates throughout the rest of this project. Assuming things go well I will follow up with a more extensive video showing the build from start to finish.
WARNING: This is a looooong video. I wanted to share the process I went through to assemble the DJI RoboMaster S1. It's a really straightforward build and I'm looking forward to testing the programming capabilities of the robot. It can be programmed in Scratch and Python. Stay tuned for upcoming videos that talk about programming.
Spark has a limited gimbal pitch compared to other DJI aircraft so that's something I wanted to share in this DroneBlocks demonstration. Also, with the mission control API it's still possible to give manual input to the aircraft, which can be advantageous in certain situations.
I plan on posting more information about the DJI SDK in the near future. We plan on exposing a lot of the SDK functionality in the DroneBlocks app, which will allow for some really interesting applications.
Feel free to download DroneBlocks and give it a try with DJI Spark, Mavic Pro, Phantom, and Ryze Tello:
apps.apple.com/us/app/droneblocks/id1045826508
github.com/dbaldwin/Tello-Python
I will be sharing more updates soon as it relates to doing image processing with the Tello video stream.
If you'd like to learn more about programming Tello with Python then please check out the DroneBlocks curriculum:
http://learn.droneblocks.io
Thanks for following along!
amzn.to/2TR1r56
I've found that the easiest way to test a UDP connection is with Packet Sender, which is free and available for many different operating systems:
packetsender.com
You can find the Python network scan script and box mission at the repo below:
github.com/dbaldwin/droneblocks-telloedu-python
I'll be working on improving the code to make it easier to find Tello EDU's IP address when connected to your access point.
So far I'm impressed with the consistency/accuracy of drone swarming. Both drones seem to follow commands in a near-identical manner. Very cool.
If you network experts have any tips on simplifying the process for grabbing the IP address of the Tello EDU drones please share in the comments below.
Thanks for watching.
Here is the DroneBlocks mission code that I flew with my Phantom 4:
dev.droneblocks.io/index.html?view=1&missionId=-KrgyLV04Di6fXP9DhEs
Here is the imagery acquired from the mission above if you want to download and try to run it through ODM:
dropbox.com/sh/m5o7xjxqhchfei5/AAAkpKXkQkiPL6GSfVO5Rce_a?dl=0
The OpenDroneMap GitHub repo is located here:
github.com/OpenDroneMap/OpenDroneMap
You can download Docker from here:
store.docker.com/editions/community/docker-ce-desktop-mac
Lastly, here is the Sketchfab model from the ODM texturing output:
sketchfab.com/models/90812aeb6a3e4539b243c46a736487af
I'll be sharing more info on the latest version of OpenDroneMap in upcoming videos.
Please feel free to leave a question or comment below.
learn.droneblocks.io
If you have any tips or suggestions please feel free to post them below. At the time of this video DJI SDK 4.7.1 was just released.
The biggest problem I had with Android was I had it always remember the USB connection, which is not what you want if you're toggling between several different drone apps.
I cover how to use Kolor Autopano Pro and Panotour's basic features. I also cover how to add a full sky to your pano and upload to Facebook.
Please feel free to join our Facebook group to learn from panorama experts:
facebook.com/groups/dronepan
docs.google.com/document/d/1K9kG2KSfn0LGArDMtmWiN64JXZ3mju9xubtNxHtMZfs/edit
dronaaviation.com/plutox
This video gives a brief overview of the hardware, app, and maiden flight. In upcoming videos I will be covering the software development aspects of the drone.
Please leave any questions or comments below. Thanks!
readymaderc.com/products/details/rmrc-recruit-stealth-black-epp-wing-pnp
I'm looking forward to getting my FPV gear installed and doing a FPV maiden. Thanks for tuning in and please leave any questions or comments below.


