3D printing

The Creality Ender 3 Pro

Brief notes on setting up and simple printing with the Creality Ender 3 Pro 3D printer.

Martin Oldfield, 13 May 2020

40kHz

A breadboard-based IR receiver

Notes on an infra-red receiver for the breadboard.

Martin Oldfield, 20 May 2022

A PCB-based IR receiver

Notes on an PCB based infra-red receiver.

Martin Oldfield, 19 May 2022

An IR transmitter for the Birdhouse

Notes on an infra-red transmitter suitable for outdoor deployment.

Martin Oldfield, 10 Mar 2022

An IR transmitter for testing

Notes on an infra-red transmitter based around the inexpensive Blue-Pill STM32F103 development boards.

Martin Oldfield, 23 Feb 2022

Games with IR comms

A few years ago, I explored sending Morse Code messages over an infra-red link. The ideas were incorporated in a geocache near Cambridge UK: to solve the puzzle the player has to build a simple detector for the IR signals.

Martin Oldfield, 26 Jan 2022

555

Jansjö dimmer

A simple dimmer for the Ikea Jansjö work lamp.

Martin Oldfield, 25 Nov 2017

74HC4060

Wakeup Timers

Experiments with a couple of low power wakeup timers.

Martin Oldfield, 24 Jan 2023

AArduino

The AArduino

Although the Arduino is very convenient, I wanted to build my own from parts you can buy from RS or Farnell. Rather than cloning the Arduino, I took the opportunity to make some changes: I removed the USB/Serial interface because I've got a ICSP programmer, but added crude support for dual AA battery support. The AA cells suggest a good name: the AArduino!

Martin Oldfield, 05 Jun 2013

AB testing

Bayesian AB-testing

Some thoughts on AB-testing in a Bayesian framework.

Martin Oldfield, 13 May 2018

AD9833

The AD9833

Fun with the AD9833 clock generator.

Martin Oldfield, 25 Oct 2018

AD9850

The AD9833

Fun with the AD9833 clock generator.

Martin Oldfield, 25 Oct 2018

Generating Lissajous Curves

Using a couple of AD9850s and an Arduino to plot Lissajous curves on an oscilloscope.

Martin Oldfield, 25 Aug 2015

ADSL

ADSL modem rebooting

Controlling things over Ethernet, here a hung ADSL modem, with the PIC Mini Web from Olimex. This is more of a brief sketch, to test the blogging software, than anything too deep or insightful.

Martin Oldfield, 05 Jun 2013

adt74x0

ADT74x0 temperature sensing

Analog Devices make some nice I²C temperature sensors, including the ADT7420 which is accurate to 0.25̣̣°C. Here’s a user space client for them.

Martin Oldfield, 10 Jun 2013

Amazon Web Services

YAUIoTL

Yet Another Useless Internet of Things Lamp.

Martin Oldfield, 04 Jul 2018

An ESP8266-based switch

A simple switch for my IoT light built around an ESP8266.

Martin Oldfield, 30 Jul 2017

Mongoose OS and the ESP8266

Brief notes on Mongoose OS, an operating system focussed on IoT applications, which good ESP8266 support.

Martin Oldfield, 11 Jul 2017

Apple

Illuminating Face ID

A quick look at Face ID illumination in the time domain.

Martin Oldfield, 01 Dec 2017

apple

Apple Cake

A recipe for apple cake.

Martin Oldfield, 05 Jun 2013

AppleScript

Importing tasks into OmniFocus

A simple command line program for importing tasks described by a YAML document into OmniFocus.

Martin Oldfield, 31 Aug 2013

applicative

Applicative IO

Some benefits to using the Applicative instance of IO, which I find particularly useful for casual use in ghci.

Martin Oldfield, 27 Apr 2017

Transpose and sequenceA

Notes towards an intuitive understanding of transpose in terms of sequenceA.

Martin Oldfield, 03 May 2016

Arduino

The AD9833

Fun with the AD9833 clock generator.

Martin Oldfield, 25 Oct 2018

Cheap XY plotting with Arduinos

Brief notes on making an XY display with a cheap Arduino clone and ILI9340 display.

Martin Oldfield, 25 Nov 2015

XY plotting with Arduinos

Brief notes on plotting y(t) against x(t) using an Arduino Uno.

Martin Oldfield, 30 Aug 2015

Generating Lissajous Curves

Using a couple of AD9850s and an Arduino to plot Lissajous curves on an oscilloscope.

Martin Oldfield, 25 Aug 2015

Leaving Arduino

Although the Arduino continues to provide good, cheap, development boards, I increasingly dislike the IDE and software framework. Here are some notes on moving away from it.

Martin Oldfield, 24 May 2014

Avrdude Cookbook

I find it hard to remember the options I need when calling avrdude, but I don’t know enough to work them out reliably every time. So, here’s my handy crib-sheet.

Martin Oldfield, 23 May 2014

Arduino from the command line

How to compile Arduino code from the command line.

Martin Oldfield, 29 Dec 2013

The AArduino

Although the Arduino is very convenient, I wanted to build my own from parts you can buy from RS or Farnell. Rather than cloning the Arduino, I took the opportunity to make some changes: I removed the USB/Serial interface because I've got a ICSP programmer, but added crude support for dual AA battery support. The AA cells suggest a good name: the AArduino!

Martin Oldfield, 05 Jun 2013

MacOS X and the Olimex AVR-ISP500

How to make the Olimex AVR-ISP500 work on MacOS 10.5.6: install version 1.005 of the firmware.

Martin Oldfield, 05 Jun 2013

ARM

ARM development on STM32

Basic notes on setting up development on ST’s STM32 ARM chips.

Martin Oldfield, 21 Feb 2019

Black Magic Probe on Nucleo

Explicit instructions for flashing the Black Magic Probe firmware onto the ST-Link part of a Nucleo dev board.

Martin Oldfield, 10 Aug 2018

Getting an ARM toolchain on MacOS 10.6

I'm starting to play with ARM microcontrollers, and building a toolchain is a necessary step. Here's a log of my experiences.

Martin Oldfield, 05 Jun 2013

Atari ST

Floppy Disks in 2023

Reading data from old floppy disks in 2023.

Martin Oldfield, 18 Oct 2023

Atmel

Leaving Arduino

Although the Arduino continues to provide good, cheap, development boards, I increasingly dislike the IDE and software framework. Here are some notes on moving away from it.

Martin Oldfield, 24 May 2014

Avrdude Cookbook

I find it hard to remember the options I need when calling avrdude, but I don’t know enough to work them out reliably every time. So, here’s my handy crib-sheet.

Martin Oldfield, 23 May 2014

Atmel pin macros

Brief notes on experimental macros for manipulating pins on AVR mega microcontrollers.

Martin Oldfield, 22 May 2014

TCP-IP v4.16 and Olimex flash

An easy way to patch recent versions (e.g. 4.16) of the Microchip PIC TCP-IP stack to work with the Atmel flash EEPROMs on Olimex boards.

Martin Oldfield, 05 Jun 2013

Audi

Audi MMI Waypoints

Brief notes on exporting waypoints to the Audi MMI in a 2014 A3.

Martin Oldfield, 23 Oct 2015

avahi

Raspberry Pi Identification

Being rather cheap little animals, Raspberry Pis tend to proliferate, and before long it’s hard to keep track of them all. Naming them helps, and software can make that more efficient.

Martin Oldfield, 29 Dec 2013

AVR

MacOS X and the Olimex AVR-ISP500

How to make the Olimex AVR-ISP500 work on MacOS 10.5.6: install version 1.005 of the firmware.

Martin Oldfield, 05 Jun 2013

avr-gcc

Leaving Arduino

Although the Arduino continues to provide good, cheap, development boards, I increasingly dislike the IDE and software framework. Here are some notes on moving away from it.

Martin Oldfield, 24 May 2014

AVR-ISP500

Avrdude Cookbook

I find it hard to remember the options I need when calling avrdude, but I don’t know enough to work them out reliably every time. So, here’s my handy crib-sheet.

Martin Oldfield, 23 May 2014

MacOS X and the Olimex AVR-ISP500

How to make the Olimex AVR-ISP500 work on MacOS 10.5.6: install version 1.005 of the firmware.

Martin Oldfield, 05 Jun 2013

avr-libc

Leaving Arduino

Although the Arduino continues to provide good, cheap, development boards, I increasingly dislike the IDE and software framework. Here are some notes on moving away from it.

Martin Oldfield, 24 May 2014

avrdude

Leaving Arduino

Although the Arduino continues to provide good, cheap, development boards, I increasingly dislike the IDE and software framework. Here are some notes on moving away from it.

Martin Oldfield, 24 May 2014

Avrdude Cookbook

I find it hard to remember the options I need when calling avrdude, but I don’t know enough to work them out reliably every time. So, here’s my handy crib-sheet.

Martin Oldfield, 23 May 2014

bars

Places to drink in Paris

Some brief notes on places to drink in Paris.

Martin Oldfield, 15 Aug 2014

Places to eat and drink in Copenhagen

