3D Robotics

New autopilot/IMU board from SparkFun

Some of you may have noticed that for quite a while SparkFun has been listing a "UAV Development Platform - ET312 + IMU" that's always been out of stock. I backordered one out of curiosity last year, and pretty much forgot about it. Then, last week, SparkFun called and said that they'd "finally got it working" and it was now available for backorder customers. Did I want one? Sure! It showed up today and it's going to take me some time to figure it out properly, but here are some first observations:
  • It's a "development platform", not a fully-featured working autopilot. Although there is firmware available for it, it's designed to be a standard hardware package around which you can develop your own autopilot code.
  • The firmware comes pre-loaded, and works pretty much as advertised. I tested it on the ground, so it was hard to tell how well it actually stabilizes a plane, but the elevator seemed to respond properly to tilting. The rudder didn't, but that was probably because it was trying to turn the "plane" to a destination and I wasn't playing along ;-)
  • That firmware is written in assembly, so good luck to you! It seems to do pretty much the basics of what you'd want an autopilot to do (and I mean basics--there's no provision for waypoints, and it's just a "fly home" autopilot at the moment), but if you want to tweak it you'll have to do learn PIC assembly (not super hard, but still: what's wrong with C?!)
  • It includes a 4-degree-of-freedom IMU: two gyros and one two-axis accelerometer.
  • As the two-axis configuration suggests, it's designed to control just two channels: elevator and rudder. A third channel is used to turn it on and off.
  • It's got a good SiRF III GPS module on board, although you'll need to add your own antenna through the included SMA connector.
  • At $299, it's not cheap. But when you consider that a simple set of accelerometers and gyros will set you back $109, the addition of GPS and a PIC processor, all nicely integrated on a board, is probably worth it. But it still seems about $100 overpriced to me.
  • You need some additional hardware to work with it: the main thing is an ICD2 interface to program the onboard PIC chip and for debugging. That will set you back another $120.
  • The documentation looks excellent, with a lot of theory on control and aerodynamics as well as a lot of help on PIC assembly language and development suggestions for the platform.
  • Bottom line: this looks like a good, albeit expensive, way to learn about IMU-based autopilots. It's not really an autopilot itself yet, but could be made into a relatively low-featured one pretty easily. I think it's accurately described as a "development platform", so if you're in the market for that and can afford a $300 lesson, I can recommend it as a unique and well-made way to get started.
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Hi Dave,

    I am new to microprocessors and I find writing programs for the PIC to be very frustrating. Most of my previous assembler experience has been the 8086 family. I'm sure that this board will eventually do what I want. I've flown lots of full-size planes that only have pitch and roll channels in the autopilot. Some that have a rudder channel only use it as a "yaw damper". I don't know anything about other model autopilot systems so I can't comment about them.

    cheers

    scouser
  • Hi Scouser,
    what you said makes sense, thanks!
    But just to be clear, I would like not shift to Atmel micros just because they are most used in DIY UAVs and some robotics applications. So do you know any other board equipped with PICs??? I wonder if some autopilot could be implemented by Pics....
    Anyway, thank you for your reply.
    See you

    Dave
  • Hi Dave,

    The limitation in using the ET 312 board for aileron control is the orientation of the sensors. They are set up to measure pitch and yaw and control the rudder and elevator. I tried swapping the rudder output to the aileron channel on my 4 channel trainer. It wasn't very good. There isn't a lot of dihedral and so the rudder response was very slow. It was better with the rudder output driving both the rudder and ailerons (with a 'Y' lead) but still impossible to set a gain that worked. I started to program the board in C but didn't get very far due to lack of experience and time.

    I then mounted the board vertically, so that the gyro orientation was correct for roll and pitch, i.e. the yaw gyro was now a roll gyro! That controlled the ailerons much better and, finally, I have changed the yaw gyro's mini-board so that it is orientated to measure roll rate with the board mounted flat again. When (if) the weather improves I'll be test flying.

    cheers,

    scouser
  • Hi Wim,
    PICs make me happy to develop and study this particular board!!!! :) I don't have to start developing software for Atmel..
    By the way, I don't understand the reason you are satisfied with ARM7 + C code....The PIC above can be either be programmed in C code...and C code is the same.... (I confidentially say you that I don't know ARM7 architecture)....I'm going to take a look on the web.
    Bye!

    Dave
  • Hi Dave,
    I think the board can be used for planes with ailerons as well. At least my easystar shows similar yaw response on aileron as on rudder, for small deviations. Of course the ailerons should be properly designed (less throw down than up) to avoid non-minimal phase response. Feedback from yaw gyro to aileron would work as well as to rudder. I considered this board for my uav, but didn't go for it because of the PIC and difficulties to log flight data. Instead I used ARM7 + C-code. Much more convenient.
  • Hi you all guys,
    I would like to ask you about ET 312 board...I think, as Chris suggested, this is a very good thing to start with, I mean...starting to understand basics about UAV autonuomus fly. The disadvantage is that you can wait for long to have a new one because spark allows backorders from their site..
    Anyway...is it possible to implement a third axis control?? Documentation stated that only rudder and elevator are implemented on this board...what about if an airplane is equipped with aileron too??? I know one can control them by RC radio but it could be useful to implement a complete autopilot for personal porpuoses...
    What do you think about?
    Thank you

    Dave
  • OK.
  • 3D Robotics
    I was not planning on flying my board anytime soon. I've got too many other autopilot project that need that airtime!

    Please let us know how you find the board and any modifications you've made to the code.
  • Are you going to fly your board?

    I have one on order and expect to receive it in about 3 weeks. I intend to try it in a Multiplex Magister (60 inch high wing electric trainer). I am working my way through Sparkfun's UAV Test Firmware code checking how it works and learning how to use the IDE.
This reply was deleted.