making technical thoughts

Making real things

I've sort of been busy the past few months jumping from one project to the next without taking time to have a pause, but I've just finished my Iron cat helmet that I've been working on for a few months so it feels a good time to sit down and do a quick round up of everything I've been busy with.  I'll do a full write up of each one over the next few weeks so keep a watch out for those if you want to know more.

October and November 2016.  I was lucky to get on a series of workshops run by code liberation in conjunction with the V & A, Goldsmiths College and Machines Room.  This culminated in showing our games at the November V & A Lates. This was a great introduction for programming in Unity for me.  I got to use my Blender skills that I had been learning with my Red Robot project by building a 3D duck model for the game and I also realised how much I love making things with wood.

At the start of this year I took a six week course in using a metal working lathe at Uxbridge college.  This was a bit like being back on my BTEC again after all these years. The course wasn't amazing but I do feel a lot more confident using a lathe safely which is what I wanted .  Now I just need to work out how to get a lathe and a workshop of my own.

In January I started making what I have called #IronCat  an Iron man helmet for a Lucky arm waving cat.  the first attempt was scrapped as the pattern was too complicated when it was shrunk in size but I managed to find a simpler version.  Lots of hot glue, Papier Mache, filling,sanding and spraying later its finally finished.  Lots of mistakes in it and things I would do differently but all in all its not turned out too bad.

 

Inspired by this Tutorial by Frank Ippolito on the Tested Youtube channel I painted a childs face mask to be half beautiful and half horror.

 

I then made a wooden skeleton model kit and applied and improved the same techniques I started learning on the mask.  I was so happy with this I've already bought another Skeleton to repeat and improve on, with the aim of selling them on Etsy.

 

So that's that then,  oh and there was a Saturday afternoon taxidermying an Hamster in that sneaked in as well and a model car from the same website that I downloaded the skull model

It wasn't really  a conscious decision to spend so much time making physical things and not coding or playing with LEDs but I was wanting to do more solid 3D work to help me think in 3 dimensions for when working with Blender and I want to apply some of these techniques to exploring  V.R and mix this with practical effects work.

 

Whats next?  Well I'm hacking a Tiny Tears doll into something more interesting and fun.  This will be back to coding and raspberry Pi but also mixing in some sculpting, silicon molding and resin casting to keep up the theme of playing with real things.

 

 

 

 

 

design Projects

Making the virtual robot army

There comes a time in everyone's life when you just have to face up to the fact that having a robot army is nothing less than awesome.  I've decided to start creating mine using Blender, because the only thing better than my own robot army is a robot army I can animate and put into virtual worlds.

Its been a while since I've done a purely digital project and over a year since I did anything in Blender and I wanted to get back into it and refresh and improve my skills.

The first stage is create a drawing in Illustrator, actually make two. One front on and one from the side. Set these as background images in Blender and begin the modelling.  The basic modelling was really easy, fortunately my robot is a simple shape. The trickiest part was the cut outs in the body. There is a boolean modifier too that allows you to overlap two mesh objects and calculate the difference between the two. This has the effect of removing the overlapping part of one mesh from the other. It took a while to get this to work reliably, but was quite quick to do after some practise.

Basic Robot model
Basic Robot model

The arms were initially made from cones with the ends cut off but were later remodeled by creating cylinder and reducing the size of one end face.

After the modelling was finished next came the U.V mapping and texturing. U.V mapping  is the process of unwrapping the model along the edges to create a flat net. This net can be saved as a image file, exported to Photoshop and coloured in. This mostly went quite smoothly but I had trouble with the arms distorting the image which is why I changed from a cone to a cylinder.

Robot model with Head textured
Robot model with Head textured
Fully textured Robot
Fully textured Robot

I was reasonably pleased with the outcome of the U.V mapping and texturing as it was the first time I had done it.  The next time should be better as I now know a few hints and tips that will improve it.

I now have a Robot that looks like a Robot, but its still very static and can't move.  I would like to try some animation and also use the Robot in 3D computer games written in Unity so the next stage is to rig the Robot.  This creates a skeleton inside the model that can be moved around and the outer body of the robot will move when this skeleton is moved.