Some brief notes on places to eat and drink in Copenhagen.

Martin Oldfield, 05 Jun 2013

batteries

The AArduino

Although the Arduino is very convenient, I wanted to build my own from parts you can buy from RS or Farnell. Rather than cloning the Arduino, I took the opportunity to make some changes: I removed the USB/Serial interface because I've got a ICSP programmer, but added crude support for dual AA battery support. The AA cells suggest a good name: the AArduino!

Martin Oldfield, 05 Jun 2013

battery

Car Battery Monitor

A simple gadget to warn me if my car battery is going flat.

Martin Oldfield, 17 Dec 2021

Bayes

Bayesian AB-testing

Some thoughts on AB-testing in a Bayesian framework.

Martin Oldfield, 13 May 2018

Gull’s Lighthouse

Gull’s 1988 Lighthouse problem, with an interactive demonstration.

Martin Oldfield, 29 Oct 2017

bison tubes

Magnetic Bison Tubes

How I make urban magnetic geocaches.

Martin Oldfield, 31 Oct 2018

Black Magic Probe

Black Magic Probe on Nucleo

Explicit instructions for flashing the Black Magic Probe firmware onto the ST-Link part of a Nucleo dev board.

Martin Oldfield, 10 Aug 2018

blinky

iCE40 Blinky

Brief notes on getting to Blinky on an iCE40 FPGA demo board.

Martin Oldfield, 03 Mar 2018

Blue-Pill

An IR transmitter for testing

Notes on an infra-red transmitter based around the inexpensive Blue-Pill STM32F103 development boards.

Martin Oldfield, 23 Feb 2022

bonjour

Raspberry Pi Identification

Being rather cheap little animals, Raspberry Pis tend to proliferate, and before long it’s hard to keep track of them all. Naming them helps, and software can make that more efficient.

Martin Oldfield, 29 Dec 2013

bus pirate

The Bus Pirate on MacOS

Self-help notes on using the bus pirate on MacOS—mainly links to other documentation.

Martin Oldfield, 05 Jun 2013

cake

Apple Cake

A recipe for apple cake.

Martin Oldfield, 05 Jun 2013

California

Places to eat in California

Some brief notes on places to eat in California.

Martin Oldfield, 29 Dec 2013

Canon

Canon lenses and the HQ camera

Fun and games with FD-Mount SLR lenses on the Raspberry Pi High Quality Camera.

Martin Oldfield, 12 Dec 2020

Church Numeral

Church Numerals

Fun and games with Church numerals in Haskell.

Martin Oldfield, 05 Jun 2013

CircuitPython

Car Battery Monitor

A simple gadget to warn me if my car battery is going flat.

Martin Oldfield, 17 Dec 2021

TinyS2 Power

Power measurements for the TinyS2, an ESP32-S2 board.

Martin Oldfield, 17 Nov 2021

Pi Pico Power

Power measurements for the Raspberry Pi Pico.

Martin Oldfield, 16 Nov 2021

Pi Pico Wireless

Aidés-memoires for using the Pimoroni Pico Wireless Pack.

Martin Oldfield, 13 Nov 2021

Simple SMTP from Python

How to send simple email from Python particular from embedded devices.

Martin Oldfield, 13 Nov 2021

coins

Bayesian AB-testing

Some thoughts on AB-testing in a Bayesian framework.

Martin Oldfield, 13 May 2018

command line

Arduino from the command line

How to compile Arduino code from the command line.

Martin Oldfield, 29 Dec 2013

Watchdog

Watchdog: automatically do things when files change.

Martin Oldfield, 05 Jun 2013

Copenhagen

Places to eat and drink in Copenhagen

Some brief notes on places to eat and drink in Copenhagen.

Martin Oldfield, 05 Jun 2013

CoreXY

The EleksMaker

Build and usage notes for an XY-plotter

Martin Oldfield, 14 Dec 2023

cryptsetup

Encrypted disks on Linux

Aidés-memoires for setting up an encrypted volume on Linux.

Martin Oldfield, 11 Jun 2020

CUPS

Printing from Linux in 2020

Aidés-memoires for setting up printing on a Linux box in 202.

Martin Oldfield, 11 Jun 2020

Current

TinyS2 Power

Power measurements for the TinyS2, an ESP32-S2 board.

Martin Oldfield, 17 Nov 2021

Pi Pico Power

Power measurements for the Raspberry Pi Pico.

Martin Oldfield, 16 Nov 2021

D2FC-F-7N

Replacing a Logitech Mouse Button

How to fix a dodgy button on a Logitech mouse: the key was finding a replacement for the Omron D2FC-F-7N.

Martin Oldfield, 05 Jun 2013

Debian

Etch to lenny upgrades on Xen

I have a bunch of virtual Debian machines on a Xen box. When they were installed I used etch, but I've just moved one domU to lenny: here's my crib sheet. I suspect it won't be generally useful.

Martin Oldfield, 05 Jun 2013

Devicetree

A HomeKit Light

A very simple, HomeKit compatible, light.

Martin Oldfield, 02 Aug 2018

A HomeKit Enviro pHAT Sensor

Publishing sensor data (temperature and ambient-light level) from the Raspberry Pi Enviro pHAT to HomeKit.

Martin Oldfield, 01 Aug 2018

YAUIoTL

Yet Another Useless Internet of Things Lamp.

Martin Oldfield, 04 Jul 2018

Devicetree on the Raspberry Pi

Using Devicetree (particularly) on the Raspberry Pi.

Martin Oldfield, 29 Jun 2018

Diagrams

Diagrams with Haskell

Thoughts on using Haskell

Martin Oldfield, 13 Aug 2020

dice

Waiting for six

Brief thoughts on a dice-rolling question in David MacKay’s book.

Martin Oldfield, 29 Jun 2017

dimmer

Jansjö dimmer

A simple dimmer for the Ikea Jansjö work lamp.

Martin Oldfield, 25 Nov 2017

dipole

Simple Dipole Interactions II

A better model for magnets.

Martin Oldfield, 07 Mar 2018

Simple Dipole Interactions

A simple model to explore the best arrangement for magnets near metal.

Martin Oldfield, 07 Mar 2018

display

Cheap XY plotting with Arduinos

Brief notes on making an XY display with a cheap Arduino clone and ILI9340 display.

Martin Oldfield, 25 Nov 2015

MinnowBoard Max: Display

A LCD display for the MinnowBoard Max.

Martin Oldfield, 17 Feb 2015

EF-Mount

Canon lenses and the HQ camera

Fun and games with FD-Mount SLR lenses on the Raspberry Pi High Quality Camera.

Martin Oldfield, 12 Dec 2020

electronics

An Intervalometer

A simple intervalometer driven by a PIC microcontroller.

Martin Oldfield, 18 Jan 2015

Atmel pin macros

Brief notes on experimental macros for manipulating pins on AVR mega microcontrollers.

Martin Oldfield, 22 May 2014

SSR in a box

Brief notes on putting a solid-state relay in a box.

Martin Oldfield, 29 Apr 2014

A NTP driven Nixie Clock

A Nixie clock which gets its time from a Raspberry Pi pretending to be a GPS receiver.

Martin Oldfield, 29 Dec 2013

The AArduino

Although the Arduino is very convenient, I wanted to build my own from parts you can buy from RS or Farnell. Rather than cloning the Arduino, I took the opportunity to make some changes: I removed the USB/Serial interface because I've got a ICSP programmer, but added crude support for dual AA battery support. The AA cells suggest a good name: the AArduino!

Martin Oldfield, 05 Jun 2013

A Coordinate Decoder

A simple PIC-based coordinate decoder for geocache puzzles.

Martin Oldfield, 05 Jun 2013

Stripboard Templates

A simple Perl script to generate blank stripboard templates.

Martin Oldfield, 05 Jun 2013

EleksMaker

The EleksMaker

Build and usage notes for an XY-plotter

Martin Oldfield, 14 Dec 2023

email

Car Battery Monitor

A simple gadget to warn me if my car battery is going flat.

Martin Oldfield, 17 Dec 2021

Ender 3

The Creality Ender 3 Pro

Brief notes on setting up and simple printing with the Creality Ender 3 Pro 3D printer.

Martin Oldfield, 13 May 2020

Enviro pHAT

A HomeKit Enviro pHAT Sensor

Publishing sensor data (temperature and ambient-light level) from the Raspberry Pi Enviro pHAT to HomeKit.

Martin Oldfield, 01 Aug 2018

ESP32

LoRa and The Things Network

Initial experiments talking to The Things Network with a LILYGO T-Beam over LoRa.

Martin Oldfield, 05 Jul 2022

Car Battery Monitor

A simple gadget to warn me if my car battery is going flat.

Martin Oldfield, 17 Dec 2021

TinyS2 Power

Power measurements for the TinyS2, an ESP32-S2 board.

Martin Oldfield, 17 Nov 2021

Pi Pico Power

Power measurements for the Raspberry Pi Pico.

Martin Oldfield, 16 Nov 2021

Pi Pico Wireless

