Xmas dress 2017

Uncategorized

For our Christmas do, I usually do something along the lines of …well, lights. In my family we have always celebrated the Solstice and the sun coming back, because quite frankly, Winter is a bit miserable.

So, last year I wore a crown of ivy, berries, and little warm white lights.

IMG-20171106-WA0008 (2)

This year… I figured I’ve got a bit better at coding, so why not use that to make my lights a bit more interesting?

IMG_r32qnh (2)

I drew this sketch with all the enthusiasm and disregard for practicality of a 5 year old. First step was actually having a dress to put it in. Sewing is something I’m capable of, but I don’t have the patience to sew sequins on. Cue Chinese manufacturing.  Turns out if you send your measurements along with a rough sketch of what you want, then wait weeks and weeks, eventually a dress turns up.

IMG-20171219-WA0042 (2)

It also transpires that I can’t measure myself correctly, so the V shaped back is going to be a little more V-y than first planned. If you want a laugh, the zip also got stuck when I was trying it on, and I had to be helped out by a neighbour and a can of WD40. Plus point, the dress smells better now.

While I was waiting for the dress to arrive, I made up some prototypes. They kind of worked, but were a bit ugly. This version is a halloween witches’ skirt with red LEDs underneath – sort of works, and you get the idea of what I was aiming for. I wanted SNOW though. The lights on the prototype went up, not down. 😦

Screenshot_20171223-214426 (2)

It was time to be brave and dip a toe into Arduino to drive Neopixels. I got some WS2812B’s on Lorraine Underwood’s recommendation – they’re the ones she used for her awesome weather display stairs.

So, when you don’t know how to do something (in my case, ANYTHING) with an Arduino you turn to the internet. I used Adafruit’s tutorial on the Trinket to get the right libraries installed and to learn how to upload code onto a Trinket. Nothing gave off magic smoke, so all good so far.

Next, time to research falling snow patterns. My local Emporium of Shops (referred to as Meadowhell) had some great icicle patterns that appeared to drip snow. I nosied at their xmas decorations , but after a near miss with a balcony I gave up trying to look at their microcontrollers, and to be fair the security guard was giving me suspicious looks.

TO THE INTERNET!!!! I really admire the work of Kamui Cosplay – so I bought a book of Svetlana’s called Advanced Lights – Animated LEDs. You can get them from Adafruit or from her website. It’s a very fun and well written book with lots of little asides, and gave me the confidence to have a go at altering some code. Her Nova cosplay lights were based on these LED falls by Phillip Burgess, which in turn were based on these shoes by Becky Stern, so I guess my dress code is in good company.

code

I looked at the colours in the LED falls and how they were set – and changed the code so that it was shades of blue, white and cyan. I also think I may have found a bug in the code on the page – you need to add the word “const” before the line about the gamma correction table (line 11).

I uploaded this code onto the Trinket, and then tested it with one strip of 15 Neopixels. BOOM! Happy times, it worked straight off. I tested it out on all of the pins in turn, from 0 to 4. Still good. Next I had to work out how to wire up the strips to be stable enough to hang around all night on a skirt and not be a horrendous fire hazard or giant tangle.

There is a guide to wiring the LED falls on the tutorial page, but I wanted mine to be a lot more spread out to go around the dress, instead of all radiating from the same point, so I grabbed some card and made an extremely poor and non technical wiring diagram.

IMG_20171220_111222 (2)

The warning on the Adafruit tutorial says your soldering has to be Rock Solid, so I knocked up some mounting plates for the top of each strip so that the solder joints wouldn’t be under any stress. I cut them out of 3mm scrap perspex on the laser, with mounting holes on the top, and a textured front so that when I inevitably glued the neopixel strips on with hot glue it’d have something to grip on.

2017-12-20_12_14_42

Soldering took ages because I stopped after each strip to re-test that they still did what I wanted, because there’s nothing worse than working your way through 42 solder joints and *then* finding out there’s a problem.

