Wednesday, November 9, 2022

Arduino Nano Electronic Speed Controller (ESC)

Having delved into how BLDC motors operate and provided an overview of trapezoidal sensorless control, we can bring it all together in the design of an Arduino ESC shield. This turned out to be much harder than we expected - now we know why no-one does it!

This series of articles was sponsored by PCBWay.

#arduino #shield #ESC #bldcmotor


https://reefwing.medium.com/an-arduino-nano-electronic-speed-controller-esc-part-1-4f65076fb2e4

Sunday, March 20, 2022

Nexgen AHRS Arduino Library

Our latest article on "How to write your own Flight Controller Software" is available on Medium. This article covers the Attitude and Heading Reference System (AHRS), IMU Filters and Sensor Fusion. We have released the open source Nexgen AHRS Arduino library to demonstrate these techniques on the Nano 33 BLE. 

https://reefwing.medium.com/how-to-write-your-own-flight-controller-software-part-7-64daef8299ee

Friday, February 11, 2022

NexgenTimer Arduino Library

 LiPo batteries are great for drones but you don't want to over discharge them. To allow our Flight Controller to monitor battery capacity we used a non blocking scheduler and packaged our requirements up as an Arduino Library, NexgenTimer.


Our library is an amalgamation of the MillisTimer and ElapsedTimer libraries with some application specific examples and an extra Timeout class. It only uses functions from the Arduino core API and hence should work on all Arduino boards.

It can be downloaded using the Arduino Library Manager and you can read all about it in our latest article on Medium - https://reefwing.medium.com/how-to-write-your-own-flight-controller-software-part-6-7ce0fa3e8008

Sunday, January 2, 2022

Write your own Flight Controller Software - Part 5

There are a number of libraries that make working with the LSM9DS1 IMU (Inertial Measurement Unit) easy. In Part 5 of our series on writing your own flight controller software we will focus on the IMU and in particular explain the best ways to convert the gyro rate and accelerometer force data to a roll and pitch angle. The yaw angle is then calculated using the pitch and roll and magnetometer data. This discussion, is in the context of building a drone flight controller based on the Arduino Nano 33 BLE. https://reefwing.medium.com/a59bf9ed8c69