How to get the current time from an NTP Server using an Arduino, ESP32, or ESP8266 [shorts #4]

Arduino-based clock projects are a staple in the maker and DIY community, and I’ve built a few ones myself. Such projects typically incorporate a real-time clock (RTC) module that keeps track of the time. However, once the battery on the RTC module runs flat, it forgets the previously set time. Another option involves adding a few push buttons to allow users to set the time. The Arduino itself keeps track of the time as long as it’s plugged into a power supply, and it forgets the settings once you disconnect it from the power source. This short article discusses a third option that allows you to make your clock projects much more user-friendly by automatically setting and adjusting the time when necessary.

Continue reading How to get the current time from an NTP Server using an Arduino, ESP32, or ESP8266 [shorts #4]

Writing a Quick and Easy Thread-Monitor (Watchdog) in Python [shorts #1]

A thread-monitor, often also referred to as a watchdog, is extremely helpful when building multi-threaded and reliable applications. In its simplest form, a watchdog should detect when one or more threads hang or crash, and it should restart the problematic threads if necessary. Depending on your use-case, you could implement this helper in a variety of ways, and you could add many more features such as a heartbeat function that allows each thread to report its progress to the monitor.

Continue reading Writing a Quick and Easy Thread-Monitor (Watchdog) in Python [shorts #1]

How to use interrupts on the LPC55S69 powered Okdo E1

In the last article, I summarized the process of enabling and using GPIO pins on the Okdo E1 by configuring the MCU in the MCUXpresso IDE. This time, I’ll enable pin interrupts that allow an application to react to various events.

Continue reading How to use interrupts on the LPC55S69 powered Okdo E1

How to use the GPIO pins on the LPC55S69 powered Okdo E1

Over the last couple of years, I’ve utilized a few different Arduino, Raspberry Pi, and other Linux based hobbyist development boards, like the BeagleBone Black, for many of my projects. I, however, never used other microcontroller boards that weren’t Arduino compatible. Recently, I started experimenting with the Okdo E1, a development board that’s powered by the LPC55S69, a very capable NXP microcontroller.

Continue reading How to use the GPIO pins on the LPC55S69 powered Okdo E1

Arduino MKR Vidor 4000 Verilog FPGA and MCU hello world tutorial

This article discusses how user code can be uploaded to both, the MCU and the FPGA, of the Arduino MKR Vidor 4000. Some time ago, I wrote this summary of the topic which, however, didn’t include an easy to follow tutorial. Instead, it was more of an outline aimed at more experienced users. However, today I tried to re-create the steps, and I noticed that the original article wasn’t as simple to follow for beginners as I’d have liked it to be.

Continue reading Arduino MKR Vidor 4000 Verilog FPGA and MCU hello world tutorial

Simple Swinging Power Lines and Ropes in Unity

I wanted to create dynamic power lines for a game that I’ve been working on in Unity for the last few weeks. I couldn’t find a solution that satisfied my requirements, and so I decided to implement a custom solution, which I wanted to share with you.

Continue reading Simple Swinging Power Lines and Ropes in Unity

How to program an arcball (orbiting) camera in Unity using spherical coordinates

A while ago, I wrote this article about a simple implementation of an Arcball camera in C++. In it, I described how that could get done without using Quaternions, spherical coordinates, or a lookAt function. Anyway, just out of curiosity, I decided to create a minimal implementation of an orbiting arcball camera in C# using spherical coordinates.

Continue reading How to program an arcball (orbiting) camera in Unity using spherical coordinates