Robot showing the Skeleton rig
Robot showing the Skeleton rig

Like the U.V mapping the rigging isn't something I'd done before and by the end I knew how i would improve it for next time. Also the Robot model isn't really suited to being rigged as the hip and shoulder joints aren't really correct. This causes the body to distort when it walks as their is interference between the top of the leg and the bottom of the body.

Walking Robot showing body distortion
Walking Robot showing body distortion

I had to put the project on hold at this stage as I was picked for a course learning to write computer games in Unity which would finish in showing our completed work at the V &  museum Friday Lates Event. I'll write about that next time and will bring you more Robot updates soon

 

thoughts

What I Think

I went to the new Switch house at the Tate Modern this week. While I was there I noticed one of their feedback forms. The Form asks "What do you think?"   I think the form was actually asking about what do you think about the Tate, but I felt the need to share a lot more of my feelings, I'm not sure where the feeling  came from but it felt ok to write down what I was thinking.

what-do-you-think-1

 

I decided to share these feelings here.

I think its amazing the Earth orbits the Sun.

I think there are towns and cities I will never visit but the people in them will effect my own life in ways I will never know.

I think of the refugees and homeless who want a better life as a man in a Rolls-Royce drives past.

I think of the machines and technologies we design and build that can bring so much joy and laughter or so much pain and suffering.

I think of Coffee and fruit that I taste and enjoy.

I think of books,games,art,films.

I think one day everything will be better.

 

what-do-you-think-2

 

 

 

 

Art design developer making Projects technical

What I did with Lightning data,a Raspberry Pi and Anti-static bags

Do you ever wake up in the middle of the night when there is a thunderstorm happening and think "I wonder if its possible to make a digital sculpture that visualises lightning data using LEDs"?
No?
must just be me then.

That was back in March and after lots of faffing around with wire, plastic metal and code I have made it happen, here's how.

The first thing was to see if it was actually possible and for that I had to see if the data was available. There are commercial services that provide the information but they tend to be quite expensive as it is valuable for I think Insurance and similar services. I found an amateur network of people who run detectors and upload the data but they don't publish the data unless you have one of the detectors. I tried the Met office but they only publish data for lightning data for around the U.K, they publish an image file not actual data I could do anything with and there isn't enough lightning happening around the U.K for it to be interesting.

After finding lots of Flash based sites that would be either difficult or impossible to extract the Data I found the University Of Washington global map of Lightning data http://wwlln.net/new/map/    A bit of poking around and it was possible to find the underlying data to work with http://wwlln.net/new/map/data/current.json 

Next was the technology choice.  It would be powered by a Raspberry pi and use Neopixel strips for the LEDs.  I considered  both Python and NodeJS for writing the code. Python would probably have been the better choice and I think it would have been faster and easier but I hadn't done any NodeJS for a while and I wanted to dip my toes in again so that's want I plumped for.

First part of the develpoment was to control the Neopixels from the Raspberry Pi.  I used this Library https://www.npmjs.com/package/rpi-ws281x-native and set to work playing with the Neopixels.

It was around this time I had the idea of using metallic anti-static bags.

The eagle eyed among you might notice that I'm  actually using an Arduino for that test

I also started to think about what the sculpture would look like.  Not straight and angular like a single fork lightning strike, not a  sphere with dots plotted on it, I wasn't going for an artistic interpretation more than a simple  data visualisation. I began to think about  the swirliness and chaos of clouds and storms and started sketching some ideas.

I eventually settled on four long strips of  Neopixels, intertwined, each strip representing one quadrant of the earth taking the point that the equator and the Greenwich meridian intersect as the centre as that seemed a sensible thing to do.  I fell into a bit of an hole learning about map projections and plotting the data onto images of the Earth using P5JS .  It wasn't really necessary for the final outcome but I wanted to check I was doing everything correctly and it felt the right thing to do.

lightning data plotted onto map of Earth

