How to merge two Garmin .fit files and upload to Strava on Ubuntu
First, install gpsbabel and (optionally) gpxviewer. sudo apt install gpsbabel gpxviewer Now, use gpsbabel to combine the two .fit files into a single .gpx file. gpsbabel -i garmin_fit -f B3781326.FIT...
View ArticleGenerating variations on a code analysis question in a Brightspace quiz
NB This post is a work in progress. Download example files: example_question.zip This post documents the process I used to programmatically generate multiple variations on a quiz question for the...
View ArticleUsing a serial byte sent from an Arduino to launch an application on the PC
One of my students is building an Arduino-based robotic system that needs to run a program on the PC to do some image capture. The Python script below bridges the gap. It opens a serial port (you need...
View ArticleUsing ffmpeg to take a snapshot with a webcam in Windows
I downloaded the BtbN Windows build of ffmpeg from here: https://github.com/BtbN/FFmpeg-Builds/releases The specific file I downloaded was: ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-4.4.zip (download) I...
View ArticlePRBS visualisation in the style of turtle graphics
Having just watched two great Numberphile videos with Matt Henderson (1, 2), I was inspired to try visualising a PRBS in the style of turtle graphics. Below is my first quick experiment. The sequence...
View ArticleMore PRBS turtle graphics
In this plot, four cycles of PRBS-15 are shown. Like all PRBS sequences generated using a linear feedback shift register (LFSR), this binary sequence is periodic with a period of 32767 bits. The...
View ArticleInstalling VirtualBox on Debian 11
Install VirtualBox Go to this page: https://www.virtualbox.org/wiki/Linux_Downloads Download this file:...
View ArticleRunning Arduino IDE in a Debian Live session
The Arduino IDE requires access to the serial port (/dev/ttyUSB0 on my machine) to upload a sketch to the Arduino. In a Debian Live session, the default user (“user”) doesn’t have permission to access...
View ArticleArduino Nano Timer 1 interrupt example for 100 Hz sampling
100 Hz sampling using Timer 1 interrupt // // Arduino Nano interrupt example // This program uses the Timer 1 interrupt to implement // 100 Hz sampling on pin A0. The Timer 1 interrupt service //...
View ArticleSet timezone to Europe/Dublin at command line in Debian Live
To list timezones: timedatectl list-timezones To set timezone to Europe/Dublin: sudo timedatectl set-timezone Europe/Dublin
View Article