Next, I glued each strip to a mounting plate, and threaded a cable tie through the holes I’d cut. I then liberally taped with all up with black electrical tape, kind of to hide the joins and also because I feared bits dropping off.

The installation of electronics into the dress was a lot easier than I thought – largely due to the cable ties I nabbed off Jon, and the way that I wanted it to be removable for washing the dress. A cable tie through the mounting plate, then a safety pin through the cable tie and onto the dress. A few more cable ties sorted out any baggy wires, and then finally I pinned the board to the back, and added a USB cable so I could run the dress off a powerbank.

Yay! All was lovely. Until I plugged in the powerbank. Turns out that testing the electronics with mains power works lovely, but a powerbank just doesn’t give out enough current to light all of the strips. Yes, I should have thought of this before.

Cue a change to LiPo batteries. Which also couldn’t give enough oomph, so I had to double the price of the electronics (I’d spent £20 so far) and fork out for an Adafruit Powerboost 1000.

AND THEN IT WORKED!!!!

IMG_t6eyr2

I know this isn’t a very detailed write up, but I made the dress for fun, rather than for a tutorial. Maybe when I make one for the toddler in the photo I’ll do a proper tutorial.

Parts used:

  • WS2812b reel of pixels, cut into 15 pixels per strip.
  • 7.5m of black stranded wire
  • 7.5m of red stranded wire
  • one scrap proto board liberated from Botlab
  • lead free solder
  • scrap 3mm perspex
  • about 20 black cable ties
  • 5v Adafruit Trinket ( Adafruit (USA) or Pimoroni (UK)  )
  • Adafruit Powerboost 1000 ( Adafruit (USA) or Pimoroni (UK) )

 

Be brave!

Uncategorized

Everyone has to start somewhere. I started using Python around a year ago, but have no formal training in it. I expect this makes me a beginner.

So why am I writing tutorials if I’m not an expert? Well, I figured there are a lot of people in the same boat as me. How many times have you blindly followed a tutorial, made something work, and then had absolutely no idea why it worked? Been frustrated that you think you’ve followed it correctly, but have no clue why it’s not working? This is why I started to write tutorials. If I am putting the effort in to find out why something works, I want to share that effort. I want to overexplain, because you can always skim over extra info, but you can’t fill in what isn’t there. I want to be the person you don’t feel daft asking questions of.

I want to know why things work the way they do, and why we put bits into programs and leave other bits out. Why do we have to use sudo sometimes, and not other times? Why is it bad to import something as a new name that you’ve chosen (found that out this week)? Why do you even need to import things? What happens if you don’t? And other such questions.

In a sense, I’m sharing my learning journey with you. I’m making mistakes publicly so you don’t have to (but if you do, I want to show there’s no shame in it). I am asking the experts WHY until they get sick of me. I am finding out there are about a billion different ways to do even the simplest task (maybe an exaggeration, but it seems like it), and whichever way you do it, there will still be a more efficient way. A lot of coding is about doing things the easiest way, but sometimes easiest means that you have to think of future changes that you don’t know about yet.

I’ve done things the difficult way, only to have Jon lean over my shoulder and say “you know, there’s one command that will replace all ten of those lines?” – rather than screaming in frustration I do a little happy dance that I will never have to type out those ten lines again because someone showed me a shortcut. It’s much like learning a spoken language. I’ve found myself in Germany asking for a thing-to-make-fire because I didn’t know the word lighter and I didn’t fancy raw bacon sandwiches on the campsite. I see learning a coding language like that. Until I know the right word, I’ll put together my own version which works for now, but will be happy to replace it with the right word once someone points it out.

Which is why I want you all to keep telling me if I’ve messed something up, or if you think something could be clearer. Just as a Nativity play may not start off as fit for Broadway, doesn’t mean that with constant refinement, talented performers, and a good script, it shouldn’t end up there (yes, Nativity has just started in the West End). I’m going to keep picking myself up and refining my performance until I’m fit for Broadway, and those of you who are more experienced are my coaches.

Halloween Squishy Soundmaker

Setting up a Piglow

