An Index of Reefwing Software Articles & Series

David Such
7 min readDec 29, 2022

To make it easier for readers to find related articles which may be of interest, we have compiled a list of our most popular articles with hyperlinks. You can also click the Lists link below.

Table of Contents

  1. Drones/Quadcopters
  2. Internet of Things (IoT) / Arduino
  3. Artificial Intelligence & Machine Learning
  4. Test Equipment
  5. Printed Circuit Board (PCB) Design
  6. Raspberry Pi Development
  7. iOS Development
  8. Web Development
  9. Retirement

Drones / Quadcopters

Drones / Quadcopters

39 stories
  1. How to write your own Flight Controller Software. An 11 part series (so far) which covers everything from why you would bother, hardware requirements, PID loops, IMU data, LiPo monitoring, AHRS, Sensor Fusion, serial communication (MSP), motor mixing, brushed and brushless DC motors.
  2. Arduino Nano Electronic Speed Controller (ESC). A eight part series (so far) on designing an Arduino Nano Electronic Speed Controller (ESC) carrier board.
  3. A Review of Open-Source Flight Control Systems. Before building your own, it is worth exploring other options.
  4. Designing a new Drone. A three part series which describes the process of designing a new drone (Magpie DS2) using open source hardware and software.
  5. Building the Magpie DS3 Drone. The DS3 variant of our Magpie air frame is a simple 220 mm Quad — links to 3D printable files included.
  6. Configuring an ESC with BLHeli firmware using an Arduino Uno.
  7. Porting Betaflight to the Portenta H7. A four part series which documents our attempts to port the Betaflight flight controller software to one of the latest boards from Arduino and the start of their new Pro range.
  8. Arduino Self Levelling Drone Series. A five part series covering the construction of an Arduino UNO based quadcopter (Falcon DS1) using the YMFC-AL flight controller firmware.
  9. Building the Magpie Drone Power Distribution Board. The PDB includes the hardware required in addition to our Arduino flight controller.
  10. Reading RSSI from a FrySKY X8R Transmitter with an Arduino. RSSI (Received Signal Strength Indication) is a measure of the signal strength between the Radio Control transmitter and the receiver on your drone.
  11. Programming the Tello Drone using Swift. A two part series exploring how to write a simple iOS app in Swift to allow control of the Tello Quadcopter.
  12. Calibrating your Drone ESC in BetaFlight. How to teach the ESC what range of throttle inputs it should respond to.
  13. BeagleBone Blue Drone. A three part series about designing a quadcopter using the BeagleBone Blue as a flight controller.

< Back to Table of Contents

Internet of Things (IoT) / Arduino

Internet of Things (IoT)

24 stories
  1. Reefwing LPS22HB Library for the Nano 33 BLE Sense. Explanation of how we created an Arduino Library for this pressure sensor.
  2. Programming the T-WATCH-2020. A two part series on using the Arduino IDE to program the LILYGO T-WATCH-2020.
  3. OLED Displays are SLOW! Tests on an Arduino UNO, clocked at 16 MHz, have shown that this display could best be described as sluggish!
  4. Arduino MKR VIDOR 4000 FPGA. Create a self-playing tic tac toe game using a Field Programmable Gate Array (FPGA).
  5. Pointers in C and C++ for Arduino. A refresher!
  6. Designing your own Arduino UNO Motor Shield. How to design and manufacture your own motor shield for the UNO.
  7. Debugging the Arduino Motor Shield. Our L293 based motor shield had some problems.
  8. How to create your own Arduino Library. Focussed on material not covered by beginner tutorials on this subject.
  9. Connecting the Duinotech 3-Axis Compass to an Arduino. Working out which magnetometer is used by this board.
  10. ATmega328P Registers and Interrupts. A two part series explaining how to use the UNO processor registers when you need things done fast!
  11. Mesh Security System using the Particle Argon and Xenon. A two part series on developing a house security system using the mesh capable boards from Particle.
  12. Espressif ESP32 Programming Tutorial Series. A five part series which explore different ways of programming the ESP32 (e.g., Arduino IDE, ESP-IDF and Eclipse). The final part includes an IR remote example.
  13. Duinotech 8 x 8 LED Dot Matrix Module Red. Jaycar in Australia have a range of Arduino compatible kit — with almost no instructions on how to use it.
  14. Flight Tracking (ADS-B) using the pcDuino. Using a RTL2832U-based SDR receiver and a pcDuino to track planes flying overhead.
  15. pcDuino and the Adafruit 5" LCD HDMI Display. After my inability to get the 7" LVDS display to work with the pcDuino I thought I would have a go with the 5" Adafruit display

< Back to Table of Contents

Arduino

38 stories

