Custom KSP controller and display

Here’s my custom controller and display for Kerbal Space Program.

Fitted

Last year, after seeing this custom controller, I was suitably inspired. I wanted to build a simple physical device to control launch/stage, throttle, landing gear, lights, and maybe some custom stages. I knocked up a quick hack just to get a feel for how well it worked, using cardboard, a handful of switches I already had lying around, and a Teensy development board which can act as a USB keyboard.

Untitled  Untitled

Using a simple controller with physical switches and buttons as alternatives to keyboard keys was fun to use, but I was soon annoyed every time my hands had to go across to the keyboard – and especially the mouse – when checking things like radar altimeter, periapsis, time to apoapsis etc.

I soon wanted not just switches but screens and dials I could glance at. I especially knew I needed a physical radar altimeter. (Landing safely is hard!) What I needed was a way to get the data out of KSP.

Ideally, I thought, someone would have written a KSP plugin to give me easy access to live data about velocity, altitude, fuel levels, periapsis apoapsis, time to periapsis and apoapsis, height from terrain, velocity, surface speed, vertical speed, sensor data etc. Ideally something simple, lightweight, readable by a hacky little program that could pass the data on through USB serial to the controller.

I was really looking for a CSV or JSON plugin for KSP. It took a bit of digging to find it, and I feared I might have to write it, but I was delighted to find the Telemachus plugin which adds a nice simple JSON API to KSP and has a fully featured web interface built on that API. I don’t use the web interface but the JSON API is great. Getting live data out of KSP and into Ruby was a nice moment.

Look at all the lovely data

Now I had an approach that I knew would work, I started putting together a wishlist of parts and putting together a simple paper prototype; a rough sketch of what components I wanted where.

KSP controller paper prototype

Having seen various voltmeter clock projects I knew I wanted to use an analog output on an Arduino to have it display live data about altitude, fuel, velocity etc.

So I started playing with LCD screens and voltmeters to work out how to display different things simultaneously.


Next I went shopping for a good range of switches

Switches

A higher fidelity prototype came next, with holes punched in the cardboard where I thought the switches screens and meters needed to be. At this stage, I learned a lot about what felt comfortable, and moved a few things around.

KSP controller prototype

Starting to put it all together.

Displays

The displays all go in to the base

Untitled

Feels satisfying already

Untitled

Testing the displays

Preparing to drill the holes

Preparing to drill

Drilled and Dremelled

Drilled and Dremelled

Everything in place

Fitted

Source code

  • Teensy code for creating key presses from switches
  • Simple Arduino code for controlling LCD screen and voltmeters
  • Beginnings of a Ruby script for passing values from the Telemachus plugin to the Arduino

Components


I’ve subsequently seen this astonishing mission control desk which I now very badly want to make for my son / self.

Quiver pen holder

Here’s how I used to carry my pen:

Before

Here’s how I do it now:

After

So much better. I really love this thing.

Things meter

I’ve been using the Things app for a while for tracking projects and next actions with the goal of Getting Things Done. I wanted something to help me pay attention to the things I need to get done, and decided that a physical representation of daily progress would be an interesting thing to try.

The hardware build was really easy. More of a bodging together of components than anything. I dremelled out the back of the voltmeter to create a bit more room, fitted it to a small enclosure box, and squeezed the dev board into the remaining space, with the ground pin and an analog output connected to the voltmeter.

 Untitled   Untitled

The code is pretty straightforward. The Teensy runs a small program that listens for lines of text via the USB serial port and simply sets the output of the voltmeter to whatever percentage value arrives. At this stage I’ve got a simple multi-purpose percentage meter controlled trivially over USB.

Next is a Ruby script that listens for changes to the Things app, works out how many of the tasks in the ‘Today’ screen have been marked as completed today, and sends that percentage to the USB serial port. It’s like a physical progress bar for things I want to get done today. A done dial for life.

I’m going to try it for a while and see how it works. There are probably lots of other things that a progress meter would help with too.

