victorhook / asac-fc

asac fc is an rp2040 based flight controller made for FPV drone flying
https://victorhook.github.io/asac-fc/
GNU General Public License v3.0
34 stars 9 forks source link

Excellent FC #1

Open 01Space opened 1 year ago

01Space commented 1 year ago

I have been searching for FC using RP2040 and I really like your design. Do you use discord? I can help you design hardware and I would like to work with you to improve RP2040 FC https://github.com/RaisingAwesome/ArduinoNanoRP2040ConnectFlightController This link was ported from dRehmFlight to RP2040 by other developers

victorhook commented 1 year ago

Hello, nice to hear, thanks! I don't use discord, yet at least :) PCB is already designed and ordered, but it can definitely be improved, it's still in a proof of concept state.

Could you elaborate a bit more what exactly you have in mind? :)

01Space commented 1 year ago

Thank you for your reply! I plan to design an RP2040 FC similar to the FPV commercial FC, which will integrate ICM42688+SPL06, as well as a 5VBEC. I am familiar with the design of RP2040 and FC,In the future, when the firmware is mature, AT7456E chip (OSD) or ELRS receiver can also be added.

victorhook commented 1 year ago

No worries, it's fun that someone shows some interest! I have to say I'm a bit surprised that there's so few (if any) existing flight controllers with rp2040, but it's quite new so maybe that's one of the reasons.

Sounds like a cool project you have in mind too, my first iteration I used MPU-6050, and for the second I'm going to use BMI270 for the IMU. What's your motivation behind ICM42688? :)

So far I'm not planning to integrate a baro, since I'll focus on freestyle flying, but it would be cool try to add in the future. I was looking at bmp390, but SPL06-07 seems to have very high resolution according to the datasheet (5 cm??). Do you have any experience with it?

Regarding OSD, my plan is to try to do the magic with a microcontroller instead of the using a specific IC like AT7456E, since its quite depreciated and getting hard to find. I'm taking inspiration from this thread. I'm not sure how hard it will be though, but I think it's definitely doable :)

01Space commented 1 year ago

The pins of BMI 270 and ICM42688 are PIN to PIN, which means they can directly replace each other in hardware. Based on their performance in BF and INAV, FC manufacturers now prefer ICM42688, which performs more consistently in FC.

You can also use two ICM42688Ps with different installation angles, which can compare the data of the two sensors to reduce external interference

Of course, you can consider ICM-45686 https://invensense.tdk.com/products/motion-tracking/6-axis/icm-456xy/

For barometer SPL06 001 OR SPL06 007 can be considered, as they are widely used in BF FC and INAV FC with high cost-effectiveness. However, for some demanding FCs, they still use the more expensive MS5611

For the OSD section, we have two options,

  1. Without using the simulated OSD scheme, directly let the RP2040 chip output data to DJI O3 through the serial port
  2. Refer to this design https://github.com/spracing/spracingpixelosd

Of course, currently the most important thing is to support the CRSF receiver protocol and enable FC to have stabilization Flight modes

You can also consider referencing this project https://github.com/nickrehm/dRehmFlight

victorhook commented 1 year ago

Interesting regarding ICM42688, seems like it costs slightly more than BMI270 (which goes for ~2$?!) but good to know. It's nice if they are pin compatible.

Regarding OSD:

  1. So far I'm not using anything from DJI, nor digital video, so not sure how this would work. I probably should convert to digital eventually but so far I'm still using analog.
  2. That's a cool reference, I'll definitely check this out :)

Regarding helping out with your arduino nano rp2040 flight controller I think I will pass as of today. I wish I had more time to spend on projects like this, but I think that the time I have I will spend on this project. My "long-term goal" is to build all (at least most) electronic parts for an FPV drone myself, including FC, ESC, RX, VTX etc. I've just did a first revision of a custom ESC that I hope I can use with this FC :)