I did some prototyping in P5JS to get an idea what it would look like and to  start working with the data.

Now I knew I could control the LEDs, had an idea of what I wanted the end result to look like and I was comfortable with the data I began to pull it all together.

To stop the Neopixels just from dangling down limply I came up with the idea of using the waterproof strips that have a clear plastic covering over them, into this I pushed down a thin solid wire that I had inserted into a clear heatshrink sleeving to prevent it electrically  shorting the LEDs strips.  This was a lot harder than I had anticipated and there was a lot more swearing than i thought there would be.

These strips were then covered in sleeves  I had made by cutting and gluing anti static bags. That was also more difficult than i thought it would be,involved burning my fingers with hot glue  and I didn't really work the best way to do it until it was finished. But it kept me amused on twitter for a few evenings.

A few hours were spent wiring it all up, crimping the connectors together, then taking it all apart and doing it again properly so it would actually  work and its now finished.  It can run either with the Raspberry Pi connected to the internet and pull down updates to the data or offline if there is some data loaded.

There are still some bugs in the software that need fixing.  I want to update the code so that it automatically detects if there is a live internet connection and if not will run in offline mode. It has run successfully for several hours per day for five days at an art show for Science Museum staff.

 

I've already started on getting rid of the breadboard wiring for the chip that converts the output from the Pi to a voltage level suitable for the Neopixels but thats a story for another day.

PCB next to bread board with chip and wires

 

 

I'd like to exhibit it further  but don't really know how to go about that. I would love to hear from anyone who could help me with further exhibiting or  knows how I would do that.  Leave a comment or get in touch on Twitter.

So here it is running

 

developer making Projects silly

Poking Mangoes

It seem like half the world has gone Pokemon Go crazy. The rest of the world has just gone stupid.

In silly times like this I like to make daft things.  Mostly inspired by this

And it turns out lots of people are using the #pokemango hashtag.

I decided that Pokemango should be a real thing, because that's the sort of thing I do.  Remember I made Farting statues, this is the level I work at.

Pokemango logo

 

A few  technical details you might be interested in.

Its built in HTML/Javascript/CSS.

The animation of the mango is CSS. I was only going to have a single version of the animation but triggering the same animation twice in the two different CSS classes didn't seem to work. I might have a look at why that is, but having two separate animations is nicer anyway.

It could have been done in just CSS if it was intended only to work on desktop browsers and be triggered by mouse hover over the mango but it felt that to poke a mango needed a definite click and not just a hover. And i don't think that would have worked on mobile browsers any way.

Its a responsive web page so should work on both mobile and desktop browsers.

I haven't used any browser specific CSS prefixes. Its been tested on Chrome/Firefox/Safari on a mac and Chrome on a Android tablet. I haven't tested it on a iOS device because I don't have one. If it doesn't work on one of those happy to make any changes if needed. Its not tested on internet explorer because frankly i couldn't care less about that browser.

The Sentence 'Poke the mango, go on poke it'  is a web font.  I thought as though i was doing lots of other CSS I might as well throw that in there as well.

The code is up on github if that sort of thing interests you, of course its all in the web page so you can look at it on there as well.

Any way it can be found at pokemango.bringtherainbow.com have fun.

Art making Projects

Making a new Skull

Most people would make a papercraft skull  as a Halloween project , but I'm not most people so I made mine in April.  This isn't the first skull I have made.  The first was around two years ago, it was made of paper, cut out with scissors and glued together using Pritt Stick.  It was always my intention to add LEDs to the eye sockets to make it extra spooky but because of  the strength and quality of the build it is  a little fragile and i didn't want to destroy it.

Having gained some more experience from the Oceans Project Little boat, as well as an X-Acto knife, a cutting board and PVA glue I decided to re-visit this project and add those red LEDs. It would also be a good project to control the LEDs from a small microcontroller programmed in C that I was exploring in my last blog post.