Building the Tiny 4WD

Beginning With Blinkt

Googleaisaur

Uncategorized

Been meaning to put this one up for a bit, but time, projects, workshops, work, life, etc.

With the MagPi magazine issue 57 there was this awesome cover freebie – a google ai kit, just add Pi. After scraping all of tesco’s stock for my nearest and dearest, I decided mine would be a lot better off in something more substantial than the card housing that was provided with the kit.

At B&M I found a dinosaur hobby horse, which of course was crying out for conversion. It already had a dinosaur roar in it, which I left in for Obvious Reasons.

Rawr!

The MagPi kit is pretty easy to follow, so I won’t repeat their instructions, the only thing I wish I hadn’t done is run the command

sudo systemctl enable voicerecognizer

because it’s difficult to change things like wifi settings when you go to different places. I should have put it in a crontab instead to run as a background thing.

Here are some build pictures which are pretty self explanatory.

The Googleaisaur is running off a Pi 3 with Google AI kit, powered by an 8000mAh battery pack. It runs for a working day with occasional use by anyone passing.

Pong in a bottle

Uncategorized
DSC_1515

The kit, bought for £9.99 at Menkind.

In which I put a Haynes “retro game” into my recycling. Annoyingly, they’re currently sold out here but at least you can have a look at what the project was supposed to look like. Amazon and Waterstones do them, but at full price.

DSC_1522

Plastic bottle for scale vs original box.

I’m not one for following instructions, and I’m rapidly running out of room to store all the projects I make, so one look at the box and the sheer amount of space inside that wasn’t being used, and I decided to downsize it. Given a choice of a jar, can, cereal box, or a plastic bottle, the bottle seemed easiest to use, although that turned out to be a bit of a mistake. See later.

DSC_1519

The original kit.

So, step one, lay out the components and work out how they’ll fit. The original kit has a coin slot to start the game, but given the space constraints I changed it to a tactile switch. All it needs to do is send a signal to start the game, so I soldered two legs of it (the other two are essentially duplicates) to the points that would have had the coin detector (two bent bits of wire). Soldered all the rest as per the instruction booklet, having remembered to tin my soldering iron, unlike last time when I apparently made some duff joints.  It was straightforward, although I might have to get one of those third arm things.

DSC_1524

Testing it all works.

Step two, test it. Worked fine straight off, so yay and woo!

Step three, make holes in the bottle to fit the controls through. I had initially planned on cutting a hole for the LED display to sit in, but once I figured that they were bright enough to show through the bottle I changed my mind. However, I’d already cut the hole so I lined up the battery holder with that on the back so there’s an easy way to change the batteries without having to take it all apart.

Making holes in thick plastic is harder than it sounds. I used an awl and scissors. Great mess and wonkiness. I tried my Dremel. Nope. Just melted the plastic and coated the tip. Power drill. This worked the best, but left scuffy bits of plastic hanging off. I got rid of them with some nail clippers (choice of tools limited to what I have) and FINALLY it was ready. In all the hassle, I forgot to take any photos.

DSC_1526

Now, I do not have very small hands. Or even small hands. I have giant hands, which although great for spanning more than an octave on a piano, are terrible for fiddly jobs. Still managed to wedge the controls through, and only snapped one tactile switch cap in the process (a success for me).

All that was left to do was to put the caps on the potentiometers that serve as the controls, and then test it in-bottle. There was a squee.

pong

SOME TECH BITS (mostly thanks to google)

If you’re interested, the board has an ATmega8 controller , two shift registers, the LEDs are laid out in a 10 x 12 matrix, and it runs for approximately 10 hours on 3 x AA batteries (4.5v). The linear potentiometers are 10kΩ.

DSC_1521

The board, up close.

The board also has an unused set of 8 ports, and a 6 pole ISP connection that you could use to reprogram it.

Post-Apocalyptic Tiny 4WD

Uncategorized

madmaxine