Aidés-memoires for using the Pimoroni Pico Wireless Pack.

Martin Oldfield, 13 Nov 2021

esp8266

An ESP8266-based switch

A simple switch for my IoT light built around an ESP8266.

Martin Oldfield, 30 Jul 2017

Mongoose OS and the ESP8266

Brief notes on Mongoose OS, an operating system focussed on IoT applications, which good ESP8266 support.

Martin Oldfield, 11 Jul 2017

The ESP8266

Brief notes on the ESP8266

Martin Oldfield, 07 Jul 2017

ethernet

ADSL modem rebooting

Controlling things over Ethernet, here a hung ADSL modem, with the PIC Mini Web from Olimex. This is more of a brief sketch, to test the blogging software, than anything too deep or insightful.

Martin Oldfield, 05 Jun 2013

Face ID

Illuminating Face ID

A quick look at Face ID illumination in the time domain.

Martin Oldfield, 01 Dec 2017

FastAPI

RESTful Hardware APIs

Putting hardware devices online via a REST API implemented with FastAPI.

Martin Oldfield, 08 Dec 2022

FD-Mount

Canon lenses and the HQ camera

Fun and games with FD-Mount SLR lenses on the Raspberry Pi High Quality Camera.

Martin Oldfield, 12 Dec 2020

Flash

TCP-IP v4.16 and Olimex flash

An easy way to patch recent versions (e.g. 4.16) of the Microchip PIC TCP-IP stack to work with the Atmel flash EEPROMs on Olimex boards.

Martin Oldfield, 05 Jun 2013

Floppy Disk

Floppy Disks in 2023

Reading data from old floppy disks in 2023.

Martin Oldfield, 18 Oct 2023

foldable

Transpose and sequenceA

Notes towards an intuitive understanding of transpose in terms of sequenceA.

Martin Oldfield, 03 May 2016

foreachE

foreachE and stack space

A solution to looping over lots of things in Eff without busting the stack when writing Purescript.

Martin Oldfield, 06 Oct 2017

FPGA

iCE40 Blinky on iCEstick

A brief walkthrough of making the LEDs flash on Lattice’s iCEstick demo board.

Martin Oldfield, 29 Jan 2019

Geocaching with FPGAs

A silly application for FPGAs: solving a niche class of geocaching puzzles.

Martin Oldfield, 24 May 2018

iCE40 Blinky

Brief notes on getting to Blinky on an iCE40 FPGA demo board.

Martin Oldfield, 03 Mar 2018

iCE40 tools

Brief notes on open-source tools for programming iCE40 FPGAs.

Martin Oldfield, 03 Mar 2018

iCE40 Blinky on the Olimex HX1K

A brief walkthrough of making the LEDs flash on Olimex’s iCE40HX-1K board.

Martin Oldfield, 02 Mar 2018

iCE40 Blinky on HX8K Breakout

A brief walkthrough of making the LEDs flash on Lattice’s iCE40HX-8K breakout board.

Martin Oldfield, 02 Mar 2018

framebuffer

MinnowBoard Max: Display

A LCD display for the MinnowBoard Max.

Martin Oldfield, 17 Feb 2015

functor

Transpose and sequenceA

Notes towards an intuitive understanding of transpose in terms of sequenceA.

Martin Oldfield, 03 May 2016

G-code

The EleksMaker

Build and usage notes for an XY-plotter

Martin Oldfield, 14 Dec 2023

Garmin

Faking geocaches in Garmin GPX files

Garmin GPS receivers have a special mode to handle geocaches, but it's not been clear to me how the gadget decides which waypoints are geocaches. These brief notes describe something which works for me.

Martin Oldfield, 05 Jun 2013

gcc

Getting an ARM toolchain on MacOS 10.6

I'm starting to play with ARM microcontrollers, and building a toolchain is a necessary step. Here's a log of my experiences.

Martin Oldfield, 05 Jun 2013

Geocaching

A breadboard-based IR receiver

Notes on an infra-red receiver for the breadboard.

Martin Oldfield, 20 May 2022

A PCB-based IR receiver

Notes on an PCB based infra-red receiver.

Martin Oldfield, 19 May 2022

An IR transmitter for the Birdhouse

Notes on an infra-red transmitter suitable for outdoor deployment.

Martin Oldfield, 10 Mar 2022

An IR transmitter for testing

Notes on an infra-red transmitter based around the inexpensive Blue-Pill STM32F103 development boards.

Martin Oldfield, 23 Feb 2022

Games with IR comms

A few years ago, I explored sending Morse Code messages over an infra-red link. The ideas were incorporated in a geocache near Cambridge UK: to solve the puzzle the player has to build a simple detector for the IR signals.

Martin Oldfield, 26 Jan 2022

geocaching

Magnetic Bison Tubes

How I make urban magnetic geocaches.

Martin Oldfield, 31 Oct 2018

Geocaching with FPGAs

A silly application for FPGAs: solving a niche class of geocaching puzzles.

Martin Oldfield, 24 May 2018

Useful Geocaching Links

Helpful links for geocaching: particularly puzzle solving.

Martin Oldfield, 04 Jan 2018

Cheap XY plotting with Arduinos

Brief notes on making an XY display with a cheap Arduino clone and ILI9340 display.

Martin Oldfield, 25 Nov 2015

Finding Geocaches in English

A short program to find caches which are described in English. Very handy when caching abroad!

Martin Oldfield, 05 Jun 2013

Faking geocaches in Garmin GPX files

Garmin GPS receivers have a special mode to handle geocaches, but it's not been clear to me how the gadget decides which waypoints are geocaches. These brief notes describe something which works for me.

Martin Oldfield, 05 Jun 2013

A Coordinate Decoder

A simple PIC-based coordinate decoder for geocache puzzles.

Martin Oldfield, 05 Jun 2013

ghci

Applicative IO

Some benefits to using the Applicative instance of IO, which I find particularly useful for casual use in ghci.

Martin Oldfield, 27 Apr 2017

global-project

Haskell Toys

An attempt to abstract away the boilerplate when writing little command line toys in Haskell.

Martin Oldfield, 09 May 2016

Extra-project Stack

Brief notes on using the Haskell Tool Stack with local repositories, but without a specific project.

Martin Oldfield, 09 May 2016

GPIO

Devicetree on the Raspberry Pi

Using Devicetree (particularly) on the Raspberry Pi.

Martin Oldfield, 29 Jun 2018

MinnowBoard Max: GPIO

Controlling GPIO lines on the MinnowBoard Max.

Martin Oldfield, 18 Jan 2015

MinnowBoard Max: SPI

Controlling the SPI bus on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

MinnowBoard Max: LEDs

Using the Linux LED subsystem on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

MinnowBoard Max: PWM

Controlling the PWM drivers on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

gpsbabel

Filtering GPS tracks

In practice I find that the tracklogs stored by my Garmin GPS receiver are quite noisy. gpsbabel easily filters the data, but having forgotten the relevant rules once, I thought I'd document them here.

Martin Oldfield, 05 Jun 2013

GPX

Filtering GPS tracks

In practice I find that the tracklogs stored by my Garmin GPS receiver are quite noisy. gpsbabel easily filters the data, but having forgotten the relevant rules once, I thought I'd document them here.

Martin Oldfield, 05 Jun 2013

Faking geocaches in Garmin GPX files

Garmin GPS receivers have a special mode to handle geocaches, but it's not been clear to me how the gadget decides which waypoints are geocaches. These brief notes describe something which works for me.

Martin Oldfield, 05 Jun 2013

grbl

The EleksMaker

Build and usage notes for an XY-plotter

Martin Oldfield, 14 Dec 2023

Greaseweazle

Floppy Disks in 2023

Reading data from old floppy disks in 2023.

Martin Oldfield, 18 Oct 2023

H.264

Raspberry Pi Streaming video

Notes on streaming video from a Raspberry Pi camera to MacOS X and iOS devices.

Martin Oldfield, 15 Dec 2013

Haskell

A nice Haskell snippet

A succinct Haskell snippet using the View Patterns extension. PWM module.

Martin Oldfield, 16 Jun 2023

Monoids in Haskell

Brief notes on monoids in Haskell.

Martin Oldfield, 07 Sep 2020

Diagrams with Haskell

Thoughts on using Haskell

Martin Oldfield, 13 Aug 2020

PureScript

Notes on PureScript.

Martin Oldfield, 11 Nov 2017

Waiting for six

Brief thoughts on a dice-rolling question in David MacKay’s book.

Martin Oldfield, 29 Jun 2017

Applicative IO

Some benefits to using the Applicative instance of IO, which I find particularly useful for casual use in ghci.

Martin Oldfield, 27 Apr 2017

Haskell Toys

An attempt to abstract away the boilerplate when writing little command line toys in Haskell.

Martin Oldfield, 09 May 2016

Extra-project Stack

Brief notes on using the Haskell Tool Stack with local repositories, but without a specific project.

Martin Oldfield, 09 May 2016

OrUnit

Simple experiments with polymorphic return types in Haskell.

