Reliant Regal in Forza Horizons 3

Forza Horizons is an awesome franchise. I have great memories of playing Forza Horizons 2 with the Storm Island add-on. Number one son has got Forza Horizons 3 and we were playing it this evening. The game has "Barn Finds", cars that you can unlock by, er,, finding them in barns dotted around the map.

We had a look for barn finds today and found a Reliant Regal three wheeler van in one barn. This was actually my very first car, although I don't remember it being painted in quite such a lush shade of green.

This is the vehicle made famous by the "Only Fools and Horses" sitcom, although people often refer to the one in that show as a "Reliant Robin", which it is not. The Regal is much less sophisticated than that. It has a fibreglass body over a steel chassis, with a 700cc engine sitting nearly in the passenger compartment. Nought to sixty in "You don't want to go there...".

Number one son had an experimental drive and noticed that it is surprisingly easy to tip it over. And slow. And noisy. But the exterior and the interior have both been lovingly recreated.I think this feature is probably worth the price of the game on it's own. If it had a Nissan Cube and a BMW i3 the game would be completely perfect.

Actually, the gameplay and the sheer depth of content make the game an absolutely fantastic buy anyway. I'm tempted to get it in the "dual" version so that I can play it on the PC and on the Xbox One.

Fun with the Pocket Chip

The Pocket CHIP is a very nice device. Mine arrived a couple of weeks ago and I've been very impressed with the hardware. You can get the device as a free standing board, rather like the Raspberry PI, or in a case with a properly portable form factor, giving you a small touch screen, LiPo battery and a keyboard that is "interesting".

This is the processing power that drives the whole affair. You can buy this on it's own for 9 dollars (amazing) or you can spend a bit more for the cased version above. 

It has 512K RAM and 8G of on-board storage, but you can use the USB port to add more peripherals. It has Bluetooth and WiFi built in too. If you want to add video output there are adaptors for VGA and HDMI. 

The graphics have 3D acceleration (it will run Minecraft and Quake quite successfully) and the PocketChip version ships with Pico-8, a fun little game development environment which you can use to actually build games on the device. It will also run a ton of emulators for most handhelds and some early consoles. 

I must admit that all I've done with it so far is upgrade the firmware to the latest version. This is something that you really must do when you receive a device. It doubles the amount of onboard storage to 8G and it also enables the 3D acceleration.  

Rather annoyingly, the only way I could do this was to remove the CHIP processor from Pocket CHIP case, connect the FEL line to ground using a wire link and then run the upgrade software within the Chrome browser. Having said that, this did mean that I got to take a look at the guts of the device. 

Its inevitable that this will be compared with the Raspberry Pi. They both run pretty much the same OS and their power is of the same order of magnitude, although I think the Pi is a tad faster. However, the CHIP has charms of its own. There's no need for a separate memory card and the price is very attractive. Don't worry about buying from the UK, I got my Pocket CHIP shipped here with no problems. The price of the device itself is so low that it is unlikely you'll pay import duty.  Well worth getting into I reckon..

I'l looking forward to playing more with this neat device over the holidays. I'm hoping I get used to the built in keyboard...

HullPixelbots at AzureCraft

HullPixelbots on parade

Well, that was fun. It was the first proper outing for my robot army. We were all at AzureCraft in London. It was an absolutely great event, kids getting together to make things in MInecraft. And learn to program along the way.

I'd set up my Robot Arena in one of the board rooms at the fantastic venue. Over the day groups of kids and parents came to take up the challenge of controlling their robots and getting them to line up in the arena with no collisions. Harder than it looked, but everyone who came along was up for the task. Quite a few folks came back for another go, which was nice. 

Great fun. Thanks to the folks at the UK Azure User Group for setting up the event and inviting me along. 

A tense moment as the pixels line up...

Buy more than you need

I'm kind of cross with myself. I've broken one of my own rules. I needed bits for 8 robots. So I bought 8 sets of bits. Stupid stupid stupid. You should always buy a few spares in case of failures. It's not that they are expensive. And you can always use the spares on other projects.