I’ve always been a fan of the Mad Max series, and also of great mean-looking cars. I recently went to Pi Wars, an event where Raspberry Pi computers are used to control robots to complete a number of tasks, and was inspired to make my own. Having not made a Pi powered robot before, I started with a kit from Coretec Robotics, which is the brainchild of Brian Corteil, and sold by Pimoroni.

C9239BLXgAAIc8f

The kit is so simple to put together (especially if you follow Emma’s instructions here) that it leaves you with a great deal of time to customise the project. Although the kit comes with a front piece to mount a camera on, I don’t have a camera yet so I left it off.

It swiftly became a glue gun frenzy after I’d made the robot chassis itself. Wooden barbeque skewers were my starting block, and then I glued plant markers on to make the sides. I used non slip matting for the “netting”, and a power brick from Poundland to run the pi and motors off. It was fun making fimo skulls and bones, which I threaded on to some strips cut off a chamois leather, and then used the rest of the chamois to make a dress for the doll.

maxinecloseup

Duffed everything up a bit with some matt black paint and some bronze plasticote, and then it was ready to roll.

To make your own, you’ll need a pound shop visit for Things To Glue On, a Raspberry Pi Zero W (wireless and bluetooth useful for remote controls), a Tiny 4WD kit, and a controller. I used a Rock Candy PS3 controller, as Brian has handily put the code for it on github, but I understand he’s now added blue dot control, which means you can use an existing smartphone or tablet to control it.

Eurovision Crown 2017

Uncategorized

I’ll get right out there and say it. I love Eurovision. It’s one of my favourite televisual events of the year (right up there with Tom Hardy reading the cbeebies bedtime story). I decided to mark the occasion by making a visual excitement indicator. The tweets came later.

DSC_1295 (2)

I wanted to show how excited I was about each song during the contest using bright shiny lights, and LOTS of them. I have been doing a lot of stuff with Flotilla, a bright and cheerful system from Pimoroni that supports up to 8 little modules running off a dock (which has an actual octopus printed on the back). One of those little modules, the Rainbow, is a stick with five lights on that you can change the colour of. Bingo. I would actually put seven of them on the crown, but I am a muppet and cut my cardboard too short, and am skilled in the art of being lazy.

DSC_1284 (2)

So, in short, there are five light strips running off a dock connected to a Raspberry Pi Zero (a very small £5 computer), which is running a program that changes the amount of lights on each strip depending on what rating I give a song. I used the Dial module (another Flotilla part) to give a rating with. I can turn the dial to any of 1023 positions (yeah, I can’t tell, which is why the five lights around the edge come in useful) and a line of code takes this and makes it into an “out of five” rating. I can see the rating out of five light up on the dial, which tells me that (hopefully) the light strips are displaying that rating. As a nod to the rainbow glitter joy that is Eurovision, I chose a rainbow light pattern to cycle through, no matter how many lights are on.

DSC_1294 (2)

In the centre of the crown is a Pimoroni ScrollPhatHD mounted to the second Pi Zero, which is a Pi Zero W (£10 tiny computer). The difference is because I need this one to connect to WiFi, because it is running a program that goes to twitter and looks for the hashtag #Eurovision2017, then takes the text from the tweet and adds it to a queue, which then displays as scrolling text across the ScrollPhat display. The code for the program was written by Glenn Jones and is available on github.

DSC_1292 (2)

After I fixed up all the tech (with a fair amount of help from Sandy McDonald because I am a Python noob) I mounted it all on scrap cardboard using a combination of tape and M3 plastic screws, and glued everything shiny I could to it. My Christmas decorations box has taken a hammering. A bit of gold paint and glitter later, and we are complete.

DSC_1297 (2)

Both Pi computers run off batteries, one is using a lithium rechargeable battery, and the other is using a £1 emergency phone charger that I got from Poundland. The batteries are mounted with tape and willpower behind the crown, so the entire rig is wearable and portable.

Have a great Eurovision, whether you’re watching it or not! After the song contest finishes I’ll probably change the hashtag in the program to whatever event I’m at, so look out for it at Maker Faires or RaspberryJams.