Saturday, March 18, 2023

ChatGPT — Search Accuracy, Hallucinations, and Prompt Engineering

We love the progress that is being made in Machine Learning (ML) and predictive Large Language Models (LLMs), but believe users need to be cautious in their application and aware of the pitfalls. LLMs are being spruiked as a replacement for search engines (*cough* Microsoft *cough*), but until they stop hallucinating and making up facts, caution is warranted. #chatgpt #promptengineering #aihallucinations 

Check out our latest article on Medium -

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

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.

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 -

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.

Thursday, August 12, 2021

Debugging the Arduino Motor Shield

 Our L293 based motor shield had some problems! How do we diagnose what the problems are and create a better design? This final tutorial, will explain how we went about troubleshooting the issues and creating a better circuit to be used in version 2 of our design. #arduino #uno #motor #shield #debugging