Archive | Concepts RSS for this section

Virtual retinal display

Built a retinal projector last night just for fun (and because i was curious what kind of image quality could be achieved).


Works Well, Produces a crystal clear image straight into your eyeball. unfortunately it seems that the alignment of everything and positioning of the eye needs to be to accurate for any practical use. The plan was to come up with a setup allowing us to make some kind of FPV goggles with this however without a lot of work this will not be stable enough on your head to remain reliable. the focal point must pass through your iris so a few mm of movement will cause you to loose the picture.

How It Works:
Image is produced by the Pico Projector. it passes through a variable ND Filter made of 2 linear polarising lenses, passes through the glass, reflects off the concave internal side of the magnifier (for refocusing) before finally reflecting off the glass slide and into the users eye (placed above).



New Hexapod Designs Soon

Recently iv been working on a 2nd revision of the chassis used for my hexapod. So far I have redesigned the legs and have a clear idea of how the new body will look.


The new design focuses on increasing the range of motion, functionality and reliability. I have also been trying to get rid of the ‘prototype’ look of the old design in favour of a sleeker and more stylised appearance.

Finally cut the new legs

These parts have been laser cut and are now awaiting a sunny day to get painted. I have also painted a spare leg in the planned colour scheme as a tester. This is slightly messy due to the fact that it was painted whilst assembled, the new legs will be painted before assembly so this should not be an issue.

hexapod test leg

The long-term plan is to eventually release all of the designs for this hardware as open-source. This will probably happen once I have finished the hexapod and am happy with all parts of the design. Hopefully that will not be to far away but development is slow at the moment with many coursework deadlines approaching.

One Giant LEAP For Robotkind

Finaly my long awaited Leap Motion pre-order arrived so I decided to see what I could do with it.

After playing with some of the demo programs I noticed on there was a Processing library on the leap developer site (can be found here). The control program for my hexapod is already written in processing so adding the leap was relatively easy.

All I have done currently is map x, y, z, yaw, pitch & roll of the users hand onto the body of the hexapod. The smoothing and inverse kinematics are then done and sent to the hexapod over TCP/IP. Raspberry Pi on the hexapod receives this with a python script and outputs the values to the servos.  Hand tracking with the Leap is enabled or disabled by a key tap gesture with any finger.

To add this to my code it was as easy as including the library at the top of the sketch:

import de.voidplus.leapmotion.*;
LeapMotion leap;

Then initialising the leap in void setup()

leap = new LeapMotion(this).withGestures("key_tap");

and setting position from the Leap in main:

if (enableLeap == true){
 for(Hand hand : leap.getHands()){
  PVector hand_position = hand.getPosition();

  HexapodOrientationYaw = hand.getYaw();
  HexapodOrientationPitch = hand.getPitch();
  HexapodOrientationRoll = hand.getRoll();

  HexapodPositionX = hand_position.x;
  HexapodPositionY = hand_position.y;
  HexapodPositionZ = hand_position.z;

Turning the Leap control on and of is done by a seprate function which runs when a gesture is recognised.

void leapOnKeyTapGesture(KeyTapGesture g){
 enableLeap=!enableLeap; //toggle Leap on/off
 delay(200); //small debounce

When I get some time I hope to add the ability to use both hands to control the front two legs. This will allow for manipulation of objects through the Leap

Lego Micro Quadcopter


Recently I managed to get hold of some spares from a few Hubsan x4 micro quads. I have been playing with these quads for a few weeks now and have many questions about how the set-up affects the flight characteristics.

Would angling the blades inwards make the quad more stable at the cost of efficiency?

Would a smaller frame make the quad more agile or would the props cause interference with each other?

Would angling all the props slightly forward make the quad handle more like a plane?

Could the quad support a V-tail set-up?

I decided to make my own chassis for a quad that could be be easily reconfigurable to test out different set-ups. My solution to this was to use Lego as this allows for endless customisation.legoquad3

The final result fly’s nice and weighs the same as the original frame. Adding to this could cause weight issues but I still have a few grams of lifting capacity to play around with. This frame is also slightly smaller, each blade almost touches the one next to it. this seams to have made no difference to performance but the quad seams to corner much nicer due to the lower centre of gravety.

A dynamic work space with Polargraph

What is a Polargraph?

A polargraph is a simple machine, that draws picture using a pen that hangs between 2 fixed points. It works in a similar way to a pen plotter however it uses a dual-polar coordinates system, rather than the regular Cartesian system (xyz) like most CNC’s use.

Using polargraph to create a more dynamic work space.

On a computer most people have a desktop wallpaper,  this image often reflects the person who owns the computer and offers them the ability to customize there work environment. People often update the wallpaper to show current interests or reflect there thoughts towards something. This is very similar to the way posters are used to decorate an area. They reflect the interests of the owner whether this is in a cubicle, a bedroom or advertising in a public space. The only problem is that a poster is always the same, it eventually gets old like your computers wallpaper. Imagine being able to change your work area in the same way you can update the image on your desktop. Whenever you fancy a change in decoration you just hit print and redraw your entire wall.

This is what i hope to achieve with my polargraph. I want the ability to update my cubicle on a regular basis depending on what projects im working on and what my current interests are. I want to be able to put vector graphics, text, pictures or even the latest XKCD directly to my office wall. This makes my office space dynamic it can also be used to help me with my projects when needed. For example whilst building a PCB i could print the schematics to my wall so that i don’t have to keep the file open on my computer.  Or whilst working an a design project i could keep a current cad model on the wall so that i know what iv done and what i still have left to do.

This could even be automated to update daily, each night downloading the next days weather forecast, news headlines or calender appointments and rendering them to the wall overnight. When i arrive at work my cubicle will already show me what my day will be like and the things i need to do. My wall could contain to-do lists synced to group task management systems like Trello or keep me updated with UWE’s RSS feed, updating live as each new post comes in.

You see things; and you say “Why?” But I dream things that never were; and I say “Why not?”” – George Bernard Shaw