The first step was to print the Skull onto card.  I chose 160gsm from Ryman It is thick enough to have the required strength but still easy to work with.    The Skull design is from Ravensblight.com   As well as the Skull there are a lot of other spooky/monster themed Paper craft projects to make.  It was the design I used the first time.  I looked around again and it was still my favourite to use.

The only slight quirk to this design is that there are no tabs to glue together.  All the joins are made by placing edges next to each other and using sellotape.  This means that it is important that the pieces are cut out accurately.  The only place where i went slightly wrong on this was on the jawline.  The line prints out as a very shallow 'V' but the joining piece is perfectly straight.  It looks to be a slight error caused by the resolution of the printing rather than a mistake in the deisgn.  If I built the model again I would check mating parts before cutting  to make sure they will  line up correctly when joined.

Learning from my first build of the skull I glued re-enforcing strips along the joins as I don't think the sellotape will stay stuck for too long.

 

Here is build in photographs.

Printed skull design
Getting ready to start

 

Eye holes cut out of eye sockets
Eye holes cut out of eye sockets

 

Centre section of face cut out
Centre section of face cut out

 

Eye sockets cut out
Eye sockets cut out

 

Eye sockets joined to centre of face
Eye sockets joined to centre of face

 

Forehead joined to face
Forehead joined to face
Forehead sections joined together
Forehead sections joined together

 

Jaws cut out and ready to join to face
Jaws cut out and ready to join to face
Jaws joined to face
Jaws joined to face
Joining rest of top of skull
Joining rest of top of skull

 

Bringing sections togeth to form the finished skull
Bringing sections together  to form the finished skull
Eye sockets cut out
Eye sockets cut out

 

Eye sockets made up, with LEDs in them
Eye sockets made up, with LEDs in them
The finished skull, also has nose attached
The finished skull, also has nose attached
Finished skull with LED eyes lit up
Finished skull with LED eyes lit up
Original paper skull (left) next to new cardboard skull
Original paper skull (left) next to new cardboard skull

 

All that is left now is to connect the LEDs up to a microcontroller, so they can be controlled from a switch or a sensor.  I've also downloaded another project from Ravensblight that i'm going to have a go at.

 

 

 

 

 

 

 

 

 

 

 

 

developer making technical

Going Beyond Arduino part 1

This is Part one of probably three. but that might change.

I love Arduino, you should love Arduino, we all should love Arduino. Good that's settled then. But if Arduino is so good why would I want to go away from this.

Like a lot of things I start playing with, I want to take them apart,explore them deeper and find out how they work, even if that means things get broken in the process. With Arduino that started when I started listening to the Embedded.FM podcast. If you don't listen to Embedded.FM I really recommend it, Elecia and Chris cover everything from Hacking BB8 toys, through STEM education to the control of quadcopters and satellites, with the occasional cat interview thrown in for good measure.

Right, back to Basics and a few terms explained. The Arduino is a microcontroller board. A microcontroller is a simple computer that has all the components that are normally all on separate chips and connected together on one single chip.

To make programming easier the microcontrollers on Arduino boards are pre-programmed with a bootloader. The bootloader is a small program that runs on the microcontroller to allow the code to be sent straight from your computer to the microcontroller without any additional hardware needed.

My motivation when I started with this was to completely remove the Arduino environment. This meant no bootloader, no Arduino IDE or libraries and to write the code in C.

The first step I took was to buy a ATTiny85 microcontroller. These are the chips that are found on Adafruit Gemma, they are simple and cheap enough to not have to worry if things went wrong.

After getting the ATTiny85 working I started playing with the chips on an existing Arduino board that were already programmed with the bootloader and also through up other surprises I didn't know about. I'll cover those in a future part, when I start to

Before I begin its worth mentioning that all the hardware and software I'm talking about is relevant to the Atmel AVR chips which power the majority of Arduino boards. There are some boards that use ARM or Intel chips. I haven't explored these boards yet.

To program the microcontroller without the Arduino environment two things are needed a programmer to talk to the microcontroller and software to send the code to the microntroller.

There a lots of different hardware programmers available, its possible to set up an existing Arduino board to program.
This is the one I have,
USBASP Programmer

