The Curious Engineer

All blogs / Embedded / microcontrollers

Jack Whitham

jwhitham.org

Experienced professional software engineer based in York, UK

Embedded / microcontrollersElectronicsLinux / UnixNetworkingRust

Posts
103 from 1 Apr 2006 to 16 Jul 2025
Posting
now and then
Kind
personal blog
Feed
https://www.jwhitham.org/rss.xml

2025 4

  1. Buildroot for a more reliable Pi
  2. Understanding GPS Elevation and Geoidal Separation
  3. Pico WiFi Settings library released
  4. Setup for Raspberry Pi Pico 2 W and Segger J-Link Edu Revisited

2024 5

  1. ATTiny85 RGB Christmas Tree
  2. VRRP for router redundancy with keepalived
  3. IPv6 setup for a router on Linux
  4. PPP over Ethernet: MTU, MSS and Packet Loss
  5. Setup for Raspberry Pi Pico W and Segger J-Link Edu

2023 4

  1. Linux login shell on a serial port
  2. Debugging Gapless MP3 Playback with the System Shock (2023) soundtrack
  3. Checking SSH host keys and their fingerprints
  4. Beginning Rust

2022 3

  1. Not quite repairing Trekz Titanium headphones
  2. S/PDIF Dynamic Range Compressor
  3. S/PDIF Bit Exactness

2021 1

  1. 20,000 Light Years Into Space 15th Anniversity Edition

2020 1

  1. x86determiniser version 2.0

2017 7

  1. Modified Unix Tools 1: diff
  2. Notifications, from the command line to Android
  3. At the Yorkshire Marathon
  4. Differences between dynamically linked libraries (.dll) and shared objects (.so)
  5. unwind: target platform=x86 is not supported
  6. Updating a Raspberry Pi home automation system
  7. Encrypted password storage for Subversion using an SSH agent

2016 8

  1. A detailed timing trace, with video demonstration
  2. Profiling versus tracing
  3. RISC instruction sets I have known and disliked
  4. Looking at the Linux kernel with "reverse maps"
  5. Ada's influence on my programming style
  6. Repairing a jelly baby night light
  7. x86 single step mode - how slow is it?
  8. Doom: The Force Awakens - a comparison

2015 11

  1. Redirecting system calls from a C library
  2. Porting third-party programs to TempleOS
  3. Is the free Windows 10 upgrade also a license downgrade?
  4. Review: UndoDB, a reversible debugger
  5. Relative speed of Raspberry Pi, Pi 2, and desktop PC (x86 and AMD64)
  6. More fun with floating-point numbers
  7. GCC Bug 323 - a journey to the heart of floating-point darkness
  8. The mystery of the fifteen-millisecond breakpoint instruction
  9. Why is this taking so long? - the poor man's profiler and flame graphs
  10. Subversion trickery
  11. Bash shell script tips

2014 2

  1. Should Microsoft do more to stop the use of counterfeit hardware?
  2. Disk image backup software worth paying for

2013 12

  1. Audio compression bitrates
  2. Review: Rocking out with Rockbox
  3. What's Bad about Bluespec System Verilog (part 3)
  4. What's Bad about Bluespec System Verilog (part 2)
  5. What's Bad about Bluespec System Verilog (part 1)
  6. What's Good about Bluespec System Verilog
  7. Destroying a rusty bolt using electrolysis
  8. A kernel-mode solution for a real-time Raspberry Pi problem
  9. "Users of email will not put up with it"
  10. BurchEd B3 and B5 FPGA boards; reminisces and documentation
  11. Review: Using the Raspberry Pi for a Home Automation project
  12. RTNS 2013 conference

2012 20

  1. Investigation of Scratchpad Memory for Preemptive Multitasking
  2. Investigation of Scratchpad Memory for Preemptive Multitasking
  3. Collection of Scratchpad Memory FPGA designs
  4. Optimal Program Partitioning for Predictable Performance
  5. Optimal Program Partitioning for Predictable Performance
  6. Submission: Explicit Reservation of Cache Memory in a Predictable, Preemptive Multitasking Real-time System
  7. Good Citizen Dog Scheme Silver Award
  8. Evolution of MSRS
  9. Submission: Investigation of Scratchpad Memory for Preemptive Multitasking
  10. Explicit Reservation of Local Memory in a Predictable, Preemptive Multitasking Real-time System
  11. Submission: WCET-Based Comparison of Instruction Scratchpad and Method Cache
  12. Honeymoon in the Lake District
  13. Explicit Reservation of Local Memory in a Predictable, Preemptive Multitasking Real-time System
  14. Wedding
  15. Accepted: Optimal Program Partitioning for Predictable Performance
  16. Distributed, Embedded and Real-time Java Systems
  17. The Limits of TDMA Based Memory Access Scheduling
  18. Submission: Optimal Program Partitioning for Predictable Performance
  19. Student Project Proposals for 2012/13
  20. Poppy and Chewy

2011 8

  1. The Limits of TDMA Based Memory Access Scheduling
  2. Submitted: Explicit Reservation of Local Memory in a Predictable, Preemptive Multitasking Real-time System
  3. T-CREST
  4. Chewy and Poppy
  5. Poppy and Chewy
  6. Poppy at RTS Group Barbeque
  7. Poppy
  8. Chewy on holiday

2010 3

  1. Time-Predictable Out-of-Order Execution for Hard Real-Time Systems
  2. Investigating average versus worst-case timing behavior of data caches and data scratchpads.
  3. Studying the Applicability of the Scratchpad Memory Management Unit

2009 3

  1. Implementing Time-predictable Load and Store Operations
  2. Using Hardware Methods to Improve Time-predictable Performance in Real-time Java Systems
  3. The Scratchpad Memory Management Unit for Microblaze: Implementation, Testing, and Case Study

2008 8

  1. Predictable Out-of-order Execution Using Virtual Traces
  2. The CoSMoS multi-FPGA Simulation Facility
  3. Forming Virtual Traces for WCET Analysis and Reduction
  4. Traces as a Solution to Pessimism and Modeling Costs in WCET Analysis
  5. Real-time Processor Architectures for Worst Case Execution Time Reduction
  6. Using Trace Scratchpads to Reduce Execution Times in Predictable Real-Time Architectures
  7. Limitations of Adaptable Systems for WCET Reduction
  8. CPUs For WCET Reduction

2007 1

  1. A Self-Optimising Simulator For a Coarse-Grained Reconfigurable Array

2006 2

  1. MCGREP - A Predictable Architecture for Embedded Real-time Systems
  2. Integrating Custom Instruction Specifications into C Development Processes