RIP Sheldon 1.0 – Hello Sheldon 2.0

Today is a sad day, poor little Sheldon the wonderbot 1.0 is no more. Due to a design floor several of his wires came loose whilst traversing the kitchen step and the rest as they say is history. However now that even Humpty Dumpty can be put back together again I am filled with optimism and am looking at this sad event as an opportunity for an upgrade :) I started by striping the poor little bot down to see what I could salvage. Luckily most of the damage was just wiring related and the loose wires have not seemed to have burnt out any of the major components (despite the smell and visible smoke). ...more

How to pair two XBee Radios

Recently a resulting factor of a new hobby project was the need to revisit the pairing of Xbee radios. The last time I had to undertake such a task was ages ago and due to my existing set of Xbee's becoming a permanent fixture within my robot "Sheldon" I had not kept up on all things Xbee and for the life of me could not remember how. Luckily I managed to re-track down a great YouTube video produced by xbeeadapters that I originally used to complete the task. The following list is a summary of all the steps needed to pair your Xbees as taken from the video. ...more

Arduino Xbee Shield mod for Netduino

Update: For an alternative method check out the following post: This is a very quick post detailing how I modded my netduino to be compatible with the arduino xbee shield. I utilize this shield in conjunction with a Sparkfun Xbee Explorer USB to provide wireless serial communication between netduino and PC. To find out more about that check out my SerialPortHelper to WinForm post. The following image shows the completed mod in action. ...more

Netduino SerialPortHelper to WinForm and XNA

A few weeks ago, I was contacted via YouTube in reference to the Netduino Serial Communication example I posted a while back. In my reply I promised that I would make a posting detailing how I have since updated the system. Before we start, check out the featured video to see the current system in action. A while back I decided to adopt the methods as described by Hari over at the netduino forums to facilitate ReadLine functionality. The rationale for this was that by utilizing Hari's code we no longer have to detail the length data being sent, thus simplifying the code greatly. ...more

Very Simple Kalman in C#

I have decided to take a break from all things Kinect after the disappointment of a none SDK release yesterday. To ease my pain I thought I would peruse the world of Quad Copters I love these things, If you have not come across them you should check them out. Anyway I digress :) ...more

NetduinoPlus SD Card Example

I was contacted the other day with a request for some help with code needed for use of the NetduinoPlus SD Card. So by way of response here we have a quick example, enjoy: [code lang="csharp"] using System; using System.IO; using System.Net; using System.Net.Sockets; using System.Threading; using Microsoft.SPOT; using Microsoft.SPOT.IO; using Microsoft.SPOT.Hardware; using SecretLabs.NETMF.Hardware; using SecretLabs.NETMF.Hardware.NetduinoPlus; namespace NetduinoSDOne { public class Program { public static void Main() { string[] fs = VolumeInfo.GetFileSystems(); VolumeInfo[] vols = VolumeInfo.GetVolumes(); int i = 0; Debug.Print("Volume Count: " + vols.Length.ToString()); foreach (VolumeInfo vi in vols) { Debug.Print("Root Directory: " + vi.RootDirectory.ToString()); Debug.Print("Total Volume: " + vi.TotalSize.ToString()); Debug.Print("Free Space: " + vi.TotalFreeSpace.ToString()); Debug.Print("Formatted: " + vi.IsFormatted.ToString()); Debug.Print("Volume ID: " + vi.VolumeID.ToString()); } OutputPort SdPower = new OutputPort((Cpu.Pin)25, false); // ensure that the SD card is powered InputPort sdDetected = new InputPort((Cpu.Pin)57, false, Port.ResistorMode.PullUp); Debug.Print("SD Detected: " + (!sdDetected.Read()).ToString()); sdDetected.Dispose(); while (true) { Debug.Print("n"); Debug.Print("Loop " + i.ToString()); Debug.Print("n"); string[] dirs = Directory.GetDirectories(@"SD"); foreach (string s in dirs) { Debug.Print(s); } switch (i) { case 0: #region Create Directory try { Directory.SetCurrentDirectory(@"SD"); Directory.CreateDirectory("Netduino"); } catch (Exception ex) { Debug.Print("Error: " + ex.Message.ToString()); } i = 1; #endregion Create Directory break; case 1: #region Delete Directory try { if (Directory.Exists("Netduino")) { Debug.Print("n"); Debug.Print("Netduino Directory Found"); Directory.Delete("Netduino"); } } catch (Exception ex) { Debug.Print("Error: " + ex.Message.ToString()); } i = 0; #endregion Delete Directory break; } Thread.Sleep(5000); } } } } [/code] ...more

Netduino Flex Sensor Example

Here we have another Netduino Sensor example. This time I am going to show you how to wire up a Spectra Symbol flex sensor as retailed by Sparkfun Electronics. About The Sensor As the sensor is flexed, the resistance across the sensor increases. Patented technology by Spectra Symbol - they claim these sensors were used in the original Nintendo Power Glove. The resistance of the flex sensor changes when the metal pads are on the outside of the bend (text on inside of bend). For more information on the Flex Sensor used, check out the following data sheet. ...more

Netduino Accelerometer Input Sample

The following is a simple example detailing how to interface of a Sparkfun ADXL 335 breakout board with a Netduino. Before you start, please ensure that your Netduino is running firmware patch 2 or above. Without this you will not be able to obtain multiple analog inputs. About the ADXL335 Breakout The ADXL335 is a triple axis accelerometer with extremely low noise and power consumption - only 320uA! The sensor has a full sensing range of +/-3g. More information regarding the ADXL335 can be located via the following data sheet. ...more

Netduino – Serial Communication

Update: check out  my netduino-serialporthelper-to-winform-and-xna post - based on code provided by hari over at the Netduino forums its a much better way to do it! The following details simple 2 way Communication with a Windows Forms App - Rudimentary packet handling has been implemented via inclusion of an additional byte to the beginning of the packet which details the length of the string to be sent to the Netduino. Once received the device filters the incoming data and recreates the string. A simple switch statement is then used to trigger functionality. To see it in action, check out the featured video. ...more