• Good blog post on Software Engineering

    “The only way to go fast, is to go well.” Robert C. Martin, Clean Architecture I read a post here which has a number of good observations and some good suggestions around software engineering best practices. Although it is specifically about rust, a lot of the suggestions and comments are more widely applicable. I would particularly…

    Continue reading

  • Let’s talk about GPIO (Part 3)

    We made the buttons on the screen look so good you’ll want to lick them. Steve Jobs Last time we build a small demo app to blink a light on a Sparkfun ESP32 Thing+. Today, we’re going to extend that to use a button click to toggle the light instead. In order to do that,…

    Continue reading

  • Let’s talk about GPIO (part 2)

    “The Doctor: Don’t blink. Don’t even blink. Blink and you’re dead. Don’t turn your back. Don’t look away. And don’t blink.” Steven Moffat One of the most basic uses of a GPIO pin is to connect to an LED, the ubiquitous Light Emitting Diode. This is so common that many boards actually come with an…

    Continue reading

  • Let’s talk about GPIO (part 1)

    Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’ I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.”  Charles Babbage General Purpose Input Output (GPIO) is the primary way by which microcontrollers sense and change their environment.…

    Continue reading

  • Update on Domain Hosting

    Hahahahaha. Oh wait you’re serious. Let me laugh even harder. Bender, Futurama We’re back!

    Continue reading

  • Tools maketh the man

    “Man is a tool-using animal. Without tools he is nothing, with tools he is all.” Thomas Carlyle Tools are a force multiplier, these tools help me extend my reach: What are your go-to tools?

    Continue reading

  • Thoughts about Logging

    Oh, I’m a lumberjack, and I’m okay, Monty Python Logging is one of the first things most programmers learn, but one of the (IMHO) most widely understood. We all know about print and its friends printf ,log etc. Or do we? What is logging? Logging is the process of capturing, recording, aggregating, alerting, reporting and…

    Continue reading

  • Screenshot capture from LVGL

    “Visualizing information can give us a very quick solution to problems. We can get clarity or the answer to a simple problem very quickly.” David McCandless Working with VLGL, the little graphics library for embedded systems, is an interesting process. Sometimes you want to capture what you see in order to use it for diagnosis,…

    Continue reading

  • Soft interfaces vs Hardware

    “When you go hard your nays become yays.” Nicki Minaj In many cases interfacing embedded devices using interfaces like I2C and SPI, there are hardware peripherals in the System-on-a-chip (SoC) which are connected to some of the IO pins, either directly or via an IO Multiplexer (IOMUX). These hardware blocks are useful because they support…

    Continue reading

  • Identifying Structs in Embedded C

    We know what we are, but know not what we may be Shakespeare Most of us are familiar with the idea of metadata tags on things. Photographs, Kubernetes resources, magic numbers on files, etc. One place I use metadata tags in the form of magic numbers is when developing embedded systems code in C. This…

    Continue reading