Netduino for a tricopter

Finally got round to getting some time to work on a uav, decided to start with a tricopter as it should be the easiest to work on indoors for now. Initial plan was to go with a couple of boarduinos or an atmega but stumbled across the netduino which is an open source board and software for the micro.net framework, and its available in the uk for around £24 which is a bargain considering its running on a 32 bit arm microcontroller and at 48mhz should give about 40mips so plenty of processing power. Given that I code in C# daily I'm going with the netduino (come pay day next month!)

The advantages seem to be:
Plenty of cpu power
Plenty of ram (70k)
Real time debugging
.net - and all its benefits, e.g. Threading, ease of coding, event handlers
All open source
Somewhat compatible with arduino shields (though won't be using any)
Plenty of digital inputs and two serial

The disadvantages seem to be:
Not realtime - though is this a disadvantage I'm not sure it is?
Only 4 PWM (should be okay, but maybe need to add in a driver)
Hard to design a custom board later on (100 pin package on the chip!)
Not as many analog inputs (only 6)
Only 128kb left for code (rest is taken up by .net micro and netduino code) - same as atmega though.
No existing uav code to base code on

Just installed the netduino sdk and got my class structure set up and starting coding the main thread for managing all the processes....
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Hi Leon, I can see why that could cause problems if the input/output are slow, however I'm not sure what they are like on the netduino (not getting the hardware till next month). I'm just coding using the emulator at the moment and to ensure a fast control loop I'm using threading with different priorities (one thread for sensor input, one for the motors, one for communication, and the main one), and passing values between the threads with singletons. So hopefully the main controlling loop should run quickly, my only concern as you say is if the inputs are slow the balance might be sluggish to correct won't know though till I try it on the actual platform. Worst case scenario I'll have to use two netduino's and share the work between them (still cheaper than an atmega - at least in the UK) and easier for me to code in. I'll post some code when I've actually got it running on the netduino rather than the emulator and can be sure it works.
  • Hello! I am also working on a UAV that uses .Net Microframework. Take a look here:
    http://www.diydrones.com/forum/topics/bob4-indoor-autonomous

    I think that such a hardware is OK only for naturally stable UAV, like my coaxial helicopter, or for planes. Not for multi-rotor UAV.

    Multi rotor UAV are unstable, and need a fast control. Most of multi-rotor UAV use at least 200Hz control loop. On the hardware that I use (GHI Embedded Master), Input/Output access are quite slow, and I think that it will be difficult to stabilize a multi-rotor UAV with it. Difficult to achieve 200Hz control loop.

    Leon.
  • gona give the netduino also a try for a quad copter

    another desavantage is no EEPROM! and I haven seen the only 4 PWM! Hope that will be enough since I want to do more but steel, Have to make it fly before with arduino nano !
This reply was deleted.