Developer

Pixhawk 1MB flash limit

This is a discussion for the 1MB flash limit issue so that we can consolidate any discussions and concerns about it in one place.

To give some background, all Pixhawk (and compatible) boards use STMicroelectronics's STM32F427 as their main CPU.  This CPU is advertised as having 2MB of flash space (flash is where the ardupilot software is held) but we have discovered that early revisions of this CPU (RevA, RevY and Rev1) have a hardware problem and can actually only hold 1MB and if we use more than that they start exhibiting USB communication problems.

Now currently APM:Copter-3.4 is 0.9MB so it's under the limit but as we add new features it grows and if it grows above 1MB users will find they can't reliable connect the ground station to the board using a USB cable (wireless would still work) which could make it very difficult to configure the board, download logs, etc.

We think many boards (perhaps most boards) out there are the early revisions (A, Y or 1) which suffer from this problem.  All the boards on my desk have this problem and you can check your board by following the instruction also shown in the video:

  • Ensure your Pixhawk (or compatible) is loaded with a recent version of ardupilot (like APM:Copter-3.3.x)
  • Connect with the Mission Planner
  • Go to the Terminal screen and select "NSH" on the drop-down on the left, then push the little green connect button beside the drop-down
  • type "ver all" and press Enter quickly into the terminal (the "Overtime in task 19" causes the MP some troubles)
  • look for the "WARNING! Revision Y has a silicon errata".

Some very recent boards do not suffer from this problem.  For example all Solo's are fine as are the XRacer (aka PixRacer) boards.

Before panic ensues I'd like to say that although APM:Copter-3.3.2 is already 90% of this limit, remember we've just done a release and we will put effort into keeping the code size under 1MB.  So for example, I can guarantee that APM:Copter-3.4 will fit and hopefully Copter-3.5 too.

Still, when you're shopping for your next Pixhawk you may consider asking the manufacturer if they are using the latest Rev3 STM32F427 processor.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

        • yes but this board has missing components

          • Could you pls to explain what exact components are missing? How you can see it?

            • http://www.rcgroups.com/forums/showpost.php?p=34502984&postcoun...

              Redundant power and logic level translation seems to be missing, and the layout is also changed. The board also suffers from bad accel health so hardware fix still needed.

              RC Groups - View Single Post - Pixhawk 2.4.8
              RC Groups - the most active Radio Control model community: electric and fuel rc airplanes,rc helis,rc boats and rc cars. Features discussion forums,…
    • Given parts inventories, it's likely to be hit or miss for quite some time. But as discussed elsewhere in this thread, the 1M "limit" really should not be a big deal in practice -- there are a variety of workarounds.

  • Does the pixhawk not have 2 MB Flash? Was that just false advertising?

    I just went out and bought a new 300$ pixhawk after APM was no longer supported and now your telling me this?

    What is 3DR going to do? Are they going to replace these faulty boards?

    2MB flash right on the page: http://copter.ardupilot.com/wiki/common-pixhawk-overview/

    • Developer

      It's perhaps fair to view 3DR (and other manufacturers) as a victim like everyone else.  ST Micro is the one that made the original error and didn't recall the chips so there are still huge quantities of them floating around on the market.

      I'd say the manufacturers are only behaving badly if they know about the problem but don't tell anyone and continue to sell boards with the earlier rev chips.

      • Would it be possible for someone with the required soldering ability to swap out the chip for a later revision or do the chips need to be pre-programmed in some way.

        • Developer

          Andy,

          It's at least theoretically possible.  We'd need to burn the bootloader onto the chip but that's done after the chip is soldered to the board using the square group of 8 or 10pins that can be seen on the top of the board (I think, I've never personally done it).  The bootloader is open source as well of course and we've got it somewhere in the ardupilot repo I think.

    • You can probably get one in RMA if you ask nicely.

      • Yes, there is 2MB of flash in all of these, and the developers have already made it clear that there shouldn't be any significant problems in normal usage with the units that have certain limitations in accessing the top 1M under certain specific conditions. They're going to be supported. Really, don't worry about it.

This reply was deleted.

Activity