Hi, dear Diydrones members, today I’m happy to demo yet another raspberry based Ardupilot compatible flight controller expansinon board design.
Features:
- Pixhawk compatible Power/GPS module interface
- Integrated ublox m8n GNSS module
- CSI camera ribbon compatible PCB profile
- PX4IO forked project for dedicated PWM I/O with STM32 MCU
- Emlid™ Navio+ inspired solution for ardupilot HAL
- FULLY open source software and HARDWARE
Goals:
- Single package for FPV solution
- Yocto distro with minimum firmware footprint
- Deliver in May, 2015
Why we did this because we believe in open sourced project will be a great tool to learn from the best, and to be even better. We are young Chinese engineers, please no stereotype.
I’ve been assist @zhangkaiqi working on this project for a while now. We had a breadboard wiring prototype flying happily now and we want to push this endeavor a litter further. As earlier Navio+ test reports from Emlid shows that PWM consumed about 20% of RPI B+’s cpu time, we want to test another solution by putting PX4IO (pixhawk’s co-processor part) on RPi.And we are inspired by @PatrickDuffy’s (Diydrones member, not twitter) FPV solution on Rpi with ubnt™, so we want to build a flight controller has all the good features we can get from a Rpi, so we combined them together.
Today we have the first PCB design sign-offed to the fab, and later this week hope to have a smoking test (first time power on a PCBA). We hope people with talent to join us with software design process and we hopefully to send some samples to volunteered engineers, testers and early bird costumers.
We promise to open source all project files, including Eagle Cad schematic/layouts, after we have the first batch PCBA running complete. We need initial product generate some revenue to support out later developments.
I’ll update this thread for the project, please commit for your ideas and feature request.
Thanks for people who contributed to this community made this possible.
Comments
@Lucas De Marchi
OK. And my email is alexzhangkai@gmail.com
i'll email you later.
Nice board!
I'm also regularly online on gitter and skype. Or you can talk to me by email (lucas.de.marchi@gmail.com): since you are in China I know the timezone difference will make it difficult to chat by other means.
Lucas is on the drones-discuss list, plus he is often on the mumble chat (http://dev.ardupilot.com/wiki/ardupilot-mumble-server/)
You are right that the internal AK8963 compass isn't great, although mostly because it is hard to get it away from the other electronics. The best compass option seems to be a HMC5983 external, placed well away from the other electronics.
@Andrew Tridgell
Thank you for your suggestions.Will try MPU9250 in later versions. In my personal experience, the compass in MPU9250 does not performance as good as compass in LSM303D. But the high sample rate is fascinating.
And will rebased the github fork later. It's very glad if got support into the standard repo. How can contact Lucas?
If you have an opportunity to change sensors it may be worth looking at the mpu9250 to allow for the possibility of sampling the accels at 4kHz, which would improve vibration tolerance.
Thanks for the pointer to the github fork. I notice it doesn't seem to be rebasing on ardupilot master and instead is more manually being kept up to date? It would be great to get support for this board into the standard repo at some point, and that will be easier if it is rebased regularly.
@Andrew Tridgell
1. Now this board uses the same bootloader as PX4IO, so firmware can be uploaded from DF13 connector via serial port. The new version board communicates with raspberry pi via SPI. I will modify the bootloader to a SPI version, then firmware could be uploaded from raspberry pi.
2. The sensors are as same as pixhawk: MPU6000, LSM303D, L3GD20 and MS5611. Trying to work with double Accel, Gyro & Mag instances.
3. All works on GitHub: https://github.com/raspilot/ardupilot-raspilot# .
Sorry for jumping in. I though Jerry was not replying. But Then I saw that he has replied today. He will have much better info.
@Andrew,
Jerry was kind enough to send me one of the first engineering prototypes. I will check the onboard sensors in the evening. I am still preparing a craft to test it out. He had sent me GPS module unsoldered and advised against soldering it. It seems on this particular revision there is some random interference if you solder the GPS. But I think he has produced new revisions both with and without GPS on board and these new boards don't have this problem. Jerry may be able to shed more light on the matter but i guess he is too busy hacking new revisions.
You may be able to guess the state of affairs form github page. https://github.com/raspilot/ardupilot-raspilot#树莓派飞控raspilot
There is a little bit of chinese here and there but google translate solves it pretty well.
I'm also interested in how this is going, as this would be the first Linux based board that can run ArduPilot and can potentially support manual failsafe for fixed wing aircraft in case of software failure on the RPi.
One thing I forgot to ask previously is how you plan on uploading the firmware on the stm32. On the PX4v1 the FMU communicates with the IO controller via I2C, but it loads new firmware onto the IO controller via a serial port. That serial port is then used as a telemetry port when not being used to load firmware.
Being able to update the firmware on the stm32 is pretty important so that bug fixes can be applied.
I'm also interested to know what sensors you have on the cape. Is it a MPU9250 IMU like the NavIO? What other sensors?
Once you get the board going it would be good to add support for it in the standard build. I'd suggest you work with Lucas on that. Lucas is the new Linux port maintainer for ArduPilot (see README.md in the git repo).
Cheers, Tridge
@barban now a new revision is done. i'll update the info soon.