Encouraged by the success of my previous custom board (Version 2), which happily carries my quad in the air (maiden flight) with some advanced features like self-stabilization, course lock, control loop operating at 400 Hz, etc., I decided to jump on a more ambitious project - the board with more sensors, more ports, etc.
In summary, the new board (Version 3) has the following parameters:
- PIC24EP512GP806 MCU operating at 64 MHz;
- Two MPU-6050 sensors (in the hope to achieve better vibration rejection) - one on the left and another one - on the right side of the board ;
- New HMC-5983 magnetometer;
- MPL3115A barometric altimeter that can be configured to report altitude instead of the raw pressure;
- On-board 3.3V 1A voltage regulator;
- 8 PWM ports for quad-, hexa-, and octo-copters and/or quad and camera control;
- 4 UART ports for GPS, US-100 ultrasonic sensor, UART-enabled RC receiver, and Data Logger;
- ICSP port for programming;
- On-board signal LED and header for connecting external LED or buzzer (powered through MOSFET);
- Standard size with mounting holes matching KK and MultiWii boards.
Here is the board overview (above)
I will be documenting every step of developing (mostly - porting from V2) firmware for this boards as well as sensors' calibration on my blog. Obviously, all the code is Open Source under the MIT License located in the SVN repository.
Comments
This is awesome!
I love PICs :)
When I got my F550 Hexa, I had the idea to make my own FC with a PIC32, but I never found the time for it, and also, I could not imagine the time to convert the existing code from other FCs to PIC, since starting from scratch would take far too long.
I bet you did not develop your code from scratch, what was the original? and how difficult is it to convert? also what compiler are you using? (I am using MikroC PRO for my PIC projects)
My idea was to make my own custom FC, with many other options like built in OSD for FPV, with option to select from multiple cameras (for example to flip between FPV cam, or the GoPro on the gimbal). Also to add sensors (optical or sonar) in all directions and alert the user through the OSD when something is behind (left/right etc.) the drone.
Imagine using these sensors to program it to navigate automatically through a maze!! or to automatically block you from getting too close to anything (like a building, tree, etc...)
Actually I got my F550 Hexa with the idea of making the above modifications to it, but I am having soooo many problems with it that most of my time I wasted just to get it to fly! I got a MultiWii Pro board on it, and I hate it !! I got it because I thought I would be able to modify the code to do the stuff mentioned above, but I could not get it to fly properly, I am still struggling with PIDs, GPS does not work, altitude does not work, and I am flying it with default PIDs (because nothing else seems to work) and also in acrobatic mode !! I really hate that I spent so much time and got nothing working properly. At the same time, I want to have some fun flying it !
Anyways... please give more details! I'm exited to see someone making their own FC using PIC :)
it's a great job to design a flight controller single handedly. this type of project generally need a team. you knowledge can be of great help to the members of this blog. in improving the hardware.
Alex,
One thing we've found with the Pixhawk is that it's good to actually use completely different accelerometers to reduce susceptibility to aliasing due to vibrations. So if one runs at 800hz and the other at 1000hz it's less likely that you'll get aliasing on both at the same time. Best of luck with your project.
I do not do mass production - at least not yet :) However the Eagle files are provided and the PCB house that I use, https://www.oshpark.com/, accepts the ".brd" files for manufacturing boards - 3 copies of this board cost $48.00. The SW is also freely available - and I will be providing instructions for every piece.
However, if there will be sufficient interest, I may arrange with some manufacturing houses or through Sparkfun.com to manufacture these boards. However I still did not confirm that using two MPU-6050 will actually help to reject vibration.
Any chance of selling these ?