Sunday, 19 March 2017

Rapid prototyping

 Another piece of making for College of Wizardry. I was asked if I could make some badges from the logo on the IC website.

This neatly demonstrates how good a 3D printer is for 'rapid prototyping' even with a simple thing like this.

The first step was to take the source logo and put some spacing between the various element with a bitmap editor. This was so they would come out as separate objects once traced.

Then I used Inkscape to trace it into a series of paths. There are several ways to do it but I got the best results from choosing to trace on two different levels of brightness then selected the resulting objects one by one and tidied up/removed them manually.

Do not underestimate how long this takes, I spent something like four hours doing this. Then I turned this into an OpenScad file using an export filter I found on Thingiverse.

With an OpenScad file I was then free to hack the design around, altering which bits got printed or not, relative heights and so on. This is where the fast prototyping came in, as I could print it quickly and have a look at the result as a physical object. Although with hand editing of the OpenScad file it was still a slow process.

Eventually we settled on just the lion's head part of the logo and played with the size a bit.

Even with a decent looking design, it was still always going to look a bit plastic, but a quick dab of coloured varnish sorted them out. I wiped it off the highlights to create some basic shading and bring through the base colour. Then it was a case of sticking badge pins on the back of each one with hot glue and they're done.

The design process took a while but then I could batch produce them easily. So we ended up with one each for most of one of the player factions, limited only by running out of filament after one of the print runs went bad. Which still happens very occasionally, my 3D printer is definitely an enthusiast/hobby device rather than a consumer item.

Saturday, 18 March 2017

Kiosk setup on a Raspberry Pi running Jessie and the Pixel Desktop

I've started playing around with embedding a Pi with a little 2.4" screen into a prop and I've noticed all the howtos for this kind of thing are old and don't apply circa March 2017.

Now we have the Pixel desktop it's very similar but you need to edit the following file...

~/.config/lxsession/LXDE-pi/autostart

#@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash
@point-rpi
@xset s off
@xset -dpms
@xset s noblank
@chromium-browser --kiosk --incognito http://www.bbc.co.uk/


Make it look like this by commenting out the lines for lxpanel and xscreensaver then add an entry to start Chromium at the end opening whatever page you'd like Chromium to start with.

Simples.

Thursday, 16 March 2017

Magic Wand



Elina is off to the very high profile LARP College of Wizardry at the end of March and there's been a lot of gathering of costume and props for it. She suggested a wand with a bare LED that lights with a push / push switch but I decided to have a go at adding some more interactivity to it.

What's ensued is a lengthy exercise in making a prop from scratch using my 3D printer and trying to do as little hand crafting as possible, apart from final finishing. This is to keep it compact and fit all the components, especially the batteries and wiring, into as small a space as I can.

It's nothing spectacular on the tech front, an Arduino Nano, GY-521 6DOF accelerometer breakout board and 21 Neopixels. On that front it's very much blinkenlights project:101.

The entire thing ended up being scaled around getting four alkaline cells in the body and being able to print this on my printer which has a build volume of 20x20x20. In principle I could have done something with a single 18650 Li-ion cell but these are very chunky and a step-up PSU to drive the Neopixels would be a pain as they're hungry beasts that need 5V. Smaller cylindrical Li-ion cells seem to be unusual and I like the idea of easily swapped disposable cells.

The obvious starting point is making the shaft the place to hold the cells but AAs are too chunky and AAA cells make for a very long thin wand so I settled on N cells. These are easily available and a good compromise on size that matches up with the space I needed for the Neopixels in the tip. This has meant the wand ended up about 35cm long in total, pretty much exactly what I wanted from it. It's still a little chunky but short of swapping to alternative lighting, maybe the 3030 rather than 5050 Neopixels this is about as small as I can get it.

The Neopixels are beautifully bright, so much so that the translucent 'natural' PLA I used to print the tip doesn't really manage to diffuse them very well but as it's going to do very occasional effects I'm not worried about this.

I've used the accelerometer to do very basic gesture detection. Once the wand is awake, holding it level and twisting it changes the colours. Raise it up and you get a flame-like flickering up the tip, swipe it down and the effect rushes forwards and fades out. Leave it pointing down and it goes to sleep.

For finishing I hacked at the printed article with a Dremel, sandpaper and knife then covered it with some coloured varnish. The result is pretty wood-like from a distance.

She's off to the event soon, let's see how well it is received. I've done a very basic demo video of the working code, but given it's easy to reprogram and I'm barely using the features of the gyro I reckon there's scope to improve on this significantly.


Tuesday, 21 February 2017

More laser

Having bought a CNC engraver I got very caught up in messing around with the optional laser module.

I'd previously not considered a cheap diode laser would be worth having, especially due to their reputation for rubbish software.

However once I'd played with it and set up Laserweb this changed my mind and I ordered a 2.5W A3 engraver. The 5.5W models are twice the price and probably not twice as good, online discussion suggests they are far worse at intermediate power levels which are useful for engraving. If the laser modules come down in price later I can always upgrade.

It's a much simpler machine to build than the desktop CNC, with steppers directly driving a belt and dragging a carriage up and down the rails. So I got it put together over an hour or so and simply connected it to my existing Laserweb setup. The drive ratios needed setting but apart from that it 'just worked'. Now I need to tweak things like the maximum speed and acceleration as it draws quite slowly but straight away I started to get usable output from it.

