Monday 14 February 2011

Do you, Sugru?

How many times have you bought a fantastic product that is perfect in every way, right up until the moment it breaks.  Or you’ve got something that performs a function, but isn’t quite right.  Historically, you’d end up going out and buying a replacement - something that may still not do the job.   Well, I’ve discovered a product which may help you reduce your ‘throw away and replace’ approach with a ‘make do and mend’ attitude.  Only without the make-do.

Sugru is a product I heard about in the late summer of 2010 and it immediately peaked my interest.  A product invented in the UK by an Irish woman,  it is a mouldable, self-curing silicone with lots of really nice features.  When you get it from its sachet, it has the consistency of too-warm bluetak – a sticky clay like substance that can be moulded into any shape you choose.  It initially sets within 30minutes then cures within 24hours to whatever shape you’ve moulded it from. When it sets, it turns into something with the consistency of hard-rubber.  It retains a slightly springy texture, the sort of resistance of a block-eraser.  It also self-adheres to many materials like glass, metal  & plastics, works between –60c and +180c, is thermally insulating,  waterproof, even dishwasher safe!  Sugru Sample

I bought some packs for Xmas and gave friends and family a sachet each to try, and kept some for myself.  This weekend, I went on a bit of a Sugru session because I had two things to try.   First of all, my car stereo security faceplate had broken – one of the retaining clips broke off with plastic fatigue.  However, I found that a bit of paper wedged in the slot  would hold it in place.  So I applied a bit of Sugru to the faceplate, left it for about 8hrs then tried it.  It worked!  Even better, the clip that holds the faceplate in had moulded a little indentation in the Sugru which held it even more securely.  Another 12hrs of curing, and you wouldn’t know that the thing was broken in the first place.  That's £30 saved on a replacement facia or £100+ on a replacement stereo.

The second usage for it was to adapter a mobile phone holder.   I’ve got a small phone-chair which is designed to rest a mobile phone in and keep the screen visible. However, because of its shape, I couldn’t put the phone in its naturally portrait orientation and charge it at the same time – it would have to be landscape with the cable at the side, which was OK, but not all apps support rotation. So I moulded two Sugru ‘ears’ at the front of the chair, let it set, and now the results can be seen right. Its not perfect (my craft skills are somewhat lacking) but it certainly does the job.  Only a few pounds saved but it does the job perfectly.

Sugru seems like a brilliant product – the WD40 equivalent of a physical medium.  However, there are problems with it:- 

  • it seems expensive – about 95p per 5g sachet (which is what I used here).  However, its still cheaper than buying new!  
  • It can be a bit of a pain to handle – it seemed difficult to get small pieces of it to stick to the object I wanted it to adhere to, rather than my fingers.  Plus, whilst it is classified as “not dangerous” it may cause an allergic reaction.  Its probably no more dangerous than any other chemical based material.
  • It currently only has one cured state.  Sugru say that they can mix different formulations, but currently only offer this one.
  • Thinking of things to do with it.  With only a 6month ‘best before’ date, I will have to find things to use it on in the next few months.  However, there are lots of ideas on the Sugru website including repairing broken shoes, making tent pegs softer so that they could be hand inserted, and forming a bespoke golf-club handle.

I would seriously recommend picking up a pack (£6.50 for a 6 pack, £11.50 for a 12 pack) and trying it out on something – really clever stuff.

Thursday 20 January 2011

Adventures with the Omnima LCD Panel

I have recently picked up an Omnima LCD panel, a 3.5” QVGA (320x240) USB powered LCD panel with an SDCard slot and the ability to control it like a serial device over the USB port using the included cable.

Having an ARM7 based processor and a 2D graphics engine, it promises to be a great little versatile display panel for outputting information not requiring a full screen (sensor information e.t.c, news feeds, that sort of thing).  Plus, many of the LCD panels available on the internet either require an additional controller or some curious interfacing to be able to drive it.  For not a lot of cash, this prebuilt solution seems to be an ideal choice.

So that's the good bit – the bad bit is that there doesn’t seem much support for it.  The supplier forums are quiet at best (and not accepting new sign-ups) and there doesn’t appear to be much documentation other than the PDF’s on the Omnima website/forum.  I suspect there may be more available if you buy the SDK tools, but these are expensive to say the least.  Plus, I don’t have that much interest in writing new code for the screen CPU because I believe the inbuilt functionality is enough, and I’m not skilled in C++ development.

Anyway, the screen (version 3 as shown on the website) itself works with LCDSmartie (I’m using v 5.4.1) and the DLL included in the forum worked after a fashion.  The OmnimaLCD.cmd file included in the ZIP file isn’t quite right.  The standard command ends up rendering every serial command to the screen, rather than the result of the command.  The below command sets it up properly.

#@Term MW Off
#@Term FW Off
#@Cls
#@FrColor 0 255 0 0
#@FloatWin Open 10 10 240 320
#@Line MW 10 10 50 10
#@Line MW 10 50 10 10
#@Line MW 10 190 10 230
#@Line MW 10 230 50 230
#@Line MW 270 10 310 10
#@Line MW 310 10 310 50
#@Line MW 270 230 310 230
#@Line MW 310 190 310 230

This turns off any terminal command writing to the screen, creates a black box on the screen, creates a float window to render the text in, and draws some nice green lines at the edges screen which I think look quite nice.  One thing to be aware of,  you can use 4 x 20 screen setting as recommended, and you can use 4 x 40 setting.  However, on the latter, if the text exceeds the screen width, you get text wraparound where it runs around onto the left of the screen.  Not so bad if you don’t have scrolling text and format your text lines appropriately.  Also, the on screen left position seems to be set in the DLL file – I had a bash at editing what looked like the command in a HEX editor, but to no avail.

A note really for myself – the line plotting code consists of x horizontal poz, x vertical poz, y horizontal poz, y vertical poz. 

The one thing I need to work out now is how to render pictures to the screen – apparently supported, but I’m not getting much joy with it.  The graphics processor apparently supports JPEG pictures, but when I try and load it, the unit locks up and needs a power cycle.  The documentation suggests I need to use the “oimage tool” to convert from JPG, PNG e.t.c to a compatible format:-

To generate files suitable for loading using FileToSSD you can make use of the oimage tool. This tool can load all popular image file formats such as jpg, gif, bmp and more, and save the file in the SSD compatible format.

I’ve Googled the heck out of oimage and SSD compatible format, but can’t find anything of relevance – if anyone has any clues, please leave me a note.  I’ve asked Omnima directly, but not yet had a response.  Given that the device is basically a mini picture frame, it would be nice to be able to load and display pictures as well as vector graphics, especially as the latter can be quite slow (I would guess at 500ms per line) on the LCDSmartie example above.  The documentation suggests that picture loading can be quite quick, but we’ll see. 

Finally, id like to get it working in LCD4Linux – I cant see it being too difficult if its just got to send information via text strings, but that's a project for another time.