Of course a few were duff, which meant that I couldn't make all my robots. Of course (cunning bear move) the faulty parts were the ones I used last. Fortunately have have friends with similar interests (thanks Ian and Robin) so I was able to grab some spares, which is how come I'm sitting on the train with 7 working robots (I couldn't fit 8 in the case...)

The Robots are coming to c4di

Sam drives some robots..

I took my working pixelbots down to c4di and gave a talk tonight about how they worked. Before the talk I set out a small part of my robot arena and we all had a bit of fun steering them around using my chatbot client. 

Thanks to everyone who came along. Some very useful conversations. I left with some good ideas for improving the system. I'll be putting the presentation and the code up soon. Keep watching the blog for details. 

Bear Wrestling and Hardware Development

I think that building devices is a bit like wrestling a bear (not that I've ever actually done any bear wresting). It's an ongoing struggle and then, just when you think you might be winning (always a dangerous thing to do) the bear pulls out a killer move and knocks you flat on the floor. 

I've just suffered from this. Nasty bear.

I've been building HullPixelbot devices for c4di and AzureCraft and connecting them to my home wifi for testing. It's been going well (a dangerous sign). I'm controlling them quite successfully and thinking that I might actually end up with a working system. And then today everything slowed right down. Commands that previously took no time at all to deploy suddenly took ages, which is a problem because all the robots need to move at the same time. 

Of course I thought my software was broken and spent a couple of frantic hours trying to speed it up. But the performance was still rubbish. 

Then, at 3:00 am this morning the answer came to me. At the same time as deploying the final version of the code I'd switched to my portable WiFi router, rather than the home network. All the problems started then. Turns out that not all WiFi was created equal. Some is much slower than others.

At 3:30 am I was resigned to going off and buying a new router in the hope it might be faster. At 4:00 am I realised that I actually had a router I'd bought a while back for another project. Only problem is that it was running the Chinese version of the router firmware. 

So at 8:00 am this morning I was trying decipher Chinese menu screens and load a new version of the firmware into the router. I've finally managed to get it working and performance is back to reasonable again. One up on the bear. 

However, the most important thing about the "bear wrestling model of hardware development" is that you mustn't start to think that the bear hates you. He doesn't. He's just there to wrestle, because that is what bears like to do. You need to work on the basis that at some point the bear will step back, bow gracefully and say "I'm going to let you win this one". 

Starting a Diary

If there's one thing I hate, it's making the same mistake twice. Doing something stupid once is bad enough, but repeating it is really silly. One of the reasons why I blog is so that I can find answers to questions that I have that I've already made once. I've had the experience of searching for information about a problem and finding my own blob post about the subject a couple of times now. Very strange. 

Doesn't stop me making more mistakes though....

Anyhoo, as I'm building my HullPixelbot robots I've found it very useful to keep a diary of the process. It turns out that doing the same thing 7 times is a great way to learn how to do it.  And I keep forgetting the best way to build the device and then discovering it again.

So I'm writing a diary of the project. I'm finding this kind of useful, and I'd advise anyone building something to do the same. Proper engineers have log books where they write down what they've done and, more importantly, why they did it. My diary isn't quite as ambitious, but it is good enough to be useful, which is nice.

Strictly Ballroom the Musical

It's a well known fact (at least to me) that I don't "do" musicals. I blame my parents. As a child I was dragged to film after film where everybody started dancing and singing just as the plot was getting interesting, which I found really annoying.

I thought all movies were like that, and that perhaps there were parts of the world where spontaneously bursting into song and dance was normal behaviour. I can vividly remember the relief of finding that there were films with no singing. 

This has left its mark on me. I don't like musicals (except for "Beauty and the Beast" of course, but that's different......)

Anyhoo, today found me, rather unexpectedly, in the audience for Strictly Ballroom - The Musical. This follows the current trend of making every mildly successful film into a musical. Although I wish them the best of luck with "The Artist".

And I rather enjoyed it. I don't remember any of the songs well enough to hum them, but I did remember all the of good bits of the film that they had reverently inserted into the production. If you like live theatre performed with style and gusto, go along. If you enjoyed the move, go twice.

 

Appalling UI Design

Ugh

I still like my Apple Watch. I still like my Apple phone. But mainly for what they can do, not the way that they do it. Going back to my Windows Phone always puts a smile on my face, as I get to use a user interface that is properly usable and scaleable. Then the smile disappears when I find I can't read books or do anything much with it. 

For a company that prides itself on design Apple should be ashamed of the above screen. Take a look at it and decide whether or not the watch will make sounds. After a while you might deduce that if silent mode is off, the watch might make sounds. Although you might also be confused because the icon shows a bell with a line through it which might imply silence. The icon is not lit up - although it can be - something that you need to know to make sense of what is happening here. 

Ugh, ugh, and ugh. Anyone who thinks that user interface design is easy should take a long hard look at this and consider how they would do it. They are almost certain to come up with something better than this mess. Me, I'd take away the icon and use the words "Noisy" and "Silent", it would be a lot clearer for your's truly. 

Update: Turns out I can't spell appalling. That's ..... not good. 

Fantastic Beasts and where to Find Them

We went to see Fantastic Beasts and Where to find Them today. It's set in the Harry Potter universe, but based in New York in the 1920s. It's very good. If you like Harry Potter, you'll love it - which I guess was the idea. he movie has the air of the start of a franchise, so there will be more films, toys, wallpaper, cuddly toys and maybe even books.

Adventures with the ESP8266

I love the esp8266, as far as I'm concerned it's the embedded processor with the mostest. 

But It does have one or two foibles. I ran into them today as I was trying to improve HullPixelbot reliability. My little robots work fine to start with, but then have an annoying habit of crashing or getting stuck after a while. 

Today I found out why. The HullPixelbot is a two-brained robot. The wheels are controlled by an Arduino Pro-mini device, and the esp8266 does the networking and stuff. The two devices are linked by a serial connection, so that commands received via WiFi can be passed into the motor controller which then makes things happen. 

I'm using the SoftwareSerial library to create a serial port on the esp8266 which then sends commands to the Arduino device. This is a software implementation of a hardware device, fast running code does the same task that is normally performed by a piece of dedicated hardware. 

And therein lies my problem. The SoftwareSerial driver was causing my network code to fail. It works fine sending data, but incoming messages cause interrupts in the esp8266 that seem to upset the  connection. I've changed to using the hardware serial port and everything seems to work a lot better. 

Oh, and one other thing I've discovered about the esp8266. Pin 18 (identified as D3 on the Wemos Pro-Mini board) controls whether or not the device can be flashed with a new program. If this line is held high it can stop your programs from downloading. I've been using D3 as a serial connection and having all kinds of problems. And now I know why.