Paper

I’m still getting to grips with CAD, I’ve not really used it since school, and I’ve always preffered jotting things down on paper.  At the minute it’s quicker and sketching ideas down on paper seems to make things more real to me.  Diffcult to describe but true.

Today I needed some graph paper to draw a quick plan of the required cut for the desk project, B&Q can do the heavy lifting this way, but with the prolification of spreadsheets such paper isn’t easy to come by.  Unless you have a printer that is…

http://incompetech.com/graphpaper/

I came across this wonderful site that allows you to generate paper to your specifications, including everything from engineers paper to music score sheet and guitar tab.  Put in what you want and it spits out a PDF.  Very useful for when you need a couple of sheets of something rather than a whole notepad!

Keegan

Act 1: Wherein the Author Discusses Workspaces

Be it a desk, workbench or even the humble table; a workspace is an important place for any aspiring maker. It could be in a shed as is traditional for British inventors, a bedroom, an office or even rubbing shoulders in your local coffee shop.  It is therefore fitting that with the rebirth of my blog into a more structured and regular part of my life my first project will be the creation of my new workspace.

An Englishman’s home may be his castle but a makers home is their workshop.

I live in a one bedroom flat so space is at a premium, I’ve a living room that has to wear many hats so having a permanent space to be creative is a must and something I’ve lacked thus far.  My plan is to build a set of shelves on one of the walls with a folding desk attached below.  Hopefully it will be simple but effective, it should prove fun to make and most importantly will give me a corner of my flat in which to tinker.

This won’t be a carpenters blog however as my interests are in programming, electronics, 3d printing, gaming, technology in general and pretty much anything shiny that beeps.  I’ve experience with Arduino, Netduino, the recently announced .NET Gadgeteer and more Microsoft developer technologies than I can remember.

More posts should be coming over the coming week, I should be getting the wood for the desk tomorrow and the building can begin in earnest.  Ladies and gentlemen, start your Dremels!

Keegan

DIY May: Cookery Challenge

A few years back I came up with a challenge for myself, to cook everything I eat.  Seems simple enough but I intend to make bread, condiments and all the treats we order from the take away from time to time too!  The intent of the challenge is to eat healthier, hopefully save some cash but most importantly learn new tricks and recipes at the same time.  The challenge will culminate in a BBQ at the end of the month with everything home made, including the beer…

I’m also trying to source ingredients as locally as possible, in Reading we are lucky enough to have a good farmers market and there is a food coop that set up shop once a week around the corner.  I’ve food growing on the balcony

The challenge started yesterday with Lamb Meatballs and Pea Pilaf which came out very tasty!  Cooking rice in stock isn’t something I’d tried before and as the water reduced it made a very nice sauce, something new learned on day one!

Today I’m baking some bread and having Toad in the Hole for tea, tomorrow will be pizza bases for the freezer and my first batch of ketchup.

Stay tuned for more, I’ve also received parts for my 3d printer and I’ll be building that too so the techy side of my blog wont be overlooked.  Hopefully I’ll be printing egg cups in no time to tie the two together. Winking smile

Stay tuned for more!
Keegan

Netduino Quadcopter

In my first post last year I stated that my New Years resolution was to build more stuff, the Jukebox lights are wired up and that project is more or less done.  One of my other ambitions mentioned was to design and build a UAV.

Now, I’m a Microsoft guy.  It’s what I know and do for a living so I know thier developer stack pretty well so upon learning of the Netduino a plan came together and this years project was born!  So far I’ve the Netduino, a Razor 9 DOF sensor board and a plan!  I’ve been following other similar projects such as Aeroquad and I plan to blog the project as I go.

The plan is currently fluid, I’ve not built anything like this before though have flown model helicopters before.  I’ve a few specifications that the copter will be built around;

  1. Autonomy – With the sensors onboard, the IMU and GPS, it will need to be able to fly a set path.
  2. Payload – Along with flying a path the copter will have a camera or two to capture aerial photographs.  Ideally from multiple angles to have some fun with Photosynth
  3. Telemetry – The copter will have a live telemetry link back to a PC and on board storage for later review of flight data.  Ideally a live video feed too which will be the stretch goal.
  4. Easy Mode – As with the Aeroquad I’d like my copter to have stable and agile settings, I wan’t my friends to be able to fly this easily with minimal practice.

I’ve set myself quite a challenge though as with all my projects it should be a hell of a lot of fun and quite a challenge.  Stay tuned for more…

Jukebox, Illuminated

I’m not finished yet however the lights are in the Jukebox and I thought I’d post a pic of a test I performed by hardwiring the lights to be green;

Let there be light!

