Flight Control System Design: Hardware and PCB Design with KiCAD - Phil's Lab #1

Поділитися
Вставка
  • Опубліковано 14 чер 2024
  • ⏵Hardware and PCB design course: www.phils-lab.net/courses
    Complete source files: github.com/pms67/HadesFCS
    If you're enjoying my content, please consider becoming a patron: / phils94
    [Timestamps listed below]
    First part of a series of videos on the design of a complete flight control system from scratch (hardware, software, control and navigation algorithms, base station, etc.).
    I go through the necessary steps to design the hardware, including choosing components, schematic design, layout, routing, and testing.
    I designed the PCB with KiCAD and had the boards manufactured and assembled by PCBWay.
    Timestamps:
    00:00 Quick look at hardware
    [Slides]
    00:06 Introduction
    01:05 Aims
    02:14 Prototype
    02:43 Requirements
    04:12 Block Diagram
    06:37 Creating the schematic
    09:06 Picking the physical parts
    11:00 PCB layout
    12:37 Routing
    14:21 Preparation for production
    15:14 Testing the hardware
    16:54 Next steps for flight control system design
    [KiCAD]
    18:42 Schematic
    19:48 Final layout
    20:23 PCB sectioning
    22:25 Important PCB areas (e.g. oscillators)
    24:08 High current traces
    24:44 Routing order and stitching vias
    25:25 First hardware tests
    ID: QIBvbJtYjWuHiTG0uCoK
  • Наука та технологія

