This article explains how to write a C++ library to control and monitor the LSM9DS1 IMU sensor using an Arduino. If you want to really understand how a sensor operates, then write a library for it. It will take longer than you think, but the effort is worthwhile. This library can be downloaded using the Arduino IDE Library Manager or directly from our GitHub repository.
Blog
ChatGPT — As a Programming Tool
Although ChatGPT is unlikely to be replacing programmers anytime soon, it can be a useful coding assistant. In this article, we will investigate how you can use ChatGPT (GPT-3.5) as a programming tool, and compare it to the earlier model found in the Open AI Playground (GPT-3). For simplicity, we will use mostly Python in our examples. Despite its limitations, ChatGPT is seriously impressive.
Read more at Medium…
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
Search Accuracy, Hallucinations, and Prompt Engineering https://link.medium.com/whhkf4Ruhyb
An Arduino Nano Electronic Speed Controller (ESC) — Part 3
In Part 1 we introduced our Arduino based ESC and followed this in Part 2 with an explanation of the power stage and MOSFET drivers. Part 3 focusses on the bootstrap capacitor which is part of the driver circuit used to turn the high-side MOSFET hard on. #arduino #bldcmotor #esc #bootstrapcapacitor #IR2110
https://reefwing.medium.com/an-arduino-nano-electronic-speed-controller-esc-part-3-e17392bd2887
OLED Displays are slow!
We have been prototyping an Arduino based Electronic Speed Controller and planned to include a 0.96″ OLED display. Tests on an Arduino UNO, clocked at 16 MHz, have shown that this display could best be described as sluggish! Even using SPI, printing out 3 lines of text results in a loop cycle time of 15 Hz. Quelle horreur! This prompted us to investigate further to understand the bottlenecks, SPI vs I2C speed, and whether there were any work arounds. #arduino #oled #SSD1306 #DFR0650 #SPIvsI2C
https://reefwing.medium.com/oled-displays-are-slow-2f422840d735
An Arduino Nano Electronic Speed Controller (ESC) — Part 2
Part 2 focuses on the power stage (AKA 3-phase bridge) and why MOSFET drivers are needed.
This series of articles was sponsored by PCBWay. #arduino #shield #ESC #bldcmotor #pcbway
https://medium.com/@reefwing/an-arduino-nano-electronic-speed-controller-esc-part-2-2bb5ec7c309a
How to Design an Arduino 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
Create a Custom Part in EasyEDA
As part of creating the new Sumobot motor controller PCB I had to create a custom part which wasn’t already in the EasyEDA library. The part is a momentary switch from Jaycar. The process is pretty straight forward, design the schematic symbol, design the PCB footprint and then link the two. Should you ever need to do it – here is how! https://reefwing.medium.com/creating-a-custom-easyeda-part-c02abdd85653
How to Write your own Flight Controller Software — Part 11
Controlling brushless DC (BLDC) motors is a lot harder than brushed, particularly if they don’t include a sensor for rotor position. This is why Electronic Speed Controllers (ESC’s) exist. In Part 11 of our series we demistify BLDC motors and their control.
https://reefwing.medium.com/how-to-write-your-own-flight-controller-software-part-11-dee7feef05f2
Age Prediction API based on First Name
I just came across an interesting API that your app can use to predict a persons age based on their first name. The API is free for up to 1000 names/day. It is called agify.io (https://agify.io/). #development
You can try it out in your browser – just insert your first name instead of “david”:
https://api.agify.io?name=david