It’s the first time since I’ve owned the Jukebox that it has been lit up like this, not long after buying it I tried with EL wire but frankly it looked terrible.  The outer band used to be transparent, for those interested I used a glass etching spray to give it that frosted look and to diffuse the light.  It looks far better in person that this picture would suggest.

I’m currently working on finalising the circuitry to control them as well as the code to control the colour from the PC.  I’ve been mostly successful with my prototypes but there are a few bugs to iron out yet.

Still, the wiring for the lights was by far the biggest hurdle so should be quicker progress from now on.

Keegan

Media Center Video Stutter and Windows Home Server “DEMigrator.exe” Service

I’ve been having an issue for a long time now where video hosted on WHS is played back in Media Center and seemingly randomly the video stutters or stops completely and the UI becomes unresponsive for a while.  After a lot of digging and troubleshooting both in Media Center and Windows Home Server I discovered a simple trick which laid the issue bare.

When the issue occurs you can look at task manager on WHS then it may appear that there is little CPU utilisation, the trick here is to add the columns “IO Read”, “IO Write” and “IO Other”.  You will likely see that DEMigrator.exe has numbers increasing in “IO Other” when the stuttering is happening.  I implemented a fix from the We Got Served Forums and it seems to have worked a treat!  I followed the workaround on the page, repeated here for my records and as it will be easier for me to find and pass on. 🙂

The fix is very simple to implement, just create two text files with the contents below and rename them as indicated.  Create two scheduled tasks, one for on and one for off, and set them to run over night.  I have mine set so DEMigrator is running for three hours between 3am-6am.  You will get an error about the service not running but other than that all should be well.

DemigratorOff.bat

@echo off
sc stop "DriveExtenderMigrator"
sc config "DriveExtenderMigrator" start= disabled
exit

DemigratorOn.bat
@echo off
sc config "DriveExtenderMigrator" start= demand
sc start "DriveExtenderMigrator"
exit

Enjoy!

Keegan

DIY Cool(er) Phone Cradle

I’ve a Touch Diamond 2 that tends to remain connected to my PC when at work however as my desk tends to be messy at the best of times I wanted some form of cradle to keep my phone tidy at least.  As any reader of my blog will know I’m also a fan of reusing old parts lying around and I just had a brainwave.

I’ve had an old AMD CPU cooler on my desk for a while and until now I’ve been using it to hold cups of tea, with a simple flex of one of the bracket slots at the back and some prodding of a standard USB cable I have a holder.  It’s actually very sturdy and it’s the simple hacks I’m a fan of.  One DIY phone cradle, no tools required.

IMG_0213IMG_0214

IMAG0167

Regards,
Keegan

Jukebox Lights: Serial Comms Prototype

I’ve just finished a working prototype for the Jukebox lighting control, doesn’t look like much at the minute but with the right RGB LED driver in place (I’m thinking three logic level MOSFETs may do the job) then this project is only a wiring job and a glue gun away from installation!  The C# code sends RGB as a percentage along with a value for brightness, also a percentage.  So, to get the brightest red colour send redByte and brightness as 100 and the rest as 0.  Mix, match and repeat.

I played with the colour picker control, some conversion is required though I gave up on the idea as PC RGB and LED RGB don’t match up quite the same.  My method works and is good enough for me.  The Arduino code uses a switch case for the incoming command, colour changing is “101” and I’m planning on adding others along the road.  Maybe a default dimmer for when video is playing and so on…  Time will tell.

image IMAG0155

This is a combo of two programs, the code on the Arduino and a C# program sending control signals from the PC via serial.  Code snippets for both are below;

Arduino

//      Pin Assignments
int rPin = 9;
int gPin = 10;
int bPin = 11;
int potPin = 0;

//      Global Variables
float red = 0;
float green = 0;
float blue = 0;
float brightness = 0;
int command;

void setup()
{
pinMode(rPin, OUTPUT);
pinMode(gPin, OUTPUT);
pinMode(bPin, OUTPUT);
Serial.begin(9600);
}

void loop()
{
while (Serial.available() > 0)
{
command = Serial.read();
switch (command)      //  Planning ahead for multiple commands to be sent, add another case for others
{
case 101:
red = Serial.read();
green = Serial.read();
blue = Serial.read();
brightness = Serial.read();
//  Code for debugging Serial
Serial.print(“Colour – “);
Serial.print(“Red: “); Serial.print(red); Serial.println();
Serial.print(“Green: “); Serial.print(green); Serial.println();
Serial.print(“Blue: “); Serial.print(blue); Serial.println();
Serial.print(“Brightness: “); Serial.print(brightness); Serial.println();
Serial.println(red / 100);
red = (255 * (red / 100)) * (brightness / 100);
Serial.println(brightness / 100);
green = (255 * (green / 100)) * (brightness / 100);
blue = (255 * (blue / 100)) * (brightness / 100);
break;
}
}
analogWrite(rPin, red);
analogWrite(gPin, green);
analogWrite(bPin, blue);
delay(75);
}

 

