Rob Miles


Rob Miles University Lecturer and Microsoft MVP. And tall.

Blog posts

Lego Happiness

This pleases me a lot more than it probably should. Sometimes I think that I only build the models so that I can take them to pieces and put all the parts in the right place. Read more →

ESP Reset Message Strings

Have you ever wanted to print out the reason why your ESP32 or ESP8266 has just reset?No?Must be just me then. Anyhoo. If you do want to do this, here’s the code to do it. You’re welcome.void getBootReasonMessage(char *buffer, int bufferlength) { #if defined(ARDUINO_ARCH_ESP32) esp_reset_reason_t reset_reason = esp_reset_reason(); switch (reset_reason) { case ESP_RST_UNKNOWN: snprintf(buffer, buff… Read more →

Printing Litopanes

The 3D printed image What it looks like A lithopane is a 3D printed surface in which the thickness of the object reflects the brightness of the image that that point. I’ve done a bit of this kind of thing myself in the past with the Kinect sensor and so I thought I’d try some with the new printer. I used a web based service you can find here which takes an image and provides you with an STL file y… Read more →

The Game of Cat & Mouth is really silly fun

After playing lots of deeply complicated games it’s nice to find one that is just silly, frantic, fun. The Game of Cat & Mouth is just crackers.You use a plastic cats paw with a magnetic spring in the base to fire little balls through the cat’s mouth in the middle. If you knock all the balls in the teeth into your opponents side you win. If you manage to knock out the black nose you win instantly.… Read more →

Getting the Cube MOT'd

I’ve just organised the MOT for our Nissan Cube. This is an important part of car ownership in the UK. The test makes sure that your car is still mostly metal and has working brakes and things, which posed significant problems for a Mini I owned a very long time ago.Unlike the very first lockdown, this time the garages are all open and MOTs will expire at the set date. The garage where I booked th… Read more →

Using ESP32 and ESP8266 with the same source file

If you want to use the same solution on both ESP8266 and ESP32 devices you find that there are a few inconsitencies between their libraries and include files. I've made this tiny set of conditional includes which pulls in the properly named elements for each processor. It also provides a symbol called PROC_ID that returns the processsor ID in a way that can be used in both types of program. #if de… Read more →

Pandle for free business accounting

If you’ve got a small business or you’re a sole trader you might like to take a look at Pandle. I’ve just signed up for a free account which lets me use their web based services to create suppliers, customers, invoices and all the other accounting paraphernalia that you need to run a company. It has tools that let you produce reports which include the Profit and Loss one (which I think Pandle is n… Read more →

Become a better programmer: Watch this video

This is a great video. I think every programmer should watch it. It was given at “C++ on Sea”, a splendid conference that I’d love to go to one day. But you don’t have to know any C++ to learn from it. The video describes the way that emotions end up in program code. And how to make sure that the emotions that you put in what you write are positive ones. If I was still teaching I would make sure t… Read more →

Printing Pocket Operator Cases with Edna

I’ve always had a soft spot for Teenage Engineering Pocket Operators. They are great fun to fiddle with. One of the reasons why I got another 3D printer was to print out cases for them. They are supplied as just a bare PCB with components soldered on and I wanted something with a bit more substance. It turns out that Edna does a very good job of printing the cases and the buttons from this design.… Read more →

Escaped Marble

One of the marbles from the marble run escaped and found it’s way under the sofa. I’ve taken a photo so that we will know it when we see it again…. Read more →