All in one UAV controller board

Well, almost... few more things will be added in the next hardware version.This is a project that started about 3 years ago when I began building a P-47 rc airplane. Back then I decided that if it is worth doing it is also worth overdoing, so I began working on a small on board computer that would cycle the landing gear hatch doors when as it is being retracted. Since then plane never progressed forward but the simple on-board computer did.Here is what it looks like today:

and on the back:

What You can see there are:- LISY300AL with IDG500 gyros- MMA7260Q triple axis acceleration sensor- HMC6343 3 axis magnetic sensor / tilt compensated compass and additionla 3 axis acceleration sensor- SCP1000 pressure sensor - used for altitude estimate- FC30TR orientation sensor - used for calibration and in-flight attitude corrections- 4Hz 50 Channel GPS + Serantel antenna based on u-blox UBX-G5010 chip- microSD card for data logging- xBee for wireless uplink- 4 optically isolated PWM rc servo channels booth for input and output with ESD protection- SEPIC DC to DC converter - will sustain full board operation down to 1V left on the battery- high speed I2C communication expansion port- CAN communication port- all controlled from a dsPIC microAll of that on a credit card size board!Obvious things that are missing (will be added in next version):- airspeed sensor- landing gear retracts air tank pressure sensor- battery level and fuel level sensing capability (booth for electric and nitro planes)- few more PWM channels (with intended micro change, I should be able to go up to 12 pwm output channels and 6 in!)- floating point capable processor to speed up code executionCurrently the board was tested with slightly modified version of Ben Levitt's MatrixPilot code.In parallel some ground work was laid down to create more sophisticated sensor fusion algorithms through an extended Kahlman filter, so far basic functionality gives pitch and roll readings (based on accelerometers and gyros) with yaw pulled from both the compass and gps. If time allows, future version will "fuse" all of the available sensors creating a robust IMU as a base for a UAV project.
E-mail me when people leave their comments –

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

Join diydrones


  • Power conservation is essential. I'd consider using a step-up converter with LDO in place of the SEPIC. Not only will it give you ~95% efficiency at the desired voltage (as opposed to ~86% for the SEPIC), it will also eliminate the need for the coupled transformer (or two inductors) and coupling capacitor that SEPIC requires.

    The MAX1800 step-up converter might be a good substitute.
  • Any chance of sharing the firmware and/or PCB layout with us? I understand you started with existing base firmware and modified it a bit. I'm very interested in seeing what you did with the FC30TR, your circuit for the SEPIC "power plant" and which opto-isolators you used. If you don't want to share the firmware/layout, would you mind giving a little more info on the three above items? Thanks... I hope to put together an STM32-based (cortex m3) unit that incorporates the best ideas from everyone.
  • Just wanted to give you a thumbs up. Looks awesome! Looking to do something similar with an STM32 (ARM7) processor but at a much lower cost (optional pressure sensor - wiring will be there but not needed) and with off-board GPS and comms.
  • Isolators I've used are aimed at communication applications with speeds up to 150Mbps, so enough for rc servo applications, down side is that they come at a price - they added about $25 to the project alone - whether it was worth - I don't know, but I felt that better safe than sorry.
    As to opening the design - I'll trouble shoot the board before doing so, I would not like to have some #%%^&!$ at flaws of it if there are any - just see the blog posts - I have not noticed any problems but it does not meat that there are none. Soon I hope to do some final airborne tests and then we will see.
  • So you opto-isolated the PWM inputs? You didn't have any issues with them being too slow?
  • Developer

    Congratulations. Looks super. Are you going to open source the design ?

  • Yes the board contains 3 axis accelerometers - X, Y, Z and 3 axis gyro X, Y, Z.
    While reading all of Your comments I'm surprised I had no problems - well maybe yet, thank You for all the info though, I will definately consider Your recommendations in the next module upgrade.
    As to the airframe - no photos yet - it is currently all in pieces and waiting for my workshop being finished.
  • Admin
    Hi Radoslaw ,
    I was going to say the same regarding GPS orientation. Even in wing , you still have to orient it flat which i guess may undermine the helix( saretel) antenna's potential. Right angle pinout for GPS on a flat board the way you have it might make to beautiful and bold too IMHO. Board looks gr8. Any picture of the airframe? .
  • Developer
    Interesting explanation regarding dealing with interference. Thanks.

    Have you got Gyros on this board for all three axis ? (X,Y,Z).
    Also, the same question for Accelerometers ? (X,Y,Z)
  • I had no issues with none of my sensor readings when using xBee. Actually I've used it in such configuration from very beinging, I've never even hooked up this board directly to the PC serial port.
    I also had no problems with getting a propper GPS lock. Of course the xBee on the picture is just for tests - final version will use different module with a wire antenna.
    I think in the end the trick is that I have separated the sensor circuit (analog) portion from the digital one, they have separate voltage regulators and signal tracks are placed as far apart as possible on the board (I also use a 4 layer board - this way I could ground planes to isolate possible noise). In the early tests I had lots of noise comming from the PWM inputs and the servos themselves - optical isolation did a great job dealing with that noise.
    As to the mounting in the plane - I have nice spot in the wing of the plane - no interference with cables and etc.
This reply was deleted.