КОМЕНТАРІ • 251

  • @PhilsLab
    @PhilsLab  2 роки тому +10

    New hardware and PCB design course on mixed-signal embedded systems just released!
    ⏵Course content: www.phils-lab.net/courses
    ⏵Course sign-up: phils-lab-shop.fedevel.education

  • @JA-ur8ob
    @JA-ur8ob 3 роки тому +63

    It just seems too good to be true that such quality information exists for free on UA-cam. You're an excellent teacher and a great human being for sharing this. Thanks heaps

    • @PhilsLab
      @PhilsLab  3 роки тому +5

      Thank you very much for your kind words!

    • @hamzaarif7249
      @hamzaarif7249 6 місяців тому +1

      @@PhilsLab Can you develop a flight control computer for a drone using cameras , radars etc and can you develop a milimeter wave length radar?

    • @matter_gaming
      @matter_gaming 13 днів тому

      ​@@hamzaarif7249 👁️ 👄 👁️ watcha need that for bud?

  • @arnoldc1724
    @arnoldc1724 4 роки тому +56

    This is a masterclass video. You have such a clean, ordered understanding of everything. I really enjoy hearing you break down the flight controller into it's different categories (hardware, software) and then breaking it down even more from there.

    • @PhilsLab
      @PhilsLab  3 роки тому +4

      Thank you very much, Arnold! I'm very glad you liked the video.

  • @IamSentient314
    @IamSentient314 4 роки тому +120

    Thank you so much ! I've never seen someones work in this field so structured and open source.

  • @miguellorenzo3726
    @miguellorenzo3726 4 роки тому +27

    You're really helping both students and professionals improve their designs. Your channel is awesome man keep it up!

    • @PhilsLab
      @PhilsLab  3 роки тому +2

      Thank you very much, Miguel!

  • @cocosloan3748
    @cocosloan3748 4 роки тому +55

    This is hard work..You are so good at electronics!

    • @PhilsLab
      @PhilsLab  4 роки тому +5

      That's very kind, thank you!

  • @fjs1111
    @fjs1111 Рік тому +3

    Aside from designing my own boards + systems, really am enjoying watching your designs too. Very good and clean designs you have, excellent work my friend.

  • @Steven-jf4cs
    @Steven-jf4cs 3 роки тому +1

    Phil, thanks so much for all the hard work. A long long time ago and in a galaxy far far away I spent an entire career in the US Marines and most that time was in the aviation side of the house - aircraft maintenance admin and aircraft statistical analysis with the 3rd Marine Aircraft Wing in California. I appreciate your work in fixed wing aviation and the insight you provide in both code and related electronics. I'll do my best to keep up with you.

  • @filmweaver2013
    @filmweaver2013 2 місяці тому

    This is art! The board just brings a reallyy wide smile on my face. Your teaching style, your knowledge is so precise and deep! Your videos are precious, extremely valuable… thank you so much for the time you put into these videos

  • @svg98
    @svg98 2 місяці тому

    Phil, I admire the thorough design flow that you use; it's really top-notch engineering and it radiates experience in the field. I cannot thank you enough for spreading your knowledge. You are educating the next generation of electronics engineers. Thank you!

  • @Baraka-yl2dp
    @Baraka-yl2dp Рік тому +6

    Great video. Please continue the great work.
    You promised to do the following follow up videos on this design, have you done so yet?
    1. Low level hardware design
    2. Signal processing
    3. Telemetry & messaging protocols
    4. State estimation
    5. Aircraft Modeling, control system design and implementation
    6. Higher level performance design
    7. Ground control station design
    If you have not done so yet, please consider doing them as soon as you possible can. We would be very grateful as your teaching style, design philosophy and methodology are exemplary. Thanks in advance.

  • @blacklion79
    @blacklion79 4 роки тому +6

    Oh, yes, connectors! I've spent more time selecting connectors for my last project than all other designing time together.
    Thank you for this video.

    • @PhilsLab
      @PhilsLab  4 роки тому +2

      Yeah, it’s dreadful how many of them there are these days... Any favourites of yours you can recommend? For flight control stuff I’ve settled for Molex PicoBlade even though they are quite expensive.

    • @blacklion79
      @blacklion79 4 роки тому +1

      @@PhilsLab My last project is dead simple from electronic point if view, it is more electrical - power distribution box for motorcycle - but it must be very robust, as currents are rather large (up to 10A per consumer, up to 30A total) and environment is very harsh due to vibrations. Typical solution in this area is screw terminals, but I don't like it, as I know how motorcycle engine could unscrew any bolt without locktie. I've looked at Molex MegaFit and alike, but some of such connectors require exotic crimpers to prepare cables and not easy to buy if you have access to simple "electrical" shops and not places like Mouser or DigiKey (for example, no retailers sell MegaFit in my country, you could order them through distributor, but distributor works only with big quantity orders, like 100 of one type minimum, and shipping from DigiKey is about $70 no matter what you buy), and I want to have project as accessible as possible. So, after a long reading of application notes, recommendations and industrial standards, I've sacrifice my wish to have polarized vertical connectors and goes with "good old" Quick Fit tabs. Good quick fit tabs or soldering to PCB are not easy to buy too, but, at least, other part (female connectors to crimp on a cable) could be bought in any Car Parts store, crimper for them is present in any car mechanics shop, and it is type of connectors which are recommended, for example, for USA Aircraft Manufacturers (instead of screw terminals).
      For small-scale connectors my go-to type is "JST" of different sizes (GH, PA, XA), because there are a lot of cheap but rather good Chinese clones around.

  • @badejavuade6774
    @badejavuade6774 3 роки тому +4

    Really looking forward to your subsequent videos(control). Amazing presentation from the architecture down to low level PCB functionality. Thanks

    • @PhilsLab
      @PhilsLab  3 роки тому +1

      Thank you, really glad you liked it! More to come soon!

    • @badejavuade6774
      @badejavuade6774 3 роки тому

      @@PhilsLab you welcome.I’m actually designing some hardware at the moment...subsequent videos will definitely help me. Thanks once again

  • @jeremysender
    @jeremysender 3 роки тому +1

    Great work to see the theory, design, PCB layout and finished product. Amazing work.

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you, Jeremy!

  • @alaamomen8048
    @alaamomen8048 4 роки тому +34

    I really love your documentation

  • @richardlyon67
    @richardlyon67 3 роки тому

    Phil - your projects are fascinating and your videos are excellent - many thanks for taking the time to make and post these.

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you very much for your kind comment, Richard! My pleasure - thank you for watching!

  • @cosmicbattle8890
    @cosmicbattle8890 3 роки тому +3

    Yo..This is the best channel on PCB design and the documentation is so good....Ain't seen much like it...would have liked to see the quad fly

    • @PhilsLab
      @PhilsLab  3 роки тому +1

      Thank you very much! Hopefully will get to see one of these flight controller PCBs in action sometime soon :)

  • @HypeBeast764
    @HypeBeast764 4 роки тому +18

    How my GOD This is the freaking video i've been looking for the past few years!!! Thanks or showing us how to do this!!

    • @PhilsLab
      @PhilsLab  4 роки тому +1

      Awesome! My pleasure, glad you found what you were looking for!

    • @HypeBeast764
      @HypeBeast764 4 роки тому +1

      Phil S will you be making a video going over programming the firmware?

  • @zxlee1
    @zxlee1 4 роки тому +3

    Thanks for sharing the details and all the thought process of the hardware design. Can't wait to learn more from your upcoming videos.

    • @ivaniliev694
      @ivaniliev694 4 роки тому

      @@PhilsLab A Video about signal termination or high speed differential signals like Ethernet / USB layout would be great to have, there is very limited information about it online. Your thought process was very organised, easy to follow and understand even for someone relatively new to the field :)

    • @zxlee1
      @zxlee1 4 роки тому

      @@PhilsLab I would like to see a video on how all the sensors data are fused and used, the control algorithm of the UAV and how you can make deterministic processing in your control loop. Keep up the work ;)

  • @VoltageLP
    @VoltageLP 4 роки тому +1

    Thanks for investing your time and sharing this with us!

    • @PhilsLab
      @PhilsLab  4 роки тому

      My pleasure, thank you for your comment!

  • @suvapillay9358
    @suvapillay9358 4 роки тому

    Mate, this is truly impressive, and really inspiring. Well done. Take care.

  • @leifefrancisco7316
    @leifefrancisco7316 Рік тому

    This is awesome I saw you're 66th video and then I wondered what your first video was on. Now I'm here.

  • @planetwonders
    @planetwonders 4 роки тому

    Awesome organization... Always knew it is required but never really saw someone doing it so religiously it becomes a best practice for me...

    • @PhilsLab
      @PhilsLab  4 роки тому +1

      Thank you very much!

  • @7006608
    @7006608 4 роки тому

    Can't wait for the rest of series. Good Job!

  • @qbitsday3438
    @qbitsday3438 3 роки тому

    Truly a Genius and real hard work.!Subscribed

  • @abdullahalbgmai2420
    @abdullahalbgmai2420 3 роки тому

    Excellent topic and excellent explanation Thank you from the depths. उत्कृष्ट विषय और उत्कृष्ट व्याख्या गहराई से धन्यवाद

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you for watching, Abdullah!

  • @rahulbindhu
    @rahulbindhu 3 роки тому

    UA-cam always recommends me the good stuff

    • @PhilsLab
      @PhilsLab  3 роки тому

      I'm glad it does! :)

  • @bloguetronica
    @bloguetronica 4 роки тому

    Very nice presentation! The board is very well designed!

    • @PhilsLab
      @PhilsLab  4 роки тому

      Thank you very much!

  • @soufiane_krem
    @soufiane_krem Рік тому

    This is Great !! Thank you for presenting this project.

  • @carrefamily01
    @carrefamily01 2 роки тому +1

    Your courses are easily one of the best put together and understandable online courses in ee and I would easily pay over $1k if you did a course on general subject matters. Please consider it.

  • @kbalyasnikov
    @kbalyasnikov 4 роки тому +3

    Fantastic video! I! I’m just in the beginning of my electronic’s learning path and this kind of material greatly helps to structure pieces of knowledge I’ve got around the web. Lots of useful information. Thank you very much, Phil!

    • @PhilsLab
      @PhilsLab  4 роки тому

      Awesome, glad to hear that! Thank you for your comment :)

  • @CellularInterceptor
    @CellularInterceptor 4 роки тому +1

    Amazing well done videos! Thank you for sharing! :)

  • @Tacos117
    @Tacos117 3 роки тому

    Please, please make a class around pcb design. There isnt any better youtube videos on the subject! Channel is top notch!

    • @PhilsLab
      @PhilsLab  3 роки тому +1

      Thank you very much! What kinda PCB design topics would you be interested in? Or rather a 'basics-to-advanced' kinda course?

    • @Tacos117
      @Tacos117 3 роки тому

      @@PhilsLab basic to advance would be amazing!! Im currently going back for my EE. And there is next to no classes for circuit design and layout. I watch your videos for most of my kicad help!

  • @ykr786
    @ykr786 4 роки тому

    You documentation and organization is unparallel

    • @PhilsLab
      @PhilsLab  4 роки тому

      That's very kind of you to say, thank you!

  • @MrVipulLal
    @MrVipulLal 2 роки тому

    Excellent video

  • @Tarex_
    @Tarex_ 4 роки тому

    wow, this was an amazing watch.. and here i am struggling to route an NE555 and a few LEDs lol.. instant subscribe, this was awesome

    • @PhilsLab
      @PhilsLab  4 роки тому

      Thank you! Haha don't worry - you don't want to see what my first boards looked like.. I'm sure you'll be able to make the stuff in this video in no time.

    • @Tarex_
      @Tarex_ 4 роки тому

      Now i'm curious :D i'm sure i'll get it done, autorouter is always an option, i use eagle (Fusion360) and EasyEDA but still haven't finished a board yet, more the cad person. keep em coming though, the thought process before even touching the software is super informational and clear

  • @janzugic6798
    @janzugic6798 3 роки тому +1

    this channel is gold

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you, Jan! :)

  • @Bianchi77
    @Bianchi77 8 місяців тому

    Good knowledge, well done, thanks for sharing with us :)

  • @Masoudy91
    @Masoudy91 4 роки тому

    I am going on Liking Spry on all your videos / documentaries!

    • @PhilsLab
      @PhilsLab  4 роки тому +1

      Haha that's awesome, thank you!

  • @dentaytr12
    @dentaytr12 2 роки тому

    thank you man! for your generous heart

  • @NicozStrat
    @NicozStrat 3 роки тому

    dude I love you videos and explainations! Thank you so much

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you, really glad you're liking the videos!

  • @ConexSpot
    @ConexSpot 2 роки тому

    Awesome video!! Thanks!

  • @konturgestalter
    @konturgestalter 3 роки тому

    incredibly useful to learn . thank you!

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you for watching!

  • @abdelaliboussetta1450
    @abdelaliboussetta1450 4 роки тому +1

    Thanks for sharing!

  • @Frankx520
    @Frankx520 3 роки тому

    Thank you so much for upgrading my skills.

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you for watching, Frank!

    • @Frankx520
      @Frankx520 3 роки тому

      @@PhilsLab As a noob mechanical engineer who only knows how to use Arduino. I found your content is so potent for me. My goal is to be able to make a professional-grade custom microcontroller PCB and basic power electronics. Thank you so much!!

  •  Рік тому

    Thank you for sharing.

  • @Coolman6564
    @Coolman6564 Рік тому

    Very impressive... kudos!

  • @antoniopellegrini8704
    @antoniopellegrini8704 4 роки тому +1

    Thank you so much for your awsome work

    • @PhilsLab
      @PhilsLab  4 роки тому

      My pleasure, thank you for watching!

  • @andreyl2705
    @andreyl2705 Рік тому

    amazing work)

  • @muwagamicheal8317
    @muwagamicheal8317 4 роки тому

    Done with Part; am waiting for the next Part.

  • @adaminsanoff
    @adaminsanoff 3 роки тому

    I came back to watch the video again. :)

    • @PhilsLab
      @PhilsLab  3 роки тому +1

      Haha, thank you Adam!

  • @fatih1922
    @fatih1922 3 роки тому

    Phil you just rock!!!

  • @pramitchaudhury1821
    @pramitchaudhury1821 4 роки тому

    Awesome work bro❤️❤️❤️❤️

    • @PhilsLab
      @PhilsLab  4 роки тому

      Thanks a lot, man!

  • @myhobbies5965
    @myhobbies5965 2 роки тому

    excellent bro,

  • @EmbeddedEnigma
    @EmbeddedEnigma 2 роки тому

    how are u this intelligent man? . your videos are just amazing, helps me a lot in my job XD

  • @EhsanAlnazi
    @EhsanAlnazi 4 роки тому +1

    nice work I like your work my dear

  • @geronimoominoreg.....
    @geronimoominoreg..... 4 роки тому

    Thank a lot for this knowledge.

    • @PhilsLab
      @PhilsLab  4 роки тому

      My pleasure, thank you for watching!

  • @arisaffandysunuh9732
    @arisaffandysunuh9732 4 роки тому

    Awesome, fantastic!

  • @icaerosag
    @icaerosag 7 місяців тому

    You are a genius

  • @piotrlenarczyk5803
    @piotrlenarczyk5803 3 роки тому

    Thank you for video.

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you for watching!

  • @hartono_motor_channel
    @hartono_motor_channel Рік тому

    Good infomation

  • @byronwatkins2565
    @byronwatkins2565 4 роки тому

    Personally I recommend that you .zip up your design file folder before you even order the boards instead of as an afterthought. You will be much less likely to forget this backup if you incorporate its creation several times in your design process. Zip them up early and often; back them up to the cloud, NAS, and/or flashdrive. Then, immediately, change the version number and folder (directory) name. You can always view the design from the .zip. If you don't need the new version, you can always scrap it later.

  • @Nightsd01
    @Nightsd01 3 роки тому +1

    The STM32H7 you used seems like it’s quite powerful enough to handle all of the needs you spoke about without needing a secondary processor unit (F4). Is there a reason you still chose to do this, was it just for more IO?

  • @rabiraju9414
    @rabiraju9414 Рік тому

    Good design

  • @narcisocholakian272
    @narcisocholakian272 3 роки тому

    very interesting thanks

  • @johnnyserup5500
    @johnnyserup5500 2 роки тому

    cool video :-) just one suggestion, have at the end a small flight with a drone, just to show it in action

  • @LinhHoang-zi9mt
    @LinhHoang-zi9mt 3 роки тому

    Is it hard to reflow BGA? Do you normally get the parts assembled or DIY? You briefly talked about copper pour, it would be great if you go over mixed-signal design PCB with KiCad. Great videos!

  • @engineer580
    @engineer580 2 роки тому

    Thank you for this informative video. Is there a video about software part.

  • @esteban19h08m
    @esteban19h08m 4 роки тому

    dang job sir! my respect!

  • @mapledev9335
    @mapledev9335 3 роки тому +1

    Thanks Phil, love all your videos on your channel. With regards to Kicad - how do you organize your part/model libraries?

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you very much, Steve! I typically have a library folder for each individual project - which isn't the greatest way of organising it but it works for me. I've recently started making my own global library with parts I commonly use, so may push that to GitHub at some point!

    • @mapledev9335
      @mapledev9335 3 роки тому

      @@PhilsLab Sounds like we are following the same path. I'm just in the process of organizing a global library. Look forward to more videos from you!

  • @chockman3833
    @chockman3833 3 роки тому

    Great video! Why did you chose two microcontrollers over just having one more powerful one? It just seems like a unnecessary complication to me?

  • @saviouremmanuel3608
    @saviouremmanuel3608 8 місяців тому +1

    Thank you very much for this structured video. It greatly reduced the anxiety I had starting the project but I have a question I would love to ask you Mr. Phil and many other more experienced minds. I have at least 3 years experience in Electronics and have a good deal of knowledge for PCB Design and I also have a partner who has 7 years of Embedded software programming but we plan on taking a project of building an autonomous drone. Do you think it is necessary for one to dive deep into Control theory or one could work with good open source libraries like BetaFlight or others?? Do major companies doing such dive in deep and write the whole libraries for Normalization, Kalman filters and the likes??

  • @ahmedrg7131
    @ahmedrg7131 Рік тому

    Hey Phil, are there other Videos related to this flight controller board ? for example the PID and kalman Filter implementation for this board, written drivers to the IMU and other sensors...?

  • @TechWestBrent
    @TechWestBrent 4 роки тому +1

    Love your videos, just started viewing them. Q: you waited to get the HW back to start writing drivers... is there a circuit simulator that could be used to start writing the drivers?

    • @PhilsLab
      @PhilsLab  4 роки тому +1

      Thank you very much!
      I'm not entirely sure if there are circuit simulators for that sort of thing. However, I know there's definitely some for various types of microcontrollers - not sure about STM's though!

  • @Joyplanes
    @Joyplanes 4 роки тому

    Amazing.

  • @adilsongoliveira
    @adilsongoliveira 4 роки тому +1

    Hello. I love the work you are doing, congrats! I'm quite experienced with Ardupilot and INav and in both, magnetometer for fixed-wing crafts is optional. Actually (well, in INAV at least, I haven't used Ardupilot in quite a while) it is not recommended due to the fact the orientation is always "forward" and the direction can be determined by IMU an GPS. Do you have any other reasons to use it?

    • @PhilsLab
      @PhilsLab  4 роки тому

      Thank you very much! Yes, magnetometers are rarely used in aircraft as they are rather difficult to calibrate and are influenced heavily by any surrounding magnetic fields - especially those generated by the electronics on the board.
      The positive aspects of a magnetometer are that it has a much higher sample rate and can thus give a more frequently updated estimate of the yaw of the aircraft. Also, GPS units return course heading and not absolute yaw angle from the north bearing. However, using Kalman filters one can actually get an estimate of the yaw angle via the GPS measurements - this is what 'commercial' flight controllers (Ardupilot, etc) will be doing.
      I chose to incorporate it as I wanted to play around with how magnetometers work, see if I can get reliable estimates from them, and so on. As you have said they are difficult to incorporate reliably into the state estimation scheme - so I tend to avoid putting them on future PCB designs!

  • @PerchEagle
    @PerchEagle 3 роки тому

    Yep, this is the stuff !!!

  • @a7x52
    @a7x52 9 місяців тому +1

    How do the chips communicate with each other, and what is the purpose of the 8 GPIO pins connecting them?

  • @yueguan4237
    @yueguan4237 3 роки тому

    Nice post. you can change whatever your file if put them under git.

  • @gregwassick7328
    @gregwassick7328 3 роки тому

    Phil, very nice work. Can you tell me what IDE/Compiler you are using for the development of the STM32 Firmware?

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you, Greg! I'm using STM32CubeIDE to program the STM32s. It's free software and pretty much all you need in my eyes.

  • @aherontas1943
    @aherontas1943 3 роки тому

    Really good job and nice well explained documentation! Keep up the good work! Do you use some BOM plugin in order to export all in a csv or excel?

    • @PhilsLab
      @PhilsLab  3 роки тому +1

      Thank you very much! These days I mainly use JLCPCB and there is actually a KiCAD plugin tailored for that manufacturer, for example: github.com/wokwi/kicad-jlcpcb-bom-plugin

    • @aherontas1943
      @aherontas1943 3 роки тому

      @@PhilsLab thank you very much I will check on it:D

  • @joanmadera
    @joanmadera 3 роки тому

    Hello Phil, I'm a complete beginner interested in learning how to design my own circuit board. I feel like this video is too advanced for me. Could you list some resources for people like me or make a video? I want to know basic concepts about the design process, such as design decisions when wiring and selecting components, and coding the relationship between them.

  • @MikeNugget
    @MikeNugget 3 роки тому

    Please, make a review of MSP protocol and how to interact with flight controller via usb

  • @geekionizado
    @geekionizado 3 роки тому

    Do you know a place to order flexible pcb? I wanted something very small and simple like 20x20mm but even this is like 120 dollars

  • @JR_392
    @JR_392 3 роки тому

    Nice project and the documentation is awesome! Btw: do you solder your board yourself or is it done externally? If yes, where?

    • @rasnghul662
      @rasnghul662 3 роки тому

      Soldering of CMS components can be done by the PCB manufacturer in a process called SMT assembly. They have a list of components which are available on their website. They charge extra for this service. For other components, you will have to do it yourself. You can buy said components on websites like Farnell or Radiospare if you want something fast (it's expensive to go that route). Or you can carefully import components from China through websites like AliExpress (beware of what you buy on there). Ball grid array components CANNOT be soldered by hand. Small CMS components are also hard to solder without proper equipement.

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you! I had this board made and assembled by PCBWay in China. But I typically have my PCBs made and assembled by JLCPCB these days.

  • @adaminsanoff
    @adaminsanoff 4 роки тому

    Phil, could you please also touch on the telemetry messaging? Perhaps also about how you designed your protocol?

    • @PhilsLab
      @PhilsLab  4 роки тому

      Sorry for the late reply! Yes, at some point I'll go over the - rather simple - messaging protocol I am using. In essence, it's very similar to MavLink but with COBS encoding.

  • @bruceme101
    @bruceme101 4 роки тому +1

    That's huge! Is there more about the software design?

    • @PhilsLab
      @PhilsLab  4 роки тому +3

      I've just started working on a minimalist (and much cheaper) version of this board, for which I plan on doing a step-by-step guide through the firmware design. From low-level drivers through to state estimation and control system implementation. Is there anything in particular you'd like a focus on?

    • @bruceme101
      @bruceme101 4 роки тому

      @@PhilsLab yeah,i was thinking you had about 3x more cpu power than you could ever use. I can't wait to see it. I did a recent project coding an adhrs from a naze32. I fly it on my homebuilt manned glider.

  • @lucysluckyday
    @lucysluckyday 4 роки тому

    Why is the fast H7 used for the flight controller, whereas the slower F4 is for the sensor and navigation reader? Generating PWM with an F4 is easy, but wouldn't you want a high speed read of the navigation sensors? Unless .. you want to be able to change PWM at a quicker rate .. ? It feels like the H7 should be used for quick response for the navigation and sensor read unit. Or is the PID controller going to be running on the flight control computer for performing stability calculations? I had planned on building something similar in my spare time a few years back, where the navigation system feeds data into a neural network, but other things just ended up getting in the way. Nice project BTW!

  • @RaamakrishnanNS
    @RaamakrishnanNS 3 роки тому

    Exactly what i was looking for!!. Very good.
    Could you also please let me know if you could guide me on Hobby electronics.

    • @PhilsLab
      @PhilsLab  3 роки тому

      Thank you for your comment!
      I'm afraid I only do paid consulting work, so can't offer free guidance other than the videos I provide on my channel.

    • @RaamakrishnanNS
      @RaamakrishnanNS 3 роки тому

      @@PhilsLab hello Phil. Yes. Let's discuss. Please give me your contact details.

  • @jordfumar2393
    @jordfumar2393 4 роки тому +1

    Impressive work!! Is this project still on-going? Has the board already been brought up?

    • @PhilsLab
      @PhilsLab  4 роки тому +2

      Thank you! I've been fairly busy with other work but have recently done a revamp, more stripped-down version of this board. A pre-decessor of this board has actually already flown! Not fully automatic, but assisted ('fly-by'wire') control worked which was very cool to see.

  • @AbdulRehman-pz7kb
    @AbdulRehman-pz7kb 4 роки тому

    What connectors have you used for the COMM, GPS and Sensors? BTW excellent work there and that's so awesome of you to make in opensource.

    • @PhilsLab
      @PhilsLab  4 роки тому +1

      Thank you! I used Molex PicoBlade connectors. Unfortunately, they are quite pricey - especially the pre-made cable assemblies.. So will be switching to something like JST GH in the future.

  • @user-uk4jf6ob2w
    @user-uk4jf6ob2w 8 місяців тому +1

    I I've manufactured a PCB based on your design specifications, but I'm encountering an issue with the MIC26903YJL-TR regulator. Instead of providing the expected output voltage of 5V, it is only supplying 0.12V. I've attempted to resolve the issue by replacing the regulator, but the problem persists, with the output remaining at 0.12V. Could you please offer any suggestions or guidance on how to address this issue?

  • @arunk5866
    @arunk5866 2 роки тому

    Will You post complete design tutorial of this board in altium

  • @forfengeligfaen
    @forfengeligfaen 4 роки тому

    I love that this board has a built in GPS. Is there any way to put a GPS antenna on the PCB? My dream flight controller would have an ESC and LoRa too. Not sure if that's possible? I guess it's not a big jump to run iNAV or Beta flight on this board? You'd only need the one processor though.

    • @PhilsLab
      @PhilsLab  4 роки тому

      Yeah, I'd love commerical flight controllers with built-in GPS. I don't think a GPS antenna would work too well, as (as least for fixed-wing UAVs), the hardware is buried inside the fuselage without a clear view of the sky and thus the signal reception strength will be diminished.
      I'm sure an ESC + LoRa would work to give a complete system, then again I don't know how large that board would be! One thing I thought may be cool, is to combine some sort of Linux-based CPU with the lower-level microcontroller/sensor stuff on one board.
      I'm fairly certain, although I haven't looked into it, that you could get one of the popular flight control firmwares to run on this. Then again, if I had to redo this board, I'd probably do quite a few things differently!

  • @Superfungus0
    @Superfungus0 4 роки тому

    Neat!
    If I can ask, why did you decide to have a physically separate STM32F4 instead of just selecting one of the dual-core STM32H7 parts with an included M4 sub processor?

    • @PhilsLab
      @PhilsLab  4 роки тому +1

      Thank you! Yeah, that would've been much slicker. This was my first 'proper' PCB and my first time making a board with STM32s on them, so was completely new to the field. Back then I hadn't even seen the dual-core parts haha. These days I'd definitely change a few things with this design...

    • @Superfungus0
      @Superfungus0 4 роки тому

      @@PhilsLab Fair enough, thanks for sharing your project!

  • @rahmatdwiputra
    @rahmatdwiputra 4 роки тому

    Thanks for the video!! When choosing micro-controller? How do i know whether I have enough computing power? How did you calculate yours? Thanks :)

    • @PhilsLab
      @PhilsLab  4 роки тому +3

      That's a great question! Generally speaking, giving a direct answer to that is probably quite hard.
      Firstly, I'd say go for the fastest possible one in your budget (both price budget and power budget).
      Regarding control systems and MCUs, say you have a control process running on your MCU which controls an external system that has a bandwidth of 1kHz, you will want a MCU that can process the calculations for the controller AT LEAST 10x faster than that, so should be able to perform all calculations at least 10000 times per second (10kHz). Now, every calculation will take at least one clock cycle (most certainly more, with stuff like fetching from memory, etc, etc), and you're going to need many of these calculations per loop. Additionally, you'll probably have other processes/functions running on the MCU that it needs to handle as well. The list does go on..
      As you can see, there is no straightforward answer, as there are many things you need to take into account and it's very much situation-dependent.
      An option may be to see what function your device needs to be able to do and see if there is any other similar product like that on the market, where you can see what MCU they are using (and at what speeds) and then choose a similar one. For example, I'm using an STM32F405RGT6 on this board and from what I've seen, a couple other flight controllers use the same one.

    • @rahmatdwiputra
      @rahmatdwiputra 4 роки тому

      Phil S thanks Phil!! That’s always been a tough thing for me to choose as there are so many options out there. Ref designs are always the first place to go to for me :P

  • @maxhouseman3129
    @maxhouseman3129 3 роки тому

    Do you test your components on breadboard or design directly the PCB? Some manufacturers have very poor documentation and wasting a PCB because there is a design issue is not cheap.

  • @mixguru9669
    @mixguru9669 3 роки тому

  • @garrettallen8225
    @garrettallen8225 3 роки тому

    Any update on new videos in this series? Great work btw 👌 very! informative.

    • @PhilsLab
      @PhilsLab  3 роки тому +2

      Sorry for the late reply! Thank you, I'm planning on making a video on the state estimation scheme (Extended Kalman Filter) that's running on this, hopefully in the next couple months!

  • @manuantony5822
    @manuantony5822 4 роки тому

    Hi Phil, Very nice video...expecting further videos on writing drivers and high level software. Got one doubt, why did you use separate EEPROM? The flash would have done the same job, may be you have to use a diiferent sector in flash to store your data

    • @PhilsLab
      @PhilsLab  4 роки тому +1

      Thank you, Manu. Yeah, the flash could have done both. However, I quite liked the idea of physically separating memory areas. So the flash is used for data logging, while the EEPROM is used to store rarely-changing constants, e.g. controller gains etc. Might just be personal preference though!

    • @manuantony5822
      @manuantony5822 4 роки тому

      @@PhilsLab okay... cool!