Martin Oldfield, 04 May 2016

Transpose and sequenceA

Notes towards an intuitive understanding of transpose in terms of sequenceA.

Martin Oldfield, 03 May 2016

Monads in Haskell: ((->) r)

Brief notes on the ((->) r) monad in Haskell.

Martin Oldfield, 30 Mar 2016

Monads in Haskell: Lists &c.

Brief notes on the list and similar monads in Haskell.

Martin Oldfield, 25 Mar 2015

Monads in Haskell: Algebra

Brief notes on the algebraic side of monads in Haskell.

Martin Oldfield, 30 Aug 2014

Monads in Haskell: Reader

Brief notes on the reader monad in Haskell.

Martin Oldfield, 30 Aug 2014

Church Numerals

Fun and games with Church numerals in Haskell.

Martin Oldfield, 05 Jun 2013

A Coordinate Decoder

A simple PIC-based coordinate decoder for geocache puzzles.

Martin Oldfield, 05 Jun 2013

Haskell qua calculator

Although Haskell is a fine language for hard-core programming, it’s increasing my tool of choice for trivial arithmetic too.

Martin Oldfield, 05 Jun 2013

HDC1000

TI HDC1000 Evaluation

Brief notes on the HDC1000, a humidity and temperature sensor from Texas Instruments.

Martin Oldfield, 08 Aug 2015

HDMI capture card

HDMI capture cards as monitors

HDMI capture cards make a serviceable monitor for non-critical tasks. I find them ideal for watching a Raspberry Pi boot.

Martin Oldfield, 28 Oct 2023

High Quality Camera

Canon lenses and the HQ camera

Fun and games with FD-Mount SLR lenses on the Raspberry Pi High Quality Camera.

Martin Oldfield, 12 Dec 2020

HomeKit

A HomeKit Light

A very simple, HomeKit compatible, light.

Martin Oldfield, 02 Aug 2018

A HomeKit Enviro pHAT Sensor

Publishing sensor data (temperature and ambient-light level) from the Raspberry Pi Enviro pHAT to HomeKit.

Martin Oldfield, 01 Aug 2018

humidity

TI HDC1000 Evaluation

Brief notes on the HDC1000, a humidity and temperature sensor from Texas Instruments.

Martin Oldfield, 08 Aug 2015

I2C

TI HDC1000 Evaluation

Brief notes on the HDC1000, a humidity and temperature sensor from Texas Instruments.

Martin Oldfield, 08 Aug 2015

ADT74x0 temperature sensing

Analog Devices make some nice I²C temperature sensors, including the ADT7420 which is accurate to 0.25̣̣°C. Here’s a user space client for them.

Martin Oldfield, 10 Jun 2013

iCE40

iCE40 Blinky on iCEstick

A brief walkthrough of making the LEDs flash on Lattice’s iCEstick demo board.

Martin Oldfield, 29 Jan 2019

Geocaching with FPGAs

A silly application for FPGAs: solving a niche class of geocaching puzzles.

Martin Oldfield, 24 May 2018

iCE40 Blinky

Brief notes on getting to Blinky on an iCE40 FPGA demo board.

Martin Oldfield, 03 Mar 2018

iCE40 tools

Brief notes on open-source tools for programming iCE40 FPGAs.

Martin Oldfield, 03 Mar 2018

iCE40 Blinky on the Olimex HX1K

A brief walkthrough of making the LEDs flash on Olimex’s iCE40HX-1K board.

Martin Oldfield, 02 Mar 2018

iCE40 Blinky on HX8K Breakout

A brief walkthrough of making the LEDs flash on Lattice’s iCE40HX-8K breakout board.

Martin Oldfield, 02 Mar 2018

iCE40HX-1K

iCE40 Blinky on iCEstick

A brief walkthrough of making the LEDs flash on Lattice’s iCEstick demo board.

Martin Oldfield, 29 Jan 2019

iCE40 Blinky on the Olimex HX1K

A brief walkthrough of making the LEDs flash on Olimex’s iCE40HX-1K board.

Martin Oldfield, 02 Mar 2018

iCE40HX-8K

Geocaching with FPGAs

A silly application for FPGAs: solving a niche class of geocaching puzzles.

Martin Oldfield, 24 May 2018

iCE40 Blinky on HX8K Breakout

A brief walkthrough of making the LEDs flash on Lattice’s iCE40HX-8K breakout board.

Martin Oldfield, 02 Mar 2018

ILI9340

Cheap XY plotting with Arduinos

Brief notes on making an XY display with a cheap Arduino clone and ILI9340 display.

Martin Oldfield, 25 Nov 2015

MinnowBoard Max: Display

A LCD display for the MinnowBoard Max.

Martin Oldfield, 17 Feb 2015

Infra-red

A breadboard-based IR receiver

Notes on an infra-red receiver for the breadboard.

Martin Oldfield, 20 May 2022

A PCB-based IR receiver

Notes on an PCB based infra-red receiver.

Martin Oldfield, 19 May 2022

An IR transmitter for the Birdhouse

Notes on an infra-red transmitter suitable for outdoor deployment.

Martin Oldfield, 10 Mar 2022

An IR transmitter for testing

Notes on an infra-red transmitter based around the inexpensive Blue-Pill STM32F103 development boards.

Martin Oldfield, 23 Feb 2022

Games with IR comms

A few years ago, I explored sending Morse Code messages over an infra-red link. The ideas were incorporated in a geocache near Cambridge UK: to solve the puzzle the player has to build a simple detector for the IR signals.

Martin Oldfield, 26 Jan 2022

Intervalometer

An Intervalometer

A simple intervalometer driven by a PIC microcontroller.

Martin Oldfield, 18 Jan 2015

Time-lapse photography

Brief notes on making time-lapse movies with a DSLR camera.

Martin Oldfield, 05 Jun 2013

IoT

A HomeKit Light

A very simple, HomeKit compatible, light.

Martin Oldfield, 02 Aug 2018

A HomeKit Enviro pHAT Sensor

Publishing sensor data (temperature and ambient-light level) from the Raspberry Pi Enviro pHAT to HomeKit.

Martin Oldfield, 01 Aug 2018

YAUIoTL

Yet Another Useless Internet of Things Lamp.

Martin Oldfield, 04 Jul 2018

An ESP8266-based switch

A simple switch for my IoT light built around an ESP8266.

Martin Oldfield, 30 Jul 2017

Mongoose OS and the ESP8266

Brief notes on Mongoose OS, an operating system focussed on IoT applications, which good ESP8266 support.

Martin Oldfield, 11 Jul 2017

iPhone

Illuminating Face ID

A quick look at Face ID illumination in the time domain.

Martin Oldfield, 01 Dec 2017

JCL

Printing Problems

Brief notes on problems with printers. oscilloscope.

Martin Oldfield, 18 Jan 2016

Juicy Pixels

Haskell Toys

An attempt to abstract away the boilerplate when writing little command line toys in Haskell.

Martin Oldfield, 09 May 2016

kernel

MinnowBoard Max: GPIO

Controlling GPIO lines on the MinnowBoard Max.

Martin Oldfield, 18 Jan 2015

Kernel Munging Cookbook

Some recipes I find useful when mucking around with the Linux kernel.

Martin Oldfield, 30 Dec 2014

MinnowBoard Max: SPI

Controlling the SPI bus on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

MinnowBoard Max: LEDs

Using the Linux LED subsystem on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

MinnowBoard Max: PWM

Controlling the PWM drivers on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

Keysight

Networked scopes and MacOS

Brief notes on using a networked Keysight oscilloscope with MacOS X.

Martin Oldfield, 17 Aug 2015

The Keysight U1272A and MacOS

Brief notes on reading data from an Keysight U1272A multimeter from MacOS.

Martin Oldfield, 22 Jun 2015

Lake District

Places to eat in the Lake District

Some brief notes on places to eat in the Lake District taken on a trip in September 2008.

Martin Oldfield, 05 Jun 2013

language model

Finding Geocaches in English

A short program to find caches which are described in English. Very handy when caching abroad!

Martin Oldfield, 05 Jun 2013

A Toy Language Model

I wanted a toy language model so that I could write software which would identify the language of text.

The motivation for this is simple: given a list of geocaches, which ones have descriptions which I can understand!

Martin Oldfield, 05 Jun 2013

LEDs

iCE40 Blinky on iCEstick

A brief walkthrough of making the LEDs flash on Lattice’s iCEstick demo board.

Martin Oldfield, 29 Jan 2019

YAUIoTL

Yet Another Useless Internet of Things Lamp.

Martin Oldfield, 04 Jul 2018

Devicetree on the Raspberry Pi

Using Devicetree (particularly) on the Raspberry Pi.

Martin Oldfield, 29 Jun 2018

Geocaching with FPGAs

A silly application for FPGAs: solving a niche class of geocaching puzzles.

Martin Oldfield, 24 May 2018

iCE40 Blinky

Brief notes on getting to Blinky on an iCE40 FPGA demo board.

Martin Oldfield, 03 Mar 2018

