Our L293 based motor shield has some problems! How do we diagnose what the problem is and create a better design? Our first article in this series described how we designed our prototype UNO motor shield (Figure 1).

The second article explained how we wrote an Arduino library to use…


At some stage you are going to write some code that you want to package up as a library. This makes it easy for you and others to use the software, hides complexity and is a way to participate in the global maker community. There are a few exisiting guides…


The Nexgen Rover

The Nexgen Rover is an Arduino based robot designed wholly by Nexgen Codecamp Pty Ltd. It is used in our technology related STEM courses aimed at high schools. The robot is based on Arduino technology and runs an Arduino UNO with a motor controller shield on top. …


The evolution of open-source flight control firmware is fascinating and involves everything from years of committed development with no reward, to convoluted betrayal from previous partners and friends. In this article, we will review the most popular open-source projects, explain their antecedents and highlight the survivors.

  1. The Flight Control Ecosystem


Why is it so hard to upgrade a sticker app that has literally no code?

In December 2019 I wrote an article about Unnecessary Forced “App” Updates. …


The Importance of Motor Direction

In order to stop our drone spinning like a top, it is important that the four motors turn in a particular direction. As shown in figure 1, we want the motors to alternate spinning clock wise and counter clockwise. …


What’s Next?

In Part 3 of our series on writing your own flight controller software, we looked at PID control and what that consists of. When writing complex software, it is usually easier to break it down into smaller parts which you can test independantly. …


The PID Loop

In Part 1 of our series we spoke about the flight controller PID Loop. It is worth revisting that now (see Figure 1). In previous parts we have spoken about how we decode the remote control input, r(t), and how we generate our PWM control for the ESC, u(t). In…


For the Arduino Portenta H7.

The Story So Far…

Figure 1. The initial prototype of the Nexgen Drone.

As described in Part 1 of our series, we are designing a drone using the new Arduino Portenta H7 as a flight controller. Our intention is to port BetaFlight across to the STM32H747 microprocessor as the flight controller firmware.

We have modified the BetaFlight firmware…


Overview

In this tutorial we will modify the BetaFlight source code to create a new hardware flight controller target. We want to add the Arduino Portenta H7 to the list of valid hardware targets. The Portenta uses the STM32H747XI dual Cortex®-M7+M4 32bit low power ARM MCU. This is quite a mouthful!

David Such

Reefwing Software · Engineer · iOS & Android Development · Robotics · Drones #Arduino #RaspberryPi

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store