Last updated: 29 Jun 2022 - 22:40
I've decided to have another crack at a hand-held games console project. I've had various ideas for doing this over the years. I built one based around a PIC18F4520 many years ago but didn't get far with trying to write the software for it. More recently (but still long ago) I had the idea that maybe the OggBox might make a simple console, if you hold it sideways the 4 buttons under one hand and the top two buttons in the other hand. Last year I got most of the way through designing one in my summer holiday, but the parts are all now out of stock and it was based on a PIC32 which I've now decided is a very bad idea having had to use them professionally since.
The chip supply crisis is still in full effect and I have almost no free time so this is going to be an interesting challenge, but I thought I'd document my process from the beginning this time and see where I get.
Last updated: 11 Nov 2020 - 14:36
In a project I am currently working on I needed a font to embed in the ROM of an ARM Cortex micro-controller that could be used on one of these ChLCD modules from SparkFun. The display in my application is currently mounted in a landscape orientation, but I didn't want to preclude using it the other way around, or changing the font. I've written a few bitmap font editors over the years for various graphical LCDs, VGA displays and LED matrix displays. They all have a common interface, a character being edited with oversized pixels and a preview of the entire font. I decided this time to do a "proper job" of the code and write a Python GUI app that should be cross-platform and allows saving and loading of fonts.
Last updated: 11 Nov 2020 - 11:31
I recently included a Midas Graphic OLED 128x32 pixel display in a product I'm developing at work. The OLED is available from Farnell for a very reasonable £7.61. It's got a 0.1" pitch header for comms and 4 M2 mounting holes which makes it ideal for DIY/prototype products that don't have custom enclosures to mount a bare LCD glass panel nicely.
The big problem is the documentation which is worse than non-existent. It's confusing, misleading and in places just plain wrong. The datasheet seems to have been assembled by someone copying and pasting bits from the controller datasheet with no understanding of what the product does.
I eventually figured it out and got it working, so here are my notes.
Last updated: 04 Aug 2020 - 22:54
My Wife has been helping to organise the arts, crafts & cookery section of the local agricultural show for several years. The show was cancelled for the first time in 19 years due to the COVID-19 lockdown this year and to keep it going in some way she suggested and helped organise a virtual show. You can see the entries online still at https://virtual-stithians.show. To manage the content we first looked at off-the-shelf Wordpress gallery solutions but they were not a good fit. Hosting it on Instagram or Facebook had been suggested but would have excluded a lot of the regular entrants so an email-in solution was picked to be most inclusive. In the end the show had over 250 entries.
I volunteered to write a custom site, and since Django is my preferred platform these days I wrote it in that. It was my first significant Django project in a number of years and the first time working in Python3 but as it promises the framework delivered a robust interface with minimal effort.
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.
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.
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
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 .
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.
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.
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.