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.
I have some STm32 rev.3 chips on the way and I'm going replace them.
Can anyone help me with the boot-loader as these are stock stm32 chips?
I have a Nucleo board with the ST-LINK/V2-1 debugger/programmer so I think I can load the chip with a firmware this way but I don't have any experience with ST micro-controllers.
Is it possible do get a .hex file of the boot-loader and flash it with the ST-LINK/V2-1?
If I succeed I will make the procedure and the list of equipment public so anyone can do it.
I can also do it for anyone who is scared of soldering iron for a small fee.
Damn. This would have been nice to know back in July 2014 when I bought it! Oh well...
What is about HobbyKing Px4Pilot ?
Spec shows STM32F427 Rev 3.0. Did anyone try it ? 60$ is a nice price...
Has someone installed Banggood 2.4.8 pixhawk in a plane/Copter to verify if this really works. All my boards are from 3DR except one which I got from hobby king. Sometimes when I am downloading the log files it gets stuck on certain logs. If I take the same flash drive and install it in a different pixhawk it works fine. This leaves me with conclusion that the board from HK is bad. I am nervous when I am flying my copter using that board.
Ordered a brand new Pixhawk from 3DR. Arrived last week and still it shows that it has a limit of 1MB :-(. Does anybody know which vendor ships a unit which does not have this limit?
That very much surprises me. I ordered hundreds from them a couple of months ago and when I spot checked a few of them they did not have the 1MB issue.
The pixracer from AUAV.co certainly doesn't have the issue but it's not necessarily a 1-to-1 replace of the pixhawk depending upon your application (doesn't have a case, only 6pwm outputs).
I just got a Pixhawk 2.4.8 from Fasttech.It reports build date as 24th February this year and a revision 3 chip.
Dirt cheap.No affiliation.I just popped for one on the off chance to see what you get for $53.Banggood have them also I think.
How these companies get these revision numbers is very questionable. If you look in the public Repo: https://github.com/PX4/Hardware/tree/master/FMUv2 . 2.4.5 is the last published standard. 2.4.6 is the latest schematic version.