it plugs in to the USB port, includes a cable and adapter to convert the header on the cable from 10 pins to 6 pins. The other small device in the centre of the cable is a breadboard adapter from Adafruit that makes using the programmer with breadboard easy.

Searching for usbasp on ebay will turn up loads of these, some the bare boards and some in the nice green enclosure like mine.

The software needed to send the programs from your computer is called AVRDUDE. There might be other software for doing this but I'm not aware of any.

For installing AVRDUDE Limor Fried (Lady Ada of Adafruit) has tutorials for Windows, Mac and Linux. 

I installed AVRDUDE by installing Crosspack as suggested.

Its worth having a read of all of Lady Ada's AVR Programming tutorial. I found it really useful.

So thats the beginning covered, the chips,the hardware and the software. Next time we'll build a simple circuit and program the ATTiny85 using the USBASP programmer and AVRDUDE.

Art developer Projects thoughts

More Ellipses, lots of Ellipses

If you saw my last post where i showed I'd been playing with drawing ellipses in P5JS I mentioned that I'd been trying to create  a simple animation of circles of continually decreasing circles. The result of my first attempt was interesting and I think quite beautiful, so here is is again.

See the Pen NxBJdy by Catherine Jones (@m-fkill) on CodePen.

Well after that I carried on. I thought making the circles as individual objects and then repeatedly drawing them at different sizes might be the way to go.

It wasn't but after playing with the parameters it gave an interesting effect

See the Pen QyZmpM by Catherine Jones (@m-fkill) on CodePen.

The third attempt to the object orientated approach further.  Each circle would be an individual object and I would give them a start radius, reduce the radius on each frame. Then when the radius reached zero, reset it back to the original size.

This sort of worked but it tended to create batches of circles with different gaps to other circles.  I think I could have made it work by working out the number of circles I needed for a particular canvas size and gap between the circles.  But it felt that it was starting to get complicated.

Of all the attempts though I think the result I ended with here is my favourite. Seeing the Circle pattern appear to grow, stay steady for a while then it sort of implodes on itself before finding its actual final pattern after around one minute was sort of cool, I couldn't have predicted that. If I had wanted to come up with that sort of effect I certainly wouldn't have gone about it that way.

See the Pen OMBvmR by Catherine Jones (@m-fkill) on CodePen.

After rethinking what I was trying to achieve and looking back at my previous attempts and what I had learned. Finally coming up with the working circle pattern was a lot easier and the simplest code of all the previous attempts. But i couldn't have done it without the others.

See the Pen BjqrZp by Catherine Jones (@m-fkill) on CodePen.

Art developer thoughts

Playing with ellipses

Have been playing with P5JS a lot recently.  Was wanting to create an animation of continual decreasing circles.  It didn't really come out like I intended but I like what did happen.

Also trying out using codepen.io for putting the Javascript experiments online

See the Pen NxBJdy by Catherine Jones (@m-fkill) on CodePen.

Art developer Projects

Making a Game

For the last eleven weeks i've been taking a online course introduction to programming for the visual arts with p5 js .P5 is a  Javascript library that makes creating art and interactive web experiences simple and accessible.

As well as introducing P5 the course has looked at different aspects of art created through software and shown historical examples to put the course into a wider context.

The last assignment was to write a simple game.  P5 isn't really intended for writing games but the course has covered enough to make a simple game possible.

I'm actually pleased with the outcome of my game and have had some good and positive feedback from my course mates.  Its not fully polished and finished but has the basic mechanic of the game.  It took me around seven hours on Sunday starting from scratch.

I'll probably update a few things and get it working on mobile devices. I've not tested it yet but think the canvas size might be a problem.

It doesn't have a proper name yet, the best i've got at the moment is Super Circle Colour match. It can be played at Super Circle Colour Match.

I've noticed it runs faster on Chrome making it harder than it does on Firefox, so thats a tip if you aren't good at this sort of thing like me.

Anyway have fun and let me know what you think,either in the comments or on Twitter