Untitled

Components:

Lightspeed i-Helicopter and Turbo Drone mini quadrocopter – hands on reviews

The lovely folks at Paramountzone sent me a couple of shiny new toys to review.

First, the Lightspeed i-Helicopter with on-board camera.

Lightspeed iHelicopter

As always with these Lightspeed choppers, you get a good selection of extra bits in the box, including two rotor blades and two tail rotors. With this one, you also get an 2 GB micro SD card which needs to be slotted into the camera so it can store the photos and videos, and a USB micro SD card reader for transferring the files to a computer.

Lightspeed iHelicopter

This is a slightly larger version of the original Lightspeed i-Helicopter. Making room for the underslung camera by raising the height of the skids.

Lightspeed iHelicopters

Obviously, the eye catching new feature here is the camera. The picture quality, at 680×480 (with 25 frames per second for video) is far from HD, but it’s not terrible either.

How does it fly? It’s what you’d expect from a 3 channel coaxial helicopter. Up, down, forward, back, turn left, turn right. Lots of fun as a first helicopter, though frustrating if you’ve used 4 channel RC choppers (which add the freedom to also strafe or ‘crab’ left + right). It’s definitely sturdy enough, and by dropping the power before a crash landing (to protect the blades) it’ll take a lot of punishment indoors. I’ve crashed it, a lot, with no ill effects. It’s not really designed for outdoor flight, thought I’m very tempted to try it (on a very still day) if only to get some impressive footage of flying outside.

The box boasts that the Copter Controller app is “compatible with iPhone iPod iPad” but warns you to “check website for Android compatibility”. Pleasingly, when you do, it works on a wide range of devices.

Lightspeed iHelicopter

Downs:

  • quite long charging time (~45-50 minutes charging for ~6-7 minutes flight time)
  • the same USB cable has to be used to charge the chopper and the transmitter separately. If both are flat you’ll be waiting for a while before you can fly
  • lack of tactile feedback on the remote (i.e. your phone/tablet) means you’re looking down at the app a lot, especially to control the throttle. The controls for taking photos and video is a bit small and fiddly on small screen too.
  • doesn’t live stream video to the app (though for this money you might not expect that)

Ups:

  • cute little lightweight camera lets you capture in-flight photos and video
  • nice selection of spares (and a screwdriver) in the box
  • comes with a 2 GB micro SD card and (impressively) a USB micro SD card reader
  • Copter Controller app is pretty good and the motion control is fun once you get the hang of it
  • good app support for both iOS and Android

Second, I also got a chance to play with the new Turbo Drone super quadrocopter.

Turbo Drone quadrocopter

Have I ever mentioned that I love quadrocopters? Opening this box was super exciting.

Turbo Drone quadrocopter

It comes preassembled, obviously. Small and light but sturdy. It fits neatly in the palm of my hand.

Turbo Drone quadrocopter

It comes with spares for all four blades, not one but two batteries, and a USB charger which can charge either one battery at a time or both batteries at once.

Two batteries charging

Compared to the older, bigger Turbo Drone I reviewed last year, this one is a lot smaller. Having flown both, I think that for this sort of toy, bigger isn’t always better.

Turbo Drone quadrocopters

This new smaller model is a lot more fun to fly indoors. It needs less room to manoeuvre, it feels less scary to crash it into furniture and it feels really nimble and powerful.

The large arrow on the case, the colour of the blades (red = front, black = read) and the colour of the LEDs (blue = front, red = rear for some reason) all help know which way it’s facing.

Turbo Drone quadrocopter

The remote has an adjustable sensitivity setting. 20%, 40%, 60%, 80%, useful when gaining confidence and moving and turning more and more quickly. The 100% setting (which makes the remote controller screen change colour from blue to orange so you see it at a glance) is not really a further 20% of sensitivity, but rather moves the device into full on insanity mode and unlocks the ability to flip the drone.