iCE40 Blinky on the Olimex HX1K

A brief walkthrough of making the LEDs flash on Olimex’s iCE40HX-1K board.

Martin Oldfield, 02 Mar 2018

iCE40 Blinky on HX8K Breakout

A brief walkthrough of making the LEDs flash on Lattice’s iCE40HX-8K breakout board.

Martin Oldfield, 02 Mar 2018

MinnowBoard Max: LEDs

Using the Linux LED subsystem on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

lighthouse

Gull’s Lighthouse

Gull’s 1988 Lighthouse problem, with an interactive demonstration.

Martin Oldfield, 29 Oct 2017

LILYGO

LoRa and The Things Network

Initial experiments talking to The Things Network with a LILYGO T-Beam over LoRa.

Martin Oldfield, 05 Jul 2022

Linux

Encrypted disks on Linux

Aidés-memoires for setting up an encrypted volume on Linux.

Martin Oldfield, 11 Jun 2020

Printing from Linux in 2020

Aidés-memoires for setting up printing on a Linux box in 202.

Martin Oldfield, 11 Jun 2020

YAUIoTL

Yet Another Useless Internet of Things Lamp.

Martin Oldfield, 04 Jul 2018

Devicetree on the Raspberry Pi

Using Devicetree (particularly) on the Raspberry Pi.

Martin Oldfield, 29 Jun 2018

Diffing directories

How I compare big directories.

Martin Oldfield, 29 Oct 2017

Kernel Munging Cookbook

Some recipes I find useful when mucking around with the Linux kernel.

Martin Oldfield, 30 Dec 2014

Linux WiFi configuration

Aidés-memoires for configuring WiFi on a Raspberry Pi.

Martin Oldfield, 05 Jun 2013

LiPo

Low-power LiPo Light controller

A toy project to get some experience of low-power design: LiPo powered shed lights with a battery protector.

Martin Oldfield, 03 Feb 2016

Lissajous

Generating Lissajous Curves

Using a couple of AD9850s and an Arduino to plot Lissajous curves on an oscilloscope.

Martin Oldfield, 25 Aug 2015

logging

The Keysight U1272A and MacOS

Brief notes on reading data from an Keysight U1272A multimeter from MacOS.

Martin Oldfield, 22 Jun 2015

The TTi TF930 and MacOS

Brief notes on reading data from a TTi TF930 3GHz counter from MacOS.

Martin Oldfield, 05 Jun 2013

Logitech

Replacing a Logitech Mouse Button

How to fix a dodgy button on a Logitech mouse: the key was finding a replacement for the Omron D2FC-F-7N.

Martin Oldfield, 05 Jun 2013

London

Places to eat in London

Some brief notes on places to eat in London.

Martin Oldfield, 17 Aug 2022

LoRa

LoRa and The Things Network

Initial experiments talking to The Things Network with a LILYGO T-Beam over LoRa.

Martin Oldfield, 05 Jul 2022

Low power

Low-power LiPo Light controller

A toy project to get some experience of low-power design: LiPo powered shed lights with a battery protector.

Martin Oldfield, 03 Feb 2016

LTC2956

Wakeup Timers

Experiments with a couple of low power wakeup timers.

Martin Oldfield, 24 Jan 2023

MacKay

Waiting for six

Brief thoughts on a dice-rolling question in David MacKay’s book.

Martin Oldfield, 29 Jun 2017

MacOS

Diffing directories

How I compare big directories.

Martin Oldfield, 29 Oct 2017

Networked scopes and MacOS

Brief notes on using a networked Keysight oscilloscope with MacOS X.

Martin Oldfield, 17 Aug 2015

The Keysight U1272A and MacOS

Brief notes on reading data from an Keysight U1272A multimeter from MacOS.

Martin Oldfield, 22 Jun 2015

The Bus Pirate on MacOS

Self-help notes on using the bus pirate on MacOS—mainly links to other documentation.

Martin Oldfield, 05 Jun 2013

The TTi TF930 and MacOS

Brief notes on reading data from a TTi TF930 3GHz counter from MacOS.

Martin Oldfield, 05 Jun 2013

Perl and Xcode 4

I just bought a new Mac and installed Xcode 4 on it. However, I couldn't build any Perl modules with XS (bits of C) in them. Here's a solution!

Martin Oldfield, 05 Jun 2013

MacOS X and the Olimex AVR-ISP500

How to make the Olimex AVR-ISP500 work on MacOS 10.5.6: install version 1.005 of the firmware.

Martin Oldfield, 05 Jun 2013

magnets

Magnetic Bison Tubes

How I make urban magnetic geocaches.

Martin Oldfield, 31 Oct 2018

Simple Dipole Interactions II

A better model for magnets.

Martin Oldfield, 07 Mar 2018

Simple Dipole Interactions

A simple model to explore the best arrangement for magnets near metal.

Martin Oldfield, 07 Mar 2018

Makefile

Arduino from the command line

How to compile Arduino code from the command line.

Martin Oldfield, 29 Dec 2013

maths

2D line intersection

A brief note showing the way I derive the intersection of two lines, each defined by two points.

Martin Oldfield, 03 Apr 2016

measurement

The Keysight U1272A and MacOS

Brief notes on reading data from an Keysight U1272A multimeter from MacOS.

Martin Oldfield, 22 Jun 2015

The TTi TF930 and MacOS

Brief notes on reading data from a TTi TF930 3GHz counter from MacOS.

Martin Oldfield, 05 Jun 2013

Microchip

Low-power LiPo Light controller

A toy project to get some experience of low-power design: LiPo powered shed lights with a battery protector.

Martin Oldfield, 03 Feb 2016

TCP-IP v4.16 and Olimex flash

An easy way to patch recent versions (e.g. 4.16) of the Microchip PIC TCP-IP stack to work with the Atmel flash EEPROMs on Olimex boards.

Martin Oldfield, 05 Jun 2013

MicroPython

Pi Pico Wireless

Aidés-memoires for using the Pimoroni Pico Wireless Pack.

Martin Oldfield, 13 Nov 2021

Simple SMTP from Python

How to send simple email from Python particular from embedded devices.

Martin Oldfield, 13 Nov 2021

MinnowBoard Max

Seabass

A small, silent, MinnowBoard Max in a box.

Martin Oldfield, 18 Feb 2015

MinnowBoard Max: Display

A LCD display for the MinnowBoard Max.

Martin Oldfield, 17 Feb 2015

MinnowBoard Max: Basics

Brief notes on booting up a MinnowBoard Max.

Martin Oldfield, 30 Jan 2015

MinnowBoard Max: GPIO

Controlling GPIO lines on the MinnowBoard Max.

Martin Oldfield, 18 Jan 2015

MinnowBoard Max: SPI

Controlling the SPI bus on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

MinnowBoard Max: LEDs

Using the Linux LED subsystem on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

MinnowBoard Max: PWM

Controlling the PWM drivers on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

minty boost

The AArduino

Although the Arduino is very convenient, I wanted to build my own from parts you can buy from RS or Farnell. Rather than cloning the Arduino, I took the opportunity to make some changes: I removed the USB/Serial interface because I've got a ICSP programmer, but added crude support for dual AA battery support. The AA cells suggest a good name: the AArduino!

Martin Oldfield, 05 Jun 2013

MMI

Audi MMI Waypoints

Brief notes on exporting waypoints to the Audi MMI in a 2014 A3.

Martin Oldfield, 23 Oct 2015

Moment of Inertia

A Spinning Sphere

Calculating the moment of inertia of sphere. Overlong in itself, but hopefully a fine preliminary to the related calculation for a tetrahedron.

Martin Oldfield, 05 Jun 2013

A Turning Tetrahedron

The tetrahedron's a simple solid, but its moment of inertia isn't in the usual tables, so I thought I'd calculate it. There are two calculations here: one's straightforward but long, the other's short and cunning.

Martin Oldfield, 05 Jun 2013

Moments of Inertia

Some basic facts about the moment of inertia

Martin Oldfield, 05 Jun 2013

monad

Applicative IO

Some benefits to using the Applicative instance of IO, which I find particularly useful for casual use in ghci.

Martin Oldfield, 27 Apr 2017

monads

Monads in Haskell: ((->) r)

Brief notes on the ((->) r) monad in Haskell.

Martin Oldfield, 30 Mar 2016

Monads in Haskell: Lists &c.

Brief notes on the list and similar monads in Haskell.

Martin Oldfield, 25 Mar 2015

Monads in Haskell: Algebra

Brief notes on the algebraic side of monads in Haskell.

Martin Oldfield, 30 Aug 2014

Monads in Haskell: Reader

Brief notes on the reader monad in Haskell.

Martin Oldfield, 30 Aug 2014

Mongoose

An ESP8266-based switch

A simple switch for my IoT light built around an ESP8266.

Martin Oldfield, 30 Jul 2017

Mongoose OS and the ESP8266

Brief notes on Mongoose OS, an operating system focussed on IoT applications, which good ESP8266 support.

Martin Oldfield, 11 Jul 2017

monoids

