F4 F7 H7 500 KB 1 MB 2MB and LUA SCRIPTS

I would like to try writing LUA scripts, but what I am not quite clear as to the requirements of the processor.

I have been using lately Speedybee F4 FCs and had zero issues with them except that I could not run quicktune script. And now I discovered that there are SID_XXX Parameters which also do not show up in the parameter list of F405 FC.

I was told that one could recompile the ardupilot to run LUA even on F405, but I do not want to go that route, rather I would like to know which processors are compatible, both for existing scripts, and most importantly, for the scripts I would like to try and make myself. I doubt that speed and memory is of issue, unless the limitation is hardwired in the code of ardupilot.

I prefer to stick with standard ardupilot 4.5 (or 4.6) as can be downloaded, and Speedybee, they have F7 FC, but they do not have H7 flight controllers. Also, H7 comes in two flavours, 1 MB and 2 MB, but no vendor of FC seems to indicate the memory (For instance, Kakute FC). And F7 also comes with 512/1024 KB memory, but the vendors do not indicate that. I assume that most FC would be with the lower memory.

Can someone tell me exactly if F7 will run Lua scripts?

And whether the difference in memory 512/1024/2048 KB is significant or not? I.e. would it run or would it not run, not that it is better to have more memory…

Look in the Hwdef files for the board you are interested in. Hwdef
For example the Kakute H7-Mini
FLASH_SIZE_KB 2048

I use Matek H743 boards, where there is no limitations even on the mini board. I fact all flavors of the Matek H743’s use the same firmware.

Matek Ardupilot compatible hardware
Ardupilot Corporate Sponsers

If I was building a new multirotor I would give this a try. You can find them on the Sponsor list:
TBS Lucid H7
Beta firmware for the moment.

Thanks for the answer.

However, I did not understand some things:

  1. Speedybee F405 says FLASH = 1024 KB., so I can assume that the Speedybee FC board comes with this memory?
  2. I could not find definitions for Speedybee F7XX, is it correct to assume that it is not supported at all by the ardupilot (not just LUA, but it would not work at all?).
  3. Can I expect any Kakute board (for instance from Aliexpress Holybro Kakute H7 FC) which does not mention memory size to work, i.e. are they all 2 MB? I just saw that Kakute H7 also has definition of 1024 memory!!!
  4. Ardupilot LUA documentation says that 2 MB memory is required. If I wanted to use 1 MB memory processor, what exact steps would I have to follow, i.e. I am not sure how difficult it is to compile

The reason why I am so keen on keeping Speedybee, is that I got like 5 FCs for copter and 3 for wing (All F405), and I hate changing hardware because you may run into different issues. At least Speedybee did not fail a single time.

The memory requirement of 2 MB is large because the LUA interpreter uses a lot of memory, or it is just for large scripts that the memory limitation problem will occur?

You need 2MB flash or the firmware won’t fit on the board. You need an F7 or better processor to run it. And you need an SD card.

Most F7 boards barely run the scripting engine, so you are better off with an H7.

I’m not aware of a single Speedybee product that will run ArduPilot’s scripting engine. Some have tried to force it to work and found it to be a fool’s errand after a lot of goofing around and disabling nearly everything other than scripting.

Bummer. I wouldn’t use one for any craft. The Speedybee F7 is an F722 which has never been supported. So right, “not work at all”.

Well, they do what they are designed for, i.e. I trust the quality of Speedybee. Now I have flown with them 4.5 kg tricopter VTOL, 8 kg quad VTOL (which I am finishing), and the 3 kg copter I have, and the 5 inch regular racer, and simple foam plane…

And for normal flight F405 is more than enough. It is that I want to try using LUA scripts that is wheree the problems begin, but that is not the fault of the F405… In fact, one workaround would be to use MAVLINK and a Pi, either on ground or as companion. But from what I have seen LUAs are extremely easy, both to program and to set up (connecting a Pi zero, programming it (if you program it, the process is as slow as a snail, monitor updating, Python loading, etc.).

To summarize, I need a 2MB H7 processor to run LUAs… Anything else will be a pain in the a…

Which is exactly what it says in the wiki…