Artificial Intelligence & Machine Learning

  1. ChatGPT — Search Accuracy, Hallucinations, and Prompt Engineering. In this article we will investigate using large language models (LLMs) for search applications, illustrate some of the issues with this including hallucinations, and finally will explain how you can use prompt engineering to fine tune answer style, context and content.

< Back to Table of Contents

Test Equipment

Test Equipment

6 stories
  1. Arduino Servo/ESC Tester. A four part series about building a multiprotocol Servo and ESC Tester based on the Arduino UNO and Mega. The firmware includes the following communication protocols: PWM, FastPWM, OneShot125 and DShot.
  2. Salae Logic & Protocol Analyzer 8 — A Review and Tutorial. A logic analyzer is an instrument that captures and displays multiple signals from a digital system or digital circuit.
  3. LCR-T4 Mega328 Component Tester. It measures components, including resistors (and potentiometers), inductors, capacitors, diodes, dual diodes , transistors (including MOS), SCR’s, regulators, LED’s, and even ESR.

< Back to Table of Contents

Printed Circuit Board (PCB) Design

PCB Design

5 stories
  1. Using EasyEDA to design and build a PCB. Using EasyEDA to design and fabricate a Printed Circuit Board (PCB) with both through hole and surface mount components.
  2. Creating a custom EasyEDA Part. When designing there is a chance that the part you want isn’t in the library and hence has no schematic symbol or PCB footprint. In this situation, you need to create your own custom part and add it to the library.
  3. Custom Arduino Shield in Fritzing. A tutorial on how to create an Arduino UNO shield using Fritzing.

< Back to Table of Contents

Raspberry Pi Development

Raspberry Pi Development

8 stories
  1. BirdNET-Pi: Using AI to identify Birds from their Songs. Setting up your Pi, the microphone and configuring the software.
  2. Setting Up a Raspberry Pi Web Kiosk. Monitor a web site with your Pi and automatically refresh the page at a set interval.
  3. Arduino Sonar Display using Processing. Ultrasonic obstacle detection using an Arduino UNO and visualisation using a Raspberry Pi.
  4. Node Red Dashboard for Raspberry Pi. Node-RED is a programming tool for wiring together hardware devices, APIs and online services. It was developed as a visual programming tool for the Internet of Things.
  5. HC-SR04 Ultrasonic Sensor Python Class for Raspberry Pi. The SR04 ultrasonic ranging module provides 2cm — 400cm non-contact measurement, with ranging accuracy up to 3mm.
  6. Raspberry Pi Console Matrix Screensaver. Examples using xscreensaver and cmatrix.
  7. Flight Tracking (ADS-B) using the Raspberry Pi.

< Back to Table of Contents

iOS Development

iOS Development

13 stories
  1. Loading 3D Models in SceneKit. With the introduction of the 3D Framework, SceneKit, it is simple to load and display a 3D model in iOS or macOS.
  2. Creating Custom SF Symbols. Using vector images in Xcode.
  3. iOS App Screenshots and Video Previews for App Store Connect. For those of us (like me) who can’t remember which iPhone/iPad size to use for your screenshots and video previews.
  4. The Care & Feeding of Your Developer. How to specify your app requirements so a developer has the best chance of delivering your vision.
  5. Does your business need an app? What are five ways that you can harness the power of mobile apps?
  6. Development Complexity & Price. It is difficult to calculate how difficult an app will be to build, but it can be useful to know this when developing a quote.
  7. Code Signing your iOS Sticker Packs. Because I keep forgetting how…
  8. Visual Aircraft Forecasts. A NEW iOS App from Reefwing Software
    Shameless marketing blurb follows…
  9. The iOS Developer Update Cycle. Apple forces you to update your apps every few years. This is a good and bad thing.
  10. Apple iMessage Sticker Update Hell! The ongoing upgrade nightmare continues.
  11. Unnecessary Forced “App” Updates. Apple keeps changing things which means more work for iOS developers.

< Back to Table of Contents

Web Development

Web Development

1 story
  1. Reset your WordPress Password using phpMyAdmin. So I can remember…

< Back to Table of Contents

Retirement

Retirement

4 stories
  1. Do you want to retire at 50? The answer depends on your definition of retirement.
  2. Retirement is not what you expect. You need to prepare for retirement and it takes years to make the transition.
  3. Retirement after 3 years. Six observations on the journey so far…
  4. Developing a Vineyard. What not to do… It all started, in June 2000. After surviving the Y2K apocalypse we were ready for anything.

< Back to Table of Contents

If you enjoyed these articles and would like to help support my writing, then please subscribe to become a Medium Member. I will get a portion of your subscription fee and you get access to every story on Medium. Alternatively, you can buy me a coffee!

--

--

David Such

Reefwing Software · Embedded Systems Engineer · iOS & AI Development · Robotics · Drones · Arduino · Raspberry Pi · Flight Control