Downs:

  • while I love the futuristic-angered-hornet noise, my wife is not a massive fan of the sound
  • not yet convinced about the 100% sensitivity mode. Maybe I just need more practice to understand what’s going on, but the hardware assisted flips, while fun, don’t feel entirely under my control

Ups:

  • so fast! Really powerful for such a small beast
  • not bad charging times (~30 minutes charging for ~9 minutes flight time)
  • two batteries and ability to charge them at the same time or charge one while flying the other means more flying, less waiting around
  • really sturdy little frame doesn’t mind being dropped (which is handy, as I crash it a lot). Silicone base makes for a softer landing and reduces the scary rattling when making a controlled crash-landing
  • 2.4Ghz radio controller allows for control over a long distance and multiple devices in the same place
  • apparently copes well outdoors if the wind isn’t too bad. I can believe it (it’s rather powerful), though haven’t tried it yet

Both are good, but of the two, this is definitely the one I’d recommend. Easily the most fun remote controlled toy I’ve tried (and my collation is getting pretty good) and the one I’ll be most excited to master. Of all the RC helicopters Paramountzone are selling at the moment, this and the 4 channel V911 helicopter are probably the best value and most exciting.

Jargone

I made a thing.

Jargone is a bookmarklet for highlighting jargon words on any web page.

The list comes from the Government Digital Service GOV.UK style guide, specifically the plain English and words to avoid sections of the guide, which has this to say about avoiding jargon

We lose trust from our users if we write government ‘buzzwords’ and jargon. Often, these words are too general and vague and can lead to misinterpretation or empty, meaningless text. We need to be specific, use plain English and be very clear about what we are doing.

While the guide is very helpful, and includes alternative suggestions for many of the words to avoid, I wanted to be able to spot jargon more easily on the web.

The bookmarklet is very simple. It just adds a bit of CSS styling and javascript to the page and then checks all the words on the page against a list of known jargon words and phrases. Once you run it on a page, offending words are highlighted and, borrowing heavily from the design of Gmail’s handy spellcheck feature, any entries which also have notes associated (suggestions for alternatives, for example) also let you click on them to see the suggestion. It doesn’t (yet) let you replace with a suggestion, mainly because it doesn’t even pretend to be clever enough to get it right. In fact, the implementation is so simple that it’s quite likely to think there’s jargon on a page even if there’s not. For ‘impact’ it gives the advice “Don’t use it as a verb” even when you’ve used it as a verb. It could probably be made a bit cleverer, but as a quick automatic highlighting of things to watch out for, it’s hopefully already quite useful.

Although I based the list on the GDS style guide, I’ve already accepted several contributions from elsewhere. Thanks to everyone who has already contributed.

You can find out more about Jargone or just install it here if you want to try it in your own browser. Enjoy.

My LEGO studio

Here’s my LEGO studio.

My LEGO studio

The main desk at the front is two metres wide and has two levels; plenty of space to store things I need to have close at hand. On the left of the room are a bunch of fishing tackle boxes, drawers, trays and little boxes which I lift out and place on or under the desk as needed.

Four trays   Divided by colour, but sorted by type

Windows and small parts   Compartmentalised trays

On the right of the main desk is an IKEA Vika Veine hinge desk, which allows me to store projects in progress and keep things tidy.

On the right - lid open

Inside the desk you can see a couple of cutlery trays (which I also picked up at IKEA; Rationell Variera are nice and cheap). I’ve found it’s handy to have at least two of these; one for temporarily storing handfuls of parts ready to build and another to sort dismantled parts ready to put back into their respective drawers.

This right hand desk sits on top of a three IKEA Antonius drawer frames, each of which is filled with large plastic drawers.

Drawers and drawers of LEGO

Each drawer is quite big, so in order to store lots of different types of LEGO part, I have filled some of the drawers with small removable storage boxes. I had some Stanley organisers, which each have 10 removable compartments. Plus, if you ever need to travel with a selection of parts they can pop back into their carry cases for easy transportation.

Stanley organiser Small boxes of unique parts

