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

Creamy Mushroom and Tomato Pasta Thing

This is quite a tasty dish I’ve just thrown together, it will produce enough for one hungry person or two as part of a bigger meal.  You can probably add other stuff, I reckon a bit of beef mince or some diced bacon would have worked a treat.

Stuff You’ll Need;

  • Black cale
  • Four tomatoes
  • An onion
  • Handful of mushrooms
  • Handful of pasta
  • Vegetable stock
  • Other stuff to season

Stuff To Do;

  1. Boil a saucepan of water to blanche the tomatoes then to cook the pasta.  To blanche them make a cut in the skin of the tomato around the circumference then dunk them in the boiling water for a minute then dunk them in cold water.  Peel off the skins then dice the and use the already boiling water for the pasta.
  2. Chop up the cale (removing the stems), onions, mushrooms and throw the onions into a frying pan with a little olive oil.  Fry until they start to brown around the edge.
  3. Add the tomatoes to the onions and add a little water.  Cook for a few minutes then add everything else and crumble in the stock cube.
  4. Add whatever “stuff to season” you wish, I added some black pepper and cook for a while longer.
  5. Drain the pasta, remove the frying pan from the heat and mix it into the sauce.
  6. Eat!

Any suggestions, feel free to add a comment.

Keegan

Recipes

Those who have been here before know I like to make things, unsurprisingly this also includes food!  Just thought I’d give fair warning before random recipes start to appear on here…

By the way, if you are as lazy as I am and terrible at remembering to buy veg try and find a local veg box scheme.  I’ve been aware of Riverford for a while and figured that I can get them to deliver to work so it works out well all around!

www.riverford.co.uk

Plus I don’t have a choice in what the deliver so I have to find recipes to cook stuff I wouldn’t otherwise buy.  Win. 🙂

Keegan

Home Server Rebuild

My Home Server has served me well however the aging 1.2GHz VIA board that was in it has long since peaked.  Time for an upgrade…

I decided to go for the POV MB330-1 which has 4xSATA on board along with a eSATA and a dual core 1.6GHz Atom processor.  I also decided to add an internal 2.5” drive to act as the system disc to make hot swapping drives in my Chenbro case far easier.  I’m not going to bother documenting the build in too much detail, for the most part I simply put all the bit in a case so it shouldn’t be too taxing if you RTFM.  I installed the system using a USB key, details can be found on We Got Served.

IMAG0143 IMAG0142

Picture on the left shows the laptop hard disk hidden away in the lesser known internal slot in the Chenbro case, on the right we see the PCI SATA card to add the extra port for the system disc.  All four bays are on the mainboards SATA ports, I’ve no idea if this is best practice but it seemed to make sense that they be adjacent on the system to reduce a potential bottleneck at PCI.  It may also simply be my OCD…

One thing that had me baffled (and still does) is the extra SATA port situated near the eSATA port.  I tried plugging a disk into it and nothing happened, whatever it is I’m sorry to say it is not a SATA port.  Maybe it will be enable in a future bios update but for now its purpose remains unclear.

One piece of advice I cannot stress enough it to get the latest drivers from Realtek for the LAN.  I am not certain of the exact chipset used but these drivers worked for me.  Network throughput went through the roof after this and the connection became a lot more stable too.

Hope this helps someone, any questions feel free to ask in the comments.

Keegan

Ps.  No, I don’t work for Mini-ITX.com or get commission (a shame!) but I’ve been using them for years and they’ve been helpful with any questions I’ve had.

UPDATE:  If you randomly get bluescreens or messages saying "You system has recovered from a serious error" try uninstalling IPv6.  My server was crashing a few times a day and after a kind soul at work reviewed the memory dumps it was IPv6 making the network driver crap out.