Recent Posts
Datalogger / Flight Recorder
One feature of most commercial altimeters is to record a variety of data during flight, such as temperature, altitude, speed, angle, etc.. Of course, to accomplish this, some persistent non-volatile storage is needed. A MicroSD card seems like it would be a reasonable solution, it has a large storage capacity relative to the information being recorded. MicroSD cards are very small and durable. There are some limitations due to the Arduino hardware itself, and within libraries that I've found that the interface for MicroSD will leave some to be desired. sketchbook.ino datalogger.h #include <SD.h>; class Datalogger { public: Datalogger(int sd_pin, char filename[]); void println(const char message[]); void print(const char message[]); void print(const char c); bool isReady(); bool tryOpen(); void setFilename(char next[]); char* getFilename(); void roll(int year, int month, int day, int hour, int minute); void disable(); void close(); private: // char* filename; char filename[15]; // String _file; int sd_pin; ...

Cubecell HTCC-AB02S
CubeCell HTCC-AB02S HTCC-AB02S is a Dev-Board. Already integrated AIR530Z GPS module, friendly designed for developers, easy to verify communication solutions. I found this board by browsing around for an integrated solution that has GPS, Radio, and display capabilities. Getting the libraries working took some effort, but it has been worth it. The CubeCell HTCC-AB02S is LoRa capable out-of-the-box, and eventually I will invest more time in understanding the proper usage of the protocol. In my project I took a very naive approach, please be advised this is probably not an optimal solution. I purchased two of these boards, one to act as a beacon/transmitter that chirps out it's current GPS coordinates every few seconds. The second board I programmed as a receiver and it computes the distance and bearing to the beacon and displays information on the LCD screen. Product Link CubeCell – GPS-6502 ezradio.h #include "Arduino.h" #include "LoRaWan_APP.h" #define ...

Joystick Example
sketchbook.ino #include "thumbstick.h" // set pin numbers for switch, joystick axes, and LED: const int switchPin = 6; // switch to turn on and off mouse control const int xAxis = A0; // joystick X axis pin const int yAxis = A1; // joystick Y axis pin class MenuListener { public: bool press(); void release(const int ms); }; bool MenuListener::press() { return true; } void MenuListener::release(const int ms) { if (ms > 7000) { // system reset Serial.println("RESET"); } else if (ms > 3000) { // extra Serial.println("Extra"); } else { // normal click release, take some action. Serial.println("Select"); } } // Singleton instances MenuListener menuListener = MenuListener(); ThumbstickButton button = ThumbstickButton(6, xAxis, yAxis, (PressButton)&menuListener.press, (ReleaseButton)&menuListener.release); void setup() { Serial.begin(115200); } void loop() { if (button.pushed()) { } ThumbstickPosition p = button.position(); if (p.x != 0 || p.y != 0) { char jxy[30]; sprintf(jxy, "%i,%i %i,%i\0", p.x, p.y, p.dx, p.dy); ...
Nothing from Sunday October 5, 2025 to Friday December 5, 2025.