Different people have different techniques for storing large collections. Some even stack their bricks and plates for efficient storage, which I’m fascinated by but have never really got on with. Personally, I’m a massive fan of the lots-of-little-drawers-and-trays approach.

There’s still a bit more sorting to do and (believe it or not) still a bit of room for more storage. I’m really tempted to add some by some Draper 12015 30 drawer organiser cabinets or even LEGO’s own cabinet.

Inky-Linky

I made a thing.

Inky-Linky makes web pages 100% more useful and irritating when printed. It’s a bookmarklet that adds a QR code to the margins for each external link in the page.

It came about because I wanted to make it easy to visit a link from a printed page, and also wanted to see if I could find an actual useful use for the much (rightly) maligned QR code.

Although it just about works there are, or course, quite a few things wrong with it.

  • It really doesn’t work very well on very busy pages with lots of links.
  • The layout algorithm could be a bit smarter when deciding which margin to use (e.g. links on the right of the page should ideally prefer to be shown in the right margin, rather than blindly alternating).

If that doesn’t put you off, and you want to try it for yourself, here’s the Inky Linky repository and installation page. Enjoy.

(Oh, hello Boingboing!)

Lightspeed phone controlled i-Helicopter – hands on review

The nice people at Paramountzone were kind enough to send me a Lightspeed i-Helicoter to review.

Unboxing

It’s an iPhone / iPad / iPod / Android controlled helicopter, and (having played with a few micro-copters in the past) I can honestly say this is the best I’ve seen.

Rather than a separate remote control, the controller is your phone/tablet in conjunction with a free app and a rechargable infrared transmitter, which plugs in to your headphone socket. Assuming you’ve got one of the supported devices, this is a great setup (Currently supported: iPhone, iPod, iPad, HTC Desire S, HTC Desire HD, HTC Incredible S, HTC Wild Fire, HTC Wild Fire S, HTC Hero, HTC Sensation, Samsung 9100, Samsung i9000, Moto MB525, LG P350. With more to come, apparently). No on-board video streaming to the phone though. Not that you’d really expect it for £30.

To fly it, after an initial charge, I simply installed the free iOS app on the iPad, plugged the IR dongle into the audio jack, and I was off.

iPad app

There’s also an ‘motion control’ option; a mode which lets you control forward/back/left/right by simply tilting your device. I found this mode a tiny bit easier, though the altitude control still needs a careful thumb to control it.

20 minutes of charging (via USB) gets you about 10 minutes of flying time.

Profile

It’s bigger than I was expecting, and the metal frame means it feels satisfyingly sturdy.

Landed

At first I was a bit nervous about damaging it, but I’ve since crashed it into pretty much every surface in my house with no damage to show for it. I’ve not even had to open up the included bag of spare parts. I’m impressed at how sturdy and durable this thing is. By killing the power whenever I get in trouble, and just letting it fall out of the air, I’m now very confident about flying it around indoors.

The app includes a ‘Turbo’ button (“for when extra speed is required”) which I expect will be useful when flying in an open plan office. So far I’ve not needed it much in my house.

Cons: Unlike a regular remote control, using a glass screen means no feedback from the altitude control, which takes some time to get used to.
Pros: Fun, fast and easy to control. Gyroscopic helicopters are really good these days, but this one is remarkably strong and durable.

This is a really great toy. Highly recommended. If you’re interested in ordering one, here’s the UK/Europe (currently £29.99 with free delivery) or the USA (currently $59.99 with free worldwide shipping).

Podcast recommendation: Off the Wall Post

As you might know, Shift Run Stop (that podcast I used to edit every week) is on holiday at the moment. While we work out when/how/whether to restart, I’ve found myself listening to lots more podcasts. There’s one in particular which I think you might like.

Off the Wallpost (‘a conversation about digital media in the real world’) is put together by an intelligent, funny gang of three that you want to be part of. It only took 15 minutes before there was a Ghostbusters reference. What’s not to like?