Monoids in Haskell

Brief notes on monoids in Haskell.

Martin Oldfield, 07 Sep 2020

Diagrams with Haskell

Thoughts on using Haskell

Martin Oldfield, 13 Aug 2020

Morse Code

A breadboard-based IR receiver

Notes on an infra-red receiver for the breadboard.

Martin Oldfield, 20 May 2022

A PCB-based IR receiver

Notes on an PCB based infra-red receiver.

Martin Oldfield, 19 May 2022

An IR transmitter for the Birdhouse

Notes on an infra-red transmitter suitable for outdoor deployment.

Martin Oldfield, 10 Mar 2022

An IR transmitter for testing

Notes on an infra-red transmitter based around the inexpensive Blue-Pill STM32F103 development boards.

Martin Oldfield, 23 Feb 2022

Games with IR comms

A few years ago, I explored sending Morse Code messages over an infra-red link. The ideas were incorporated in a geocache near Cambridge UK: to solve the puzzle the player has to build a simple detector for the IR signals.

Martin Oldfield, 26 Jan 2022

Mouse

Replacing a Logitech Mouse Button

How to fix a dodgy button on a Logitech mouse: the key was finding a replacement for the Omron D2FC-F-7N.

Martin Oldfield, 05 Jun 2013

MPFS2

Perl tools for MPFS2

Recent versions of Microchip's TCP/IP stack (after version 4.11) use a new filing system and web server: MPFS2 and HTTP2. Microchip supply a Windows program, MPFS2.exe to manage things, but this is quite inconvenient for people on Linux or OS X. These Perl programs try to help.

Martin Oldfield, 05 Jun 2013

MSO-X 3034A

Networked scopes and MacOS

Brief notes on using a networked Keysight oscilloscope with MacOS X.

Martin Oldfield, 17 Aug 2015

MySQL

Unicode games with perl, MySQL, and XML

Not for the first time I wasted a few hours getting Unicode things to 'just work' in a Perl project which mixed XML and MySQL. Hopefully these notes will prevent another repetition.

Martin Oldfield, 05 Jun 2013

network

Networked scopes and MacOS

Brief notes on using a networked Keysight oscilloscope with MacOS X.

Martin Oldfield, 17 Aug 2015

Nixie

A NTP driven Nixie Clock

A Nixie clock which gets its time from a Raspberry Pi pretending to be a GPS receiver.

Martin Oldfield, 29 Dec 2013

NMEA

A NTP driven Nixie Clock

A Nixie clock which gets its time from a Raspberry Pi pretending to be a GPS receiver.

Martin Oldfield, 29 Dec 2013

NTP

A NTP driven Nixie Clock

A Nixie clock which gets its time from a Raspberry Pi pretending to be a GPS receiver.

Martin Oldfield, 29 Dec 2013

Nucleo

ARM development on STM32

Basic notes on setting up development on ST’s STM32 ARM chips.

Martin Oldfield, 21 Feb 2019

Black Magic Probe on Nucleo

Explicit instructions for flashing the Black Magic Probe firmware onto the ST-Link part of a Nucleo dev board.

Martin Oldfield, 10 Aug 2018

Olimex

The ESP8266

Brief notes on the ESP8266

Martin Oldfield, 07 Jul 2017

TCP-IP v4.16 and Olimex flash

An easy way to patch recent versions (e.g. 4.16) of the Microchip PIC TCP-IP stack to work with the Atmel flash EEPROMs on Olimex boards.

Martin Oldfield, 05 Jun 2013

MacOS X and the Olimex AVR-ISP500

How to make the Olimex AVR-ISP500 work on MacOS 10.5.6: install version 1.005 of the firmware.

Martin Oldfield, 05 Jun 2013

OmniFocus

Importing tasks into OmniFocus

A simple command line program for importing tasks described by a YAML document into OmniFocus.

Martin Oldfield, 31 Aug 2013

oscilloscope

XY plotting with oscilloscopes

Brief notes on plotting y(t) against x(t) using an oscilloscope.

Martin Oldfield, 19 Aug 2015

Networked scopes and MacOS

Brief notes on using a networked Keysight oscilloscope with MacOS X.

Martin Oldfield, 17 Aug 2015

Paris

Places to eat in Paris

Some brief notes on places to eat in Paris.

Martin Oldfield, 25 May 2022

Places to drink in Paris

Some brief notes on places to drink in Paris.

Martin Oldfield, 15 Aug 2014

patch

TCP-IP v4.16 and Olimex flash

An easy way to patch recent versions (e.g. 4.16) of the Microchip PIC TCP-IP stack to work with the Atmel flash EEPROMs on Olimex boards.

Martin Oldfield, 05 Jun 2013

PCL

Printing Problems

Brief notes on problems with printers. oscilloscope.

Martin Oldfield, 18 Jan 2016

PDF

Printing Problems

Brief notes on problems with printers. oscilloscope.

Martin Oldfield, 18 Jan 2016

Perl

Audi MMI Waypoints

Brief notes on exporting waypoints to the Audi MMI in a 2014 A3.

Martin Oldfield, 23 Oct 2015

Networked scopes and MacOS

Brief notes on using a networked Keysight oscilloscope with MacOS X.

Martin Oldfield, 17 Aug 2015

The Keysight U1272A and MacOS

Brief notes on reading data from an Keysight U1272A multimeter from MacOS.

Martin Oldfield, 22 Jun 2015

A NTP driven Nixie Clock

A Nixie clock which gets its time from a Raspberry Pi pretending to be a GPS receiver.

Martin Oldfield, 29 Dec 2013

Unicode games with perl, MySQL, and XML

Not for the first time I wasted a few hours getting Unicode things to 'just work' in a Perl project which mixed XML and MySQL. Hopefully these notes will prevent another repetition.

Martin Oldfield, 05 Jun 2013

The TTi TF930 and MacOS

Brief notes on reading data from a TTi TF930 3GHz counter from MacOS.

Martin Oldfield, 05 Jun 2013

Perl tools for MPFS2

Recent versions of Microchip's TCP/IP stack (after version 4.11) use a new filing system and web server: MPFS2 and HTTP2. Microchip supply a Windows program, MPFS2.exe to manage things, but this is quite inconvenient for people on Linux or OS X. These Perl programs try to help.

Martin Oldfield, 05 Jun 2013

Perl and Xcode 4

I just bought a new Mac and installed Xcode 4 on it. However, I couldn't build any Perl modules with XS (bits of C) in them. Here's a solution!

Martin Oldfield, 05 Jun 2013

Stripboard Templates

A simple Perl script to generate blank stripboard templates.

Martin Oldfield, 05 Jun 2013

Photography

Canon lenses and the HQ camera

Fun and games with FD-Mount SLR lenses on the Raspberry Pi High Quality Camera.

Martin Oldfield, 12 Dec 2020

Time-lapse photography

Brief notes on making time-lapse movies with a DSLR camera.

Martin Oldfield, 05 Jun 2013

PIC

Low-power LiPo Light controller

A toy project to get some experience of low-power design: LiPo powered shed lights with a battery protector.

Martin Oldfield, 03 Feb 2016

Playing with PICs on MacOS X

The tools I use when playing with PIC microcontrollers

Martin Oldfield, 26 Nov 2015

An Intervalometer

A simple intervalometer driven by a PIC microcontroller.

Martin Oldfield, 18 Jan 2015

TCP-IP v4.16 and Olimex flash

An easy way to patch recent versions (e.g. 4.16) of the Microchip PIC TCP-IP stack to work with the Atmel flash EEPROMs on Olimex boards.

Martin Oldfield, 05 Jun 2013

ADSL modem rebooting

Controlling things over Ethernet, here a hung ADSL modem, with the PIC Mini Web from Olimex. This is more of a brief sketch, to test the blogging software, than anything too deep or insightful.

Martin Oldfield, 05 Jun 2013

Perl tools for MPFS2

Recent versions of Microchip's TCP/IP stack (after version 4.11) use a new filing system and web server: MPFS2 and HTTP2. Microchip supply a Windows program, MPFS2.exe to manage things, but this is quite inconvenient for people on Linux or OS X. These Perl programs try to help.

Martin Oldfield, 05 Jun 2013

A Coordinate Decoder

A simple PIC-based coordinate decoder for geocache puzzles.

Martin Oldfield, 05 Jun 2013

pneumatics

A DIY Vacuum Pickup Tool

A cheap DIY vacuum pickup tool, helpful for SMD assembly.

Martin Oldfield, 24 Jun 2013

polymorphic

OrUnit

Simple experiments with polymorphic return types in Haskell.

Martin Oldfield, 04 May 2016

PostScript

Stripboard Templates

A simple Perl script to generate blank stripboard templates.

Martin Oldfield, 05 Jun 2013

Printer

Printing Problems

Brief notes on problems with printers. oscilloscope.

Martin Oldfield, 18 Jan 2016

Printing

Printing from Linux in 2020

Aidés-memoires for setting up printing on a Linux box in 202.

Martin Oldfield, 11 Jun 2020

probability

