Rob Miles


Rob Miles University Lecturer and Microsoft MVP. And tall.

Blog posts

"Secret Hitler" is an amazing game

We spent a very happy few hours last night playing the game “Secret Hitler”. Its a role playing game where fascists (plus Hitler) take on liberals. The job of the liberals is to find out who they are and then band together and use their superior numbers to pass liberal policies. The job of the fascists is to disrupt all this and get their policies passed. If fascists get Hitler elected as chancell… Read more →

Bring back good stuff: Humax PVR

By rights the personal video recorder should be a dead device. It was in our house for a few months. I had thought that the rise of streaming services would remove the need for you to own a device that records programmes off air. I was wrong though. The FreeView user interface on our TV is not just bad, I think it is actively hostile. Finding programmes on the different platforms is uniformly horr… Read more →

Bring back good stuff: The Wii U

I’ve just got my Wii U down from the loft. I’m a bit cross with myself for putting it up there. Being Nintendo hardware it of course just worked. Even though it is eight years or so old. And the games are still awesome. Its interesting that the devices have held their value quite well, and there are also plenty of Wii U games for sale in the second hand shops around town too. I think there are qui… Read more →

Disabling the ESP32 Brownout detector

I hate it when things fail when they are not supposed to. I’ve now got some code that uses deep sleep on an ESP 32 to drop power consumption to a tiny amount between the readings made by the environmental sensor hardware that Brian has built.Today I was doing some battery testing and I hit a snag. When the device is running from battery power the deep sleep mode breaks. The device does a power on… Read more →

Must buy book bargain

Whenever I go into Waterstones in Hull I have a look in the cheap books section. I keep coming across this German SQL text book for sale at half price. It’s quite amazing that nobody has bought it yet. Read more →

Recursive purchasing

I was in HMV today and they had a couple of books that I really fancied. It turns out that reduced “with any purchase” works with another book that is also reduced “with any purchase”.Oh, and the “Damn Fine Cherry Pie” book is excellent. It is a cookbook based on “Twin Peaks”. It has a whole bunch of very unhealthy but totally awesome looking recipes, along with dressing tips for the perfect Twin… Read more →

LMIC Frame Counter Problem

This is a fairly exotic post, in that I doubt that many readers will be concerned how they can maintain the frame count of LoRa packets sent from a device using the LMIC library when a device goes into deep sleep. However, I’m putting it here so that in six months time, when I probably need to do this again, I can just search the internets and find this article. A LoRa application maintains a fram… Read more →

Old age coping strategies

I got some slippers for Christmas. I really like the way that they look like proper shoes. Now I just need some pyjamas that look like jeans and a sweatshirt and I’ll be perfectly equipped for old age. Read more →

ESP32 Retaining timing over deep sleep

In the last post we saw how easy it is to make an ESP32 processor sleep for a particular time. However, we also noticed that at the end of the sleep the processor is reset and all the variables in the program are reset. This is difficult if you want to keep track of time in your application. However, it is possible to get around this limitation by storing a time value in memory that is retained du… Read more →

ESP32 Deep Sleep Mode

I'm very proud of the picture above. It shows that I'm getting around 0.1ma current consumption on our new environmental sensor when it is in deep sleep mode. It's very easy to put an ESP 32 into deep sleep mode. This is the code that I'm using: #define uS_TO_mS_FACTOR 1000 /* Conversion factor for micro seconds to miliseconds */ void sleepSensor(unsigned long sleepMillis) { esp_sleep_enable_timer… Read more →