They are: Dan Biddle, a social media producer; Kat Sommers, who works in a research team developing new tech for TV and radio and Barry Pilling, a cross-platform producer. Full disclosure: I used to work with these people. I think they’re ace.

Here’s what you’ll find in episode one…

    6:00 – Artfinder.com launch. What is it, does it work, would you use it?
    13:00 – Mobile + contacts, why can’t Google and Facebook get along?
    20:00 – Charlie Sheen being bat-shit crazy on Twitter.
    24:00 – Charity and social media (covering Underheard in New York, TwitChange, Pledgehammer, ProcasDonate and more). How is online charity evolving?

And episode two…

    8:00 – Jon Bon Jovi and Steve Jobs
    10:30 – The trend of using Tumblr to do one single simple but very specific thing, like Kate Middleton For The Win. Kim Jong Il Looking at Things. [I love these so much, I don’t know where to start. I have my own collecting internet fridges and I’ve recently fallen in love with Nick Clegg Looking Sad.]
    18:00 – Facebook and Warner Movies deal – will it work?
    25:30 – Wanky words.
    26:45 – Geo-location. Foursquare, StickyBits, Google Latitude, Glimpse and more. Is Foursquare a dead end? What’s the real opportunity here?

If you’re anything like me, this is exactly the sort of stuff about which you want people to do be funny and irreverent. Why else do I like it?

  1. They’re pleasingly cutting about the jargon and bullshit which often surrounds social media experts. The first episode begins with an amnesty on the most offensive, trite and meaningless ‘wanky words from the web’, rooting out terms like ‘side-loading’ and stripping them of their power. This is refreshing, funny and fun.
  2. At usually (so far) between 35 and 45 minutes long. That’s the right length; not too long, not too short.
  3. It’s presented by British people. Not that I don’t love my friends from the USA, but in an online world where their US voices often seem to dominate it’s lovely to hear some local accents and a UK perspective for a change.
  4. It’s like a really good SXSW panel with brilliant panelists talking about things you care about (and all without having to even get in a shuttle bus or queue up).

Like.

Some of my collections

I was invited to give a short lunchtime talk for a team in BBC Audio and Music (radio, to you and me) by the lovely Hugh Garry.

In a gloriously open brief, he asked me whether I’d prefer to talk about things I make or things I collect. For some reason I thought sharing a collection of my collections would be the most interesting option, and soon started putting together some examples. This morning, in a last-minute moment of self doubt, I realised how much cooler I’d have looked if I’d shared some of the hacks and tinkering projects I’ve worked on over the years. Like this and this and this and this. Not that much cooler, you say? Oh well.

Geeky things I obsessively collect and curate it is then…

I asked my wife what she thought, but she just laughed and pointed out a few extra collections I’d forgotten about and she’d never understood. How is it even possible for someone to throw away empty Altoids tins? They’re so keepable.

Just before the talk, anticipating there would be time for questions, I added a blank slide followed by a secret extra slide with my prediction of the first question that would be asked: “Where do you find the time?”. It turns out I guessed right, which got a big laugh. I’m sure the person who asked it didn’t mean it in a negative way, but it’s easily interpreted as “why do you waste your time with something I wouldn’t bother with?” and is not that different from claiming someone has too much time on their hands. So I blushingly pointed out that the question could be seen as slightly rude, and went on (hopefully not too defensively) to say that this was a very condensed view of many years of collections, very few of which have lasted very long or required very much time. Each one has taught me something and been valuable in its own way, and been more than worth the amount of time I’ve invested in it. Hard not to sound defensive though, so I also acknowledged that obviously I’m a bit of a geek, some of these things have been (sometimes short-lived) obsessions, and I wouldn’t expect other people to enjoy or value everything which I do in the same way.

We went on to discuss how the internet is a million niches, something I’ve been thinking about a lot in the past few years.

Thanks to Huey for the invite. I really enjoyed it.

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
The postings on this site are my own and don't necessarily represent my employer's positions, strategies or opinions.