Home

Automatically detect changes in header files in a Makefile

Last updated: 26 Feb 2017 - 21:41

GNU Make is still a brilliant tool for managing embedded software project build systems. The main strength of the system is the way you can define the dependencies of each stage and then let Make figure out what's changed (based on file dates) and build all the bits required. You may be familiar with rules of the form:

file1.o: file1.c
    gcc -c file1.c -o file1.o

Where file1.o is the object file, file1.c is the source file. This declares that if file1.c is changed, file1.o must be re-made.

Section:
Tutorials
Tags:
c,
embedded,
Makefile

ARM toolchain setup

Last updated: 20 Feb 2017 - 06:57

In this article I plan to describe the toolchain I use for bare-metal ARM Cortex-M development. I'm not necessarily advising you to use this toolchain, but it works well for me and this article will help form the basis of various future articles about debugging and robust development.

I use the toolchain developed by ARM under the "GCC ARM Embedded" name. This is a free toolchain based on a patched version of the open source GCC compiler and GNU binutils. Since it's free and available as source, there is a good chance if you are using a free or low cost IDE or other development tool for ARM microcontrollers that it's based on this compiler.

GCC ARM embedded was available from Launchpad recently, but has now moved to ARM's own website for downloads. There's also a PPA for installing on Ubuntu.

I don't really recommend using the PPA. In development for embedded systems you should consider the compiler to be a dependency of your project and make sure that you are

Section:
Tutorials
Tags:
 

A Lot Has Changed in 10 Years

Last updated: 21 Aug 2015 - 12:34

It's ten years today since I registered the domain name for this blog, and a lot has changed in that time! I've gone from being at secondary school to being a full time, professional engineer. I've got a PhD. And I'm now married with a son!

Ten years is a long time in electronics, to put it into context the ARM Cortex-M3 is only 11 years old 1. Ten years ago the first ever video was uploaded to YouTube2 (which wasn't owned by Google), and Smartphones weren't a thing yet 3 4 .

Section:
Projects
Tags:
website,
anniversary

MacAllister 36V Lithium System Clearance

Last updated: 09 Apr 2015 - 19:38

About 2 years ago British DIY store B&Q started stocking a 36V lithium battery based garden tool set. I picked up the mower and the strimmer which was all I needed at the time. You could buy individual tools and batteries separately, the battery pack is an impressive 36V 2.6 or 4Ah lithium pack. Initially the 2.6Ah pack was around £100 and the 4Ah was around £130. I've always been thinking it would be an interesting pack to use for other things but at that price hadn't got around to it, however about a month ago the line was discontinued and piles of the batteries can be found in B&Q stores all over the country for around £30.

Section:
Reviews
Tags:
teardown,
Battery charger,
LiPo

KiCAD Forums

Last updated: 30 Aug 2014 - 16:08

A few weeks ago Chris Gammell (of The Amp Hour and more recently Contextual Electronics) has released his set of KiCAD videos, and set up a forum for users to discus the software, all available on the new kicad.info site. I've been using KiCAD for about 6 years now (I looked up my first PCB order I designed with it and it was September 2008) and whilst I happily recommend it to anyone who wants to get into PCB design, I've completely forgotten how complex it is to learn to use. I think the video series is a great starting point and the forums are a good way to troubleshoot specific issues you have. There are a good number of people on there now but the more people, the better the range of discussion. There are a couple of existing mailing lists for KiCAD, the developers mailing list on Launchpad and a users mailing list which is a Yahoo group that always gave me a really terrible user experience. The new forum is much more intuitive and interactive.

Section:
Reviews
Tags:
kicad,
eda,
Open Source

Engineering Glossary

Last updated: 24 Aug 2014 - 22:06

One of my contacts at Element 14 got in touch last week to let me know they've been putting together an Engineering Glossary. There's a good range of terms there with brief definitions. The great thing about a subject specific list like this is that you know you're going to get the thing you're looking for rather than the same acronym in a completely unrelated field. It isn't a wiki, so you can't add or update definitions but there's a feedback form on the page if you want to send in a comment.

Section:
Reviews
Tags:
electronics,
Engineering,
Reference

Stripboard Circuit Construction

Last updated: 21 May 2014 - 21:59

Before cheap prototype PCB services like OSHPark, Ragworm and iTeadStudio options for building circuits for prototype or hobby projects were much more limited. You could etch your own board, carve a board out of copper clad with an abrasive tool, wire-wrap it all or use stripboard.

Stripboard, sometimes known as Vero-board (after a popular manufacturer) is a kind of circuit board, usually a cheap substrate like SRBP, with long strips of copper about 2mm wide running the length of the board. Holes are typically punched on a 0.1" (2.54mm) grid across the board, making it easy to fit traditional through-hole components.

The basic technique of construction is to use a small drill type tool, known as a spot-face cutter, to cut the long traces to make separate parts of the circuit. Wires are run, perpendicular to the copper tracks to create links in the opposite direction, allowing complex circuits to be built up.

Section:
Tutorials
Tags:
Prototyping,
Tools,
electronics,
hobby

Trimming Silk Screen on KiCad

Last updated: 18 May 2014 - 15:03

A few connectors and the heatsink in this design are over-hanging the board.

Offending Silk Screen: A few connectors and the heatsink in this design are over-hanging the board.

Sometimes when submitting boards for cheap panelised manufacture you need to keep all of the layers of the gerber file within the size of the PCB. In some boards I find there are bits of silk screen (e.g. connector outlines) which overlap the edge of the board. As far as I can see there's no way to limit the silk screen to the edges of the board by default, but I have a work around that might be useful.

Section:
Tutorials
Tags:
kicad,
PCB

Tools: Mini Reamer

Last updated: 10 May 2014 - 12:50

A very handy little tool of high quality.

Mini Reamer: A very handy little tool of high quality.

Stripboard construction and home-made PCBs are going out of fashion these days, but for the odd power supply or prototype they're still often worth doing. One of the most annoying problems I regularly face when building things (especially power supplies) on stripboard is components with leads too big to fit. Most cheap stripboard tends to use punched holes between 0.8 and 1.0mm in diameter (about 40 thou). With power-handling components particularly leads can be 1.0mm or even bigger, and they just won't push through the board. Opening out holes with a craft knife can be tricky, and having a range of tiny drill bits can be costly (especially as they're really easy to snap). The best solution is a mini reamer.

Section:
Reviews
Tags:
Tools,
Prototyping

Novena Open Source Laptop

Last updated: 30 Apr 2014 - 21:06

The idea of an open source laptop makes me feel the same excitement I felt using Linux for the first time over a decade ago.

Earlier this month Andrew "bunnie" Huang, hacker of the Xbox (read the book) and creater of the Chumby announced a crowd funding campaign for his Novena open-source laptop. I'd heard about the project before and liked the design. In fact I have several almost identical system level designs in my engineering notebook waiting for me to have the time and money to make one myself. Since it is unlikely I'd ever get around to building anything that costly or complex on my own I'm really excited to hear that I can buy one of someone else's design.

Section:
Reviews
Tags:
Open Hardware,
linux,
hacking

Contact

Email: nathan@nathandumont.com

Mastodon: @hairymnstr@mastodon.social