Bayesian AB-testing

Some thoughts on AB-testing in a Bayesian framework.

Martin Oldfield, 13 May 2018

Gull’s Lighthouse

Gull’s 1988 Lighthouse problem, with an interactive demonstration.

Martin Oldfield, 29 Oct 2017

Waiting for six

Brief thoughts on a dice-rolling question in David MacKay’s book.

Martin Oldfield, 29 Jun 2017

Sons and Daughters

Exploring why various forms of family management don’t lead to more boys.

Martin Oldfield, 14 Dec 2014

A Toy Language Model

I wanted a toy language model so that I could write software which would identify the language of text.

The motivation for this is simple: given a list of geocaches, which ones have descriptions which I can understand!

Martin Oldfield, 05 Jun 2013

PureScript

PureScript

Notes on PureScript.

Martin Oldfield, 11 Nov 2017

Purescript

Gull’s Lighthouse

Gull’s 1988 Lighthouse problem, with an interactive demonstration.

Martin Oldfield, 29 Oct 2017

foreachE and stack space

A solution to looping over lots of things in Eff without busting the stack when writing Purescript.

Martin Oldfield, 06 Oct 2017

PWM

Strobing with the Pico PWM

Building a crude stroboscope with the Raspberry Pi Pico’s PWM module.

Martin Oldfield, 14 Jun 2023

Devicetree on the Raspberry Pi

Using Devicetree (particularly) on the Raspberry Pi.

Martin Oldfield, 29 Jun 2018

Jansjö dimmer

A simple dimmer for the Ikea Jansjö work lamp.

Martin Oldfield, 25 Nov 2017

MinnowBoard Max: PWM

Controlling the PWM drivers on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

Python

RESTful Hardware APIs

Putting hardware devices online via a REST API implemented with FastAPI.

Martin Oldfield, 08 Dec 2022

Raspberry Pi

HDMI capture cards as monitors

HDMI capture cards make a serviceable monitor for non-critical tasks. I find them ideal for watching a Raspberry Pi boot.

Martin Oldfield, 28 Oct 2023

Canon lenses and the HQ camera

Fun and games with FD-Mount SLR lenses on the Raspberry Pi High Quality Camera.

Martin Oldfield, 12 Dec 2020

The AD9833

Fun with the AD9833 clock generator.

Martin Oldfield, 25 Oct 2018

A HomeKit Light

A very simple, HomeKit compatible, light.

Martin Oldfield, 02 Aug 2018

A HomeKit Enviro pHAT Sensor

Publishing sensor data (temperature and ambient-light level) from the Raspberry Pi Enviro pHAT to HomeKit.

Martin Oldfield, 01 Aug 2018

YAUIoTL

Yet Another Useless Internet of Things Lamp.

Martin Oldfield, 04 Jul 2018

Setting up a Raspberry Pi

Brief notes on building a new Raspberry Pi project. puzzles.

Martin Oldfield, 29 Jun 2018

Devicetree on the Raspberry Pi

Using Devicetree (particularly) on the Raspberry Pi.

Martin Oldfield, 29 Jun 2018

A NTP driven Nixie Clock

A Nixie clock which gets its time from a Raspberry Pi pretending to be a GPS receiver.

Martin Oldfield, 29 Dec 2013

Useful Raspberry Pi Links

Links I found useful when starting to play with the Raspberry Pi.

Martin Oldfield, 29 Dec 2013

The TM1638 & the Raspberry Pi

A tiny library to interface cheap TM1638 displays to the Raspberry Pi.

Martin Oldfield, 29 Dec 2013

Raspberry Pi Identification

Being rather cheap little animals, Raspberry Pis tend to proliferate, and before long it’s hard to keep track of them all. Naming them helps, and software can make that more efficient.

Martin Oldfield, 29 Dec 2013

Raspberry Pi Streaming video

Notes on streaming video from a Raspberry Pi camera to MacOS X and iOS devices.

Martin Oldfield, 15 Dec 2013

ADT74x0 temperature sensing

Analog Devices make some nice I²C temperature sensors, including the ADT7420 which is accurate to 0.25̣̣°C. Here’s a user space client for them.

Martin Oldfield, 10 Jun 2013

Linux WiFi configuration

Aidés-memoires for configuring WiFi on a Raspberry Pi.

Martin Oldfield, 05 Jun 2013

Raspberry Pi GPIO cable

A useful cable to connect the GPIO port to a breadboard.

Martin Oldfield, 05 Jun 2013

Raspberry Pi Pico

Strobing with the Pico PWM

Building a crude stroboscope with the Raspberry Pi Pico’s PWM module.

Martin Oldfield, 14 Jun 2023

Pi Pico Power

Power measurements for the Raspberry Pi Pico.

Martin Oldfield, 16 Nov 2021

Pi Pico Wireless

Aidés-memoires for using the Pimoroni Pico Wireless Pack.

Martin Oldfield, 13 Nov 2021

Simple SMTP from Python

How to send simple email from Python particular from embedded devices.

Martin Oldfield, 13 Nov 2021

recipe

Apple Cake

A recipe for apple cake.

Martin Oldfield, 05 Jun 2013

Starch Free Tiramisu

At a recent dinner party, one of my guests couldn't eat starch. This didn't seem compatible with my desire to serve tiramisu, but happily the lure of creamy coffee proved enough of an inspiration to find a solution: instead of coffee soaked sponge use coffee jelly.

Martin Oldfield, 05 Jun 2013

REST

RESTful Hardware APIs

Putting hardware devices online via a REST API implemented with FastAPI.

Martin Oldfield, 08 Dec 2022

restaurants

Places to eat in London

Some brief notes on places to eat in London.

Martin Oldfield, 17 Aug 2022

Places to eat in Paris

Some brief notes on places to eat in Paris.

Martin Oldfield, 25 May 2022

Places to eat on Skye

Some brief notes on places to eat on the Isle of Skye.

Martin Oldfield, 06 Sep 2021

Places to eat in California

Some brief notes on places to eat in California.

Martin Oldfield, 29 Dec 2013

Places to eat in the Lake District

Some brief notes on places to eat in the Lake District taken on a trip in September 2008.

Martin Oldfield, 05 Jun 2013

Places to eat and drink in Copenhagen

Some brief notes on places to eat and drink in Copenhagen.

Martin Oldfield, 05 Jun 2013

Skye

Places to eat on Skye

Some brief notes on places to eat on the Isle of Skye.

Martin Oldfield, 06 Sep 2021

SMD tools

Paste dispensing

Notes on dispensing solder paste

Martin Oldfield, 14 Oct 2013

A blast of hot air

Notes on soldering SMD parts with hot air.

Martin Oldfield, 14 Oct 2013

A DIY Vacuum Pickup Tool

A cheap DIY vacuum pickup tool, helpful for SMD assembly.

Martin Oldfield, 24 Jun 2013

SMTP

Simple SMTP from Python

How to send simple email from Python particular from embedded devices.

Martin Oldfield, 13 Nov 2021

soldering

Paste dispensing

Notes on dispensing solder paste

Martin Oldfield, 14 Oct 2013

A blast of hot air

Notes on soldering SMD parts with hot air.

Martin Oldfield, 14 Oct 2013

solid-state relay

SSR in a box

Brief notes on putting a solid-state relay in a box.

Martin Oldfield, 29 Apr 2014

sound card

XY plotting with sound cards

Brief notes on plotting y(t) against x(t) using sound cards.

Martin Oldfield, 26 Aug 2015

Sound card data

Crude characterization of the Behringer UCA202 and a generic CM6206 based interface.

Martin Oldfield, 26 Aug 2015

SPI

Cheap XY plotting with Arduinos

Brief notes on making an XY display with a cheap Arduino clone and ILI9340 display.

Martin Oldfield, 25 Nov 2015

MinnowBoard Max: Display

A LCD display for the MinnowBoard Max.

Martin Oldfield, 17 Feb 2015

MinnowBoard Max: SPI

Controlling the SPI bus on the MinnowBoard Max.

Martin Oldfield, 30 Dec 2014

stack

Haskell Toys

An attempt to abstract away the boilerplate when writing little command line toys in Haskell.

Martin Oldfield, 09 May 2016

Extra-project Stack

Brief notes on using the Haskell Tool Stack with local repositories, but without a specific project.

Martin Oldfield, 09 May 2016

Stapling

Printing Problems

Brief notes on problems with printers. oscilloscope.

Martin Oldfield, 18 Jan 2016

starch free

Starch Free Tiramisu

At a recent dinner party, one of my guests couldn't eat starch. This didn't seem compatible with my desire to serve tiramisu, but happily the lure of creamy coffee proved enough of an inspiration to find a solution: instead of coffee soaked sponge use coffee jelly.

Martin Oldfield, 05 Jun 2013

STM32

An IR transmitter for the Birdhouse

Notes on an infra-red transmitter suitable for outdoor deployment.

Martin Oldfield, 10 Mar 2022

An IR transmitter for testing

Notes on an infra-red transmitter based around the inexpensive Blue-Pill STM32F103 development boards.