Here's a little video of it engraving at max 25% power. This burns really well so I'm thinking 100% will cut some thin stuff quite nicely, just need to start experimenting.


My experience with the laser module in the desktop CNC has made me less paranoid around it, which is probably a bad thing. So I'm going to set this aside until I can find some time to make an enclosure with a safety interlock on the laser power. I'll just stick a normally open switch inline with the 12V power so the moment you lift the lid the steppers and laser get cut. The microcontroller onboard takes its power from the system driving it.

It'll have a Raspberry Pi inside to run Laserweb so hanging a Webcam off this to give an internal view when the lid is closed should be trivial. I quite fancy making a bit of a control panel on the front to control the Pi and also control power to the laser perhaps via a GPIO driven relay so the whole thing has a single on/off switch but this is verging on yak shaving.

Monday, 6 February 2017

Miniature particle accelerator

In a conversation with a friend about making a compact very retro computer thing, the old 'pocket' CRT TVs from the 80s sprang to mind as a good option for the display.

It seems they're available for little money on eBay and nothing says retro better than a genuine CRT. The display just has a different look to it, especially a monochrome tube. Monochrome tubes have no shadow mask to make red green and blue 'pixels'. It's just a uniform coating of phosphorescent material that the electron beam scans over uninterrupted and I always preferred this look. It's less tiring than a colour CRT display in much the same way the e-ink display of a Kindle is easier on the eyes than the standard screens in most tablets and laptops.

After about ten minutes of messing about, mostly taken up by finding suitable cables, I got a Raspberry Pi desktop displayed on it. No I don't really know what use this is yet but I love it.


Tuesday, 31 January 2017

Going fully open source with the CNC engraver

I've been playing with the CNC engraver and discovered a few things. First up is the controller is based off an Arduino Nano running open source code (grbl) but running an older, stable version (0.9). Another is that the z-axis was miswired, even for the software it shipped with, so I had to reverse the pins on one end of the z-axis cable. It's possible to fix this in software but it irked me.

Somebody from London Hackspace pointed me at LaserWeb as a good front end to the laser engraver side of things so I've started to investigate it.

Converting these Chinese laser engraver/cutter devices away from the slightly cheesy software they ship with to open source is a common question and an Australian woodworker has produced a breezy intro to doing this. It's for a different device but the fundamentals are the same.



The LaserWeb server will happily run on a Raspberry Pi and I've several sitting in a box. After a couple of hiccups going through the howto it's up and running. This needs a newer version of grbl so I've programmed the Nano in the controller with grbl 1.1e. It's easy to put the original software back on as part of the original CNC build is to program the Nano with a file they provide.

A big gotcha I did find is that the LaserWeb GUI needs ALL the components to be working. So if you try to use the interface and it's displaying error messages, particularly relating to WebGL, in the bottom right log window it just won't work at all. It looks like there is a server error because it says you can't connect but this can be down to the graphics library as it breaks a load of things in the app, not just the graphics previews. A very helpful person from the LaserWeb3 support comunity on G+ helped me work this one out.

Now I was down the rabbit hole of playing with the laser side of things I decided I wanted to be able to work safely while testing and sticking the whole thing in a box was going to make that irritating. I've got a load of cheap ~5mW laser pointer modules kicking around so I 3D printed a 'dummy' housing the same size as the 'real' laser module and fitted one of these.

This left me free to mess around without blinding myself or starting a fire. The laser may only pack a 500mW punch but that's enough to do both these things.

Having proved to myself that the thing wasn't going to smash into the end of its travel and LaserWeb turned the laser on and off reliably in a fashion that looked like it was going to produce sane activity instead of just melting something I didn't want melted I had a go at the real thing.

I found an .svg of the Coke logo on Wikipedia, scaled it appropriately in the LaserWeb interface and started burning. At first this had zero effect and I was wondering if the laser module was defective. As I had a box over the whole thing to prevent any chance of blinding myself I couldn't really see what was going on.

I don't really trust the cheap laser safety goggles I got from Banggood. I had a webcam pointed at it but the laser simply oversatured the picture so I couldn't see much.

Using the 'test laser' button in LaserWeb, which runs it very briefly at minimal power, with the box removed I could see the beam was totally unfocused. There wasn't any obvious way to fix this, but some experimental twisting of the module showed it can be focused. This is not obvious at all and not mentioned in the minimal documentation. Once adjusted carefully to make a tiny bright spot it engraves random wood quite nicely. This Coke logo was done by running it quite quickly doing multiple passes. I need to experiment somewhat with the engraving speed and at some point try to cut some thin material.


In principle LaserWeb has a 'CNC' mode too where it will handle CNC milling/engraving which I'll investigate as it would be nice to use the same software for both jobs. The more I play with this though the more I think I want some limit switches so it can home itself automatically and definitely prevent crashing into the end of travel this is a bit of modding that shouldn't be too hard to do.

Thursday, 19 January 2017

A productive evening

I've had a good evening of mostly tightening M3 nylocs. Eventually after about three hours my desktop CNC engraver went from looking like the first picture to the second one.

There were only a couple of moments of retracing my steps. The set of picture instructions you download were OK. However they've changed the design slightly and substituted some fasteners so you run out of shorter ones if you use them everywhere they suggest.

I've no idea if it works at all as I haven't powered it on, let alone installed the software. This is a job for tomorrow evening.