It seems everyone and their mother has an autopilot board they're working on so I thought I would join the bandwagon. I've actually been wanting to develop one for quite some time, but after seeing Bill and Paul's progress on their DCM estimation work I got inspired to get started now.There are several good autopilot boards available for experimentation, but none that had the feature set I was looking for. I wanted something versatile enough to be used in several controller/data logging applications including those involving RC cars/boats/copters/planes as well as high altitude ballooning and rocketry. With this versatility comes a little more complexity, so this might not be the board for someone just starting out, but for others I hope it will be a good platform to work with.Here are a few specs/features.Pic32 based -> An inexpensive chip ($8 or less) with respectable horsepower (32 bit 120 DMIPS) and free development tools. An inexpensive programmer can be had from Sparkfun and others.Micro SD Card based Data logging-> Lots for storage for logging every aspect of your flight. Can also be used to read way points or other mission data.USB Interface -> Useful for uploading/downloading mission data, payload control and as a bootloader for program updates.Real Time Clock -> Time tag logged data or perform time based mission functions.5 PWM Inputs and 5 PWM Outputs -> Interface to existing RC Rx outputs and drive up to 5 standard RC servos.On Board 3 Axis Accelerometer -> 12 bit resolution + Software control of sensitivity (1.5G, 2G, 4G, 6G).On Board 3 Axis Gyro-> 12 bit resolution + Software control of sensitivity (110 deg/sec or 500 deg/sec). family of pin compatible gyros from 67deg/sec to 2000 deg/sec.On Board 3 Axis Magnetometer.GPS Interface -> UART based interface with option of 5V or 3.3V power.Radio Modem Interface -> UART based interface with option of 5V or 3.3V power.Battery Voltage and Current Monitoring. Up to 24 Volts and 50 Amps.On Board 3.3V and 5V regulation -> Plenty of current capability to handle heavy servo loads and RF Modem power requirements.Lots of digital and analog IO -> IR and Sonar based range finder interfaces. Airspeed and Altitude interface. I2C, 8 bit data bus + discrete digital IO.This design will be completely open source, and below you will find a link to the preliminary schematic. I will start on the layout next and hope to have it completed and ready to send in for fabrication on May 4. I look forward to comments/suggestion on the schematic. Also if anyone is interested in getting one of the prototype PC boards when I have them made please let me know. Bare in mind however that this is a prototype and I can make no guarantees that there won't be some boo boos. The parts are small and surface mount, so if your not an experienced assembler you might want to take this into consideration.Although not always the cheapest, I have always had good luck with Advanced Circuits for PC Board fabrication. The cost for 1 week turnaround is $66.00 per board (4 layers) +shipping.I'll post a complete parts list in a week or so when I finish the layout.Software development will follow. I plan on quickly implementing a shell to handle all the timing and IO interfaces, followed by a gradual implementation of the various controller tasks hopefully with community support.Looking forward to comments.Regards,Brianpic32_autopilot_schematic.pdf
I will try to solder those small parts with a hot air soldering station that I´m planning to buy. An Aoyue, don´t know what model at the moment. I dont have a microscope. What packages are you planning to use, no BGA..
A question... I´m triying to develop my own uav-autopilot, like you, but using STM32-Cortex M3. Powerfull, 32 bits, low cost and a complete and good peripherical list, a lot of packages and possibilities. At the moment, I have made some work in the implementation of the DCM. Task sincronization and timing, ADC prefiltering and a lot of floating point operations to simulate the iteration. Next weekend I wil try start developing and studing with detail DCM papers, implementations, examples, post.... and thy to implement it. At the moment, I have a prototype PCB with header boards of the STM32 and sensors, but last week I have started to find part list and developing my own PCB with all the components soldered, with LQFP components. The ask... what do you thing about merging hardware architectures?
In any way, I will develop my autopilot and my IMU, and I think I will work with you in your project, I need to improve my solder skill and learn a lot about DCM and autopilot.
Don´t you desing PCBs with Eagle? What software?
Sorry for my bad english :(
Greetings Alvaro,
The board house has a minimum order of 4 boards, so I'll go ahead and place the order then after I receive them and assuming your still interested we'll figure out how to get the board to you.
Are you good at soldering? There are some small surface mount parts involved.
bcr,
Yea, I'll be doing the assembly myself. I've got decent soldering equipment and a stereo microscope to work with so I can solder just about anything except for a BGA.
I'm all for collaborating anytime. Rather than remove "dsPICisms" though I'll probably add compiler switches to select between 32 bit code and 16 bit code where required.
Good Luck on your board, I'm curious to see how things progress.
Hey Chris,
I'll make it code compatible as much as possible, but I'm sure there will be some changes because of going to a 32 bit architecture. I think a sprinkling of compiler switches throughout the code should handle most changes and allow it to be compiled for either platform.
Looks good. I'm currently finishing layout on yet yet another STM32 design. When I started, none of the other projects were good enough. :P
Are you doing PCB assembly yourself or sending it out?
Also are you interested in collaborating on the SW implementation of DCM? I am planning to remove the dsPICisms, and in general clean it up for a 32 bit machine.
Comments
A question... I´m triying to develop my own uav-autopilot, like you, but using STM32-Cortex M3. Powerfull, 32 bits, low cost and a complete and good peripherical list, a lot of packages and possibilities. At the moment, I have made some work in the implementation of the DCM. Task sincronization and timing, ADC prefiltering and a lot of floating point operations to simulate the iteration. Next weekend I wil try start developing and studing with detail DCM papers, implementations, examples, post.... and thy to implement it. At the moment, I have a prototype PCB with header boards of the STM32 and sensors, but last week I have started to find part list and developing my own PCB with all the components soldered, with LQFP components. The ask... what do you thing about merging hardware architectures?
In any way, I will develop my autopilot and my IMU, and I think I will work with you in your project, I need to improve my solder skill and learn a lot about DCM and autopilot.
Don´t you desing PCBs with Eagle? What software?
Sorry for my bad english :(
Thanks,
Álvaro
The board house has a minimum order of 4 boards, so I'll go ahead and place the order then after I receive them and assuming your still interested we'll figure out how to get the board to you.
Are you good at soldering? There are some small surface mount parts involved.
Thanks,
Brian
I thing I will be interested in getting one of those prototypes PCB and collaborate with software development.
Brian
Let me know if there is anything I can do to help you with your SW implementation of DCM.
Best regards,
Bill
Yea, I'll be doing the assembly myself. I've got decent soldering equipment and a stereo microscope to work with so I can solder just about anything except for a BGA.
I'm all for collaborating anytime. Rather than remove "dsPICisms" though I'll probably add compiler switches to select between 32 bit code and 16 bit code where required.
Good Luck on your board, I'm curious to see how things progress.
Brian
I'll make it code compatible as much as possible, but I'm sure there will be some changes because of going to a 32 bit architecture. I think a sprinkling of compiler switches throughout the code should handle most changes and allow it to be compiled for either platform.
Regards,
Brian
Are you doing PCB assembly yourself or sending it out?
Also are you interested in collaborating on the SW implementation of DCM? I am planning to remove the dsPICisms, and in general clean it up for a 32 bit machine.