Martin Oldfield, 23 Feb 2022

ARM development on STM32

Basic notes on setting up development on ST’s STM32 ARM chips.

Martin Oldfield, 21 Feb 2019

Black Magic Probe on Nucleo

Explicit instructions for flashing the Black Magic Probe firmware onto the ST-Link part of a Nucleo dev board.

Martin Oldfield, 10 Aug 2018

stripboard

Stripboard Templates

A simple Perl script to generate blank stripboard templates.

Martin Oldfield, 05 Jun 2013

Strobe

Strobing with the Pico PWM

Building a crude stroboscope with the Raspberry Pi Pico’s PWM module.

Martin Oldfield, 14 Jun 2023

T-Beam

LoRa and The Things Network

Initial experiments talking to The Things Network with a LILYGO T-Beam over LoRa.

Martin Oldfield, 05 Jul 2022

temperature

A HomeKit Enviro pHAT Sensor

Publishing sensor data (temperature and ambient-light level) from the Raspberry Pi Enviro pHAT to HomeKit.

Martin Oldfield, 01 Aug 2018

TI HDC1000 Evaluation

Brief notes on the HDC1000, a humidity and temperature sensor from Texas Instruments.

Martin Oldfield, 08 Aug 2015

ADT74x0 temperature sensing

Analog Devices make some nice I²C temperature sensors, including the ADT7420 which is accurate to 0.25̣̣°C. Here’s a user space client for them.

Martin Oldfield, 10 Jun 2013

Tetrahedron

A Turning Tetrahedron

The tetrahedron's a simple solid, but its moment of inertia isn't in the usual tables, so I thought I'd calculate it. There are two calculations here: one's straightforward but long, the other's short and cunning.

Martin Oldfield, 05 Jun 2013

TF930

The TTi TF930 and MacOS

Brief notes on reading data from a TTi TF930 3GHz counter from MacOS.

Martin Oldfield, 05 Jun 2013

The Things Network

LoRa and The Things Network

Initial experiments talking to The Things Network with a LILYGO T-Beam over LoRa.

Martin Oldfield, 05 Jul 2022

TI

TI HDC1000 Evaluation

Brief notes on the HDC1000, a humidity and temperature sensor from Texas Instruments.

Martin Oldfield, 08 Aug 2015

Time Capsule

Time Machine hassles

One of my Macs recently died and I wanted to recover data from a Time Machine. Sadly this wasn't entirely trivial.

Martin Oldfield, 05 Jun 2013

Time Machine

Time Machine hassles

One of my Macs recently died and I wanted to recover data from a Time Machine. Sadly this wasn't entirely trivial.

Martin Oldfield, 05 Jun 2013

Time-lapse

An Intervalometer

A simple intervalometer driven by a PIC microcontroller.

Martin Oldfield, 18 Jan 2015

Time-lapse photography

Brief notes on making time-lapse movies with a DSLR camera.

Martin Oldfield, 05 Jun 2013

TinyS2

TinyS2 Power

Power measurements for the TinyS2, an ESP32-S2 board.

Martin Oldfield, 17 Nov 2021

tiramisu

Starch Free Tiramisu

At a recent dinner party, one of my guests couldn't eat starch. This didn't seem compatible with my desire to serve tiramisu, but happily the lure of creamy coffee proved enough of an inspiration to find a solution: instead of coffee soaked sponge use coffee jelly.

Martin Oldfield, 05 Jun 2013

TM1638

Strobing with the Pico PWM

Building a crude stroboscope with the Raspberry Pi Pico’s PWM module.

Martin Oldfield, 14 Jun 2023

The TM1638 & the Raspberry Pi

A tiny library to interface cheap TM1638 displays to the Raspberry Pi.

Martin Oldfield, 29 Dec 2013

traversable

Transpose and sequenceA

Notes towards an intuitive understanding of transpose in terms of sequenceA.

Martin Oldfield, 03 May 2016

TTi

The TTi TF930 and MacOS

Brief notes on reading data from a TTi TF930 3GHz counter from MacOS.

Martin Oldfield, 05 Jun 2013

U1272A

The Keysight U1272A and MacOS

Brief notes on reading data from an Keysight U1272A multimeter from MacOS.

Martin Oldfield, 22 Jun 2015

UNI/O

A Coordinate Decoder

A simple PIC-based coordinate decoder for geocache puzzles.

Martin Oldfield, 05 Jun 2013

Unicode

Unicode games with perl, MySQL, and XML

Not for the first time I wasted a few hours getting Unicode things to 'just work' in a Perl project which mixed XML and MySQL. Hopefully these notes will prevent another repetition.

Martin Oldfield, 05 Jun 2013

utilities

Watchdog

Watchdog: automatically do things when files change.

Martin Oldfield, 05 Jun 2013

vacuum pickup

A DIY Vacuum Pickup Tool

A cheap DIY vacuum pickup tool, helpful for SMD assembly.

Martin Oldfield, 24 Jun 2013

verilog

iCE40 Blinky on iCEstick

A brief walkthrough of making the LEDs flash on Lattice’s iCEstick demo board.

Martin Oldfield, 29 Jan 2019

Geocaching with FPGAs

A silly application for FPGAs: solving a niche class of geocaching puzzles.

Martin Oldfield, 24 May 2018

iCE40 Blinky

Brief notes on getting to Blinky on an iCE40 FPGA demo board.

Martin Oldfield, 03 Mar 2018

iCE40 tools

Brief notes on open-source tools for programming iCE40 FPGAs.

Martin Oldfield, 03 Mar 2018

iCE40 Blinky on the Olimex HX1K

A brief walkthrough of making the LEDs flash on Olimex’s iCE40HX-1K board.

Martin Oldfield, 02 Mar 2018

iCE40 Blinky on HX8K Breakout

A brief walkthrough of making the LEDs flash on Lattice’s iCE40HX-8K breakout board.

Martin Oldfield, 02 Mar 2018

video

Raspberry Pi Streaming video

Notes on streaming video from a Raspberry Pi camera to MacOS X and iOS devices.

Martin Oldfield, 15 Dec 2013

View Patterns

A nice Haskell snippet

A succinct Haskell snippet using the View Patterns extension. PWM module.

Martin Oldfield, 16 Jun 2023

watchdog

Watchdog

Watchdog: automatically do things when files change.

Martin Oldfield, 05 Jun 2013

WiFi

Car Battery Monitor

A simple gadget to warn me if my car battery is going flat.

Martin Oldfield, 17 Dec 2021

TinyS2 Power

Power measurements for the TinyS2, an ESP32-S2 board.

Martin Oldfield, 17 Nov 2021

Pi Pico Power

Power measurements for the Raspberry Pi Pico.

Martin Oldfield, 16 Nov 2021

Pi Pico Wireless

Aidés-memoires for using the Pimoroni Pico Wireless Pack.

Martin Oldfield, 13 Nov 2021

An ESP8266-based switch

A simple switch for my IoT light built around an ESP8266.

Martin Oldfield, 30 Jul 2017

The ESP8266

Brief notes on the ESP8266

Martin Oldfield, 07 Jul 2017

Linux WiFi configuration

Aidés-memoires for configuring WiFi on a Raspberry Pi.

Martin Oldfield, 05 Jun 2013

Xcode 4

Perl and Xcode 4

I just bought a new Mac and installed Xcode 4 on it. However, I couldn't build any Perl modules with XS (bits of C) in them. Here's a solution!

Martin Oldfield, 05 Jun 2013

xen

Etch to lenny upgrades on Xen

I have a bunch of virtual Debian machines on a Xen box. When they were installed I used etch, but I've just moved one domU to lenny: here's my crib sheet. I suspect it won't be generally useful.

Martin Oldfield, 05 Jun 2013

XML

Unicode games with perl, MySQL, and XML

Not for the first time I wasted a few hours getting Unicode things to 'just work' in a Perl project which mixed XML and MySQL. Hopefully these notes will prevent another repetition.

Martin Oldfield, 05 Jun 2013

XY mode

Cheap XY plotting with Arduinos

Brief notes on making an XY display with a cheap Arduino clone and ILI9340 display.

Martin Oldfield, 25 Nov 2015

XY plotting with Arduinos

Brief notes on plotting y(t) against x(t) using an Arduino Uno.

Martin Oldfield, 30 Aug 2015

XY plotting with sound cards

Brief notes on plotting y(t) against x(t) using sound cards.

Martin Oldfield, 26 Aug 2015

Generating Lissajous Curves

Using a couple of AD9850s and an Arduino to plot Lissajous curves on an oscilloscope.

Martin Oldfield, 25 Aug 2015

XY plotting with oscilloscopes

Brief notes on plotting y(t) against x(t) using an oscilloscope.

Martin Oldfield, 19 Aug 2015

zeroconf

Raspberry Pi Identification

Being rather cheap little animals, Raspberry Pis tend to proliferate, and before long it’s hard to keep track of them all. Naming them helps, and software can make that more efficient.

Martin Oldfield, 29 Dec 2013