C# Code (SendData and Print only)

private void SendData()
{
byte cmdByte, redByte, blueByte, greenByte, brightByte = 0;
byte[] command = new byte[5];

cmdByte = Convert.ToByte(101);
redByte = Convert.ToByte(nudRed.Value);
greenByte = Convert.ToByte(nudGreen.Value);
blueByte = Convert.ToByte(nudBlue.Value);
brightByte = Convert.ToByte(nudBrightness.Value);

command[0] = cmdByte;
command[1] = redByte;
command[2] = greenByte;
command[3] = blueByte;
command[4] = brightByte;

try
{
prtSerial.Write(command, 0, 5);
}
catch
{
MessageBox.Show(“He no work!”);
}
}

private void btnPrint_Click(object sender, EventArgs e)
{
lbInc.Items.Clear();
try
{
if (prtSerial.BytesToRead == 0)
lbInc.Items.Add(“No Data”);

while (prtSerial.BytesToRead > 0)
{
lbInc.Items.Add(prtSerial.ReadLine());
}
}
catch
{
// do nothing
}
}

I’m hoping to have the driver built next week and hopefully the lights installed this coming weekend.  With the weather as it is it all depends on when I get get the parts delivered.  Next up is the Media Centre add-in to control the lights.  Should be a matter of UI code though as C# is a supported language for MC SDK.

Keegan

New Years Projects

Last year my new years resolution was to never make a resolution again, they seem a counter productive to me.  If there is something you want to change about yourself you shouldn’t wait a year to do it.  To quote a friend of mine “life’s short, crack on”!  That said a new year is a good excuse to set yourself new targets for the year.  That’s right, I’m a hypocrite, deal with it.

There are a few technologies that have had me curious since a child, initially in science fiction and now becoming more commonplace.  This year I intend to learn more about them and hopefully build a few projects based on them all the while documenting my findings here.  The Jukebox has been an ongoing project for a while and as my RGB LEDs have finally arrived I hope to complete the first incarnation of the lighting circuits soon.

That said, I’ll outline what projects I have planned for this year;

  1. Finish the Jukebox
    Outstanding work to be completed on the Jukebox includes designing and implementing the lighting circuits and the software required to control them.  Initially the plan is for the colour of the LEDs to be controlled by a Media Centre addin that will also allow for dimming the lights when video is playing and leave only the red sections alight when recording only.  Later on I hope to spice things up by adding circuitry to turn the lights into a stereo VU meter when radio or music is playing.  It’s a stretch goal but one worth aiming for!
  2. Build a Mobile Robot Base
    After seeing Back to the Future and Short Circuit as a child I’ve always had a mild obsession with robotics and automata, I started studying Cybernetics at Reading University however found the course lacking in practical elements so switched to Computer Science.  I figured I could pick up robotics as a hobby later on and use my programming knowledge to better effect as electronics has always come easy to me.  To that end I intend to build some form of mobile robotics platform, likely tracked as a homage to Johnny 5!
  3. UAV
    I own a T-Rex 450 though I haven’t flown it for quite some time and though I remember in theory how to fly it I’m well out of practice.  To that end I intend to teach the helicopter to fly itself!  There is a Arduino based autopilot (Ardupilot) which is intended for gliders and planes, helicopters are considerably more complex beasts to control so I’ll look into a more simple drone first off.  I’m not expecting to have this one finished this year or even ready for first flight, I’m planning on learning more about coupling GPS and accelerometers to the Arduino, maybe as a data logger for my bike, time will tell.
  4. Renewable Energy
    Solar and wind power have always had me intrigued and this year I intend to sate that curiosity.  I intend to build a gadget charging station using a combination of the two, this will give me experience in these technologies so that in the future I’ll be able to scale them up.  It will force me to learn more about the mechanics involved as well as the circuitry required to charge a battery from a combination of sources.  I figure being able to charge my phone, mp3 player and cameras would be a good start and from there, who knows, maybe my future workshop/brewery will be off grid!

These aren’t listed in any particular order though I expect the Jukebox will be the first to complete as it’s already in progress.  I’m not setting a deadline on other than for most of them to be works in progress, the Jukebox I intend to finish shortly, and I see these as learning experiences and a basis for future work rather than projects in their own right.  Instructables are to be expected along the road as I intend to share what I learn.

2010 will be a good year, I intend to make it so.

Keegan