Remove unused boards

We have several boards that either did not materialize or can’t really be
tested. I’d like to discuss about removing some unused/unmaintained boards.

Why? Every change we need to do that affects the entire repository (or at
least the HAL) becomes way more painful than it should be.

Here’s the list of boards from waf’s point of view:

    aero, aerofc-v1, bbbmini, bebop, bhat, blue, dark, disco,
    erleboard, erlebrain2, linux, minlure, navio, navio2,
    px4-v1, px4-v2, px4-v3, px4-v4, px4-v4pro, pxf, pxfmini,
    raspilot, sitl, urus, zynq

Besides those there are some that are only buildable with make:

    qurt, qflight, vrbrain

urus: it’s being discussed in another thread

px4-*: all variants are either used or low maintenance: stay
sitl: obviously shout stay

linux: rename to “none” since its current name is very misleading

bbbmini, bebop, blue, disco, erlebrain2, navio, navio2, pxfmini: the most used
linux-based boards out there: stay

aero, aerofc-v1: I’m the maintainer and use them for work and tests on core
functionality: stay

minlure: I’m the maintainer, I’m probably the only one who has it in the world
and it’s not on the market (MinnowBoard MAX/Turbot is, but you need a sensor
extension board to make it useful). I still use it for core work and it
doesn’t cause much maintenance problems… so I’d vote to leave it in.

bhat, erleboard: low maintenance RPI or BBB based boards. I don’t know if
there’s anyone using them, if it’s on the market, etc, but I think they can
stay due to being low mainenance.

zynq: I think we should rename it to ocpoc or ocpoc-zynq. We should definitely input from Aerotenna

raspilot: I have one, Tridge probably has a different version of this board, too.
The version I have has every sensor on the same spi bus. It never materialized
on the market. It’s nice due to use of a separate microcontroller for IO but
maintenance is not low. I’d vote to remove it… we can always refer to git
history and bring back some of its features later

qurt, qflight: I’d like to remove them. It’s not even build tested and they
contain non-trivial code that’s unique to those boards

vrbrain: should have its AP_HAL layer merged with AP_HAL_PX4. We can rename
AP_HAL_PX4 to AP_HAL_Nuttx to help with the transition

I think we may make a decision and get input from partners to avoid removing
what they are using. And if boards above are being used and I don’t know, please say so.

Let me know what you think.

I am not working for ErleRobotic, but I really think that erleboard (pxf ?) isn’t support for long time …

G’day Lucas - some thoughts:
remove URUS. It looks like an interesting project, but from the posts I’ve seen I don’t think it sufficiently aligns with the ArduPilot Project to be in the master repo (and hence be a build target).
px4-*. The question here is really whether or not to retain -v1 as a built target. I’d vote no, but see no real harm given the intent to keep the -v2 firmware below 1MB. I question the benefit of retaining the px4 prefix though. It’s an artifact of history that is actually somewhat misleading due to confusion between firmware and hardware. Same with the firmware file extension. Time it got changed.
linux. Good idea. I’m one of those who has accidentally compiled for that target…Maybe “Linux_none” though, so at least it is a little descriptive.
Other linux. I don’t know the overhead in maintaining RasPilot. I had one, but gave it to Peter (I think). Like you I thought it was quite nice, and it’s disappointing it didn’t gain popularity. Apart from that, if they have maintainers and/or are popular enough to warrant project resources, keep them (don’t forget pxf, unless its been merged with bbbmini).
Zync. Agree, but I vaguely recall the xilinx port starting before Aerotenna came along with OcPoc. Is there another Zync target as well?
qurt, qflight. Unless Qalcomm release a little more code so it can actually be built without an individual license agreement, I think it’s a questionable fit with the project. It does have a lot of untapped potential though, so perhaps another request to Qalcomm before sidelining it?
vrbrain. I’m eagerly awaiting this to be updated. It frustrates me to have a flightcontroller that is perfectly capable of running AC3.5, but I can’t build beyond 3.4.6 (or there about). But I think it should fall to Laser Navigation, not the project, to maintain this build target - it is a proprietary product with a pretty small user base. For me as a user, I just want to know the future of the board. A clear timeline from Roberto as to when the build will be updated, or a statement that it won’t be, is the information that both the devs and community need - and if Roberto doesn’t intend to commit to it, drop it as a build target.

Just my thoughts.

VrBrain boards should be aligned pretty soon from what I’ve been said. I am also looking into it to help Virtual Team maintain it as much as i can.
User base is not that small, but anyway I think it should stay as a standard build target because it still is one of the really reliable boards maintained on the market…
Anyway, if possible I’d say merging both HAL layer would be great and would help a lot with the ease of maintaining the boards.

1 Like

Yep, the point here is that they have almost the same HAL. We already had cases in which we fixed a bug in PX4 and forgot to apply it to the other HAL, i.e. copy and paste the code. My goal is to have vrbrain building from upstream repository rather than from a fork.

See how it was done with aerofc-v1, which also runs on nuttx. It’s much easier to maintain this way. I can help make this a reality.

Erleboard, made from the FireCape Design has been discontinued from Erle last year

@lucasdemarchi Are these outdated boards should be removed from the wiki as well ?

But… maybe there are people that have them. Supporting them is basically having some defines on the HAL, so I’m not so worried about. I’m more worried about the boards that introduce maintenance headache and that don’t have people to maintain.

Yes, I think so.

I don’t think “none” is clear either. It could be “linux-none”.

I don’t want to remove these yet. I’m the maintainer of these, and while I’ve done a terrible job updating them, I would like another chance at an update.

I agree, but this is a lot of work. I don’t think we should remove them until we get someone to volunteer to do that work.

I would say that PX4-v1 gives more maintenance work for @tridge than it is worth, but I’ll defer to him on actually removing it.

As said before, should be linux-none.

Although I think it isn’t supported by the manufacturer anymore and I doubt there is someone still using it, I’d say leave erleboard if it isn’t a burden to maintain - exactly the same observations for pxf.
For bhat, maybe we should let it stay for now too, but I’m pretty sure this board was never commercialized (and I think we shouldn’t have never commercialized boards in master); at least I can’t find any info about sales in their website and GitHub.

Yep, I agree. We should probably push them to get support for all their boards into master, instead of them maintaining their fork.

Yeah, it is dead and it’s old. Like PX4-v1, I feel like if the person maintaining it wants to remove it, then it should be. In this case, it’s you, so I’ll say: remove it!

I’d vote for removal too, but if @tridge as the maintainer wants to keep them, I’ll say to let him try to support them.

I should say this is more our fault than the manufacturer’s fault. Luca actually did a lot of work to bring VRBrain up-to-date in master and he succeeded at it. He was then asked to bring VRBrain boards into waf and he actually did it: VRBRAIN: Some updates to allow building of VRBRAIN boards with waf by LukeMike · Pull Request #4647 · ArduPilot/ardupilot · GitHub We kind of blocked him because we didn’t want another set of waf tools that did the same as the PX4 tool already did. The discussion quickly diverted to having two HALs and Luca quickly worked on merging them (VRBRAIN: Some updates to allow building of VRBRAIN boards with waf by LukeMike · Pull Request #4647 · ArduPilot/ardupilot · GitHub), but it never made it into a PR.
Then just 4 months after Luca’s work to bring VRBrain up-to-date, we moved to use in-tree drivers in PX4 boards and we broke VRBrain. As with all boards I think the manufacturer should be involved in supporting their boards and I hope Laser Navigation can do it soon, but we should also help them where we can.

1 Like

I think this is not white or black. There’s grey in the middle. Sometimes people are very motivated doing their new board, or a company is submitting support for its board even before it’s on market. From my POV it’s fine to let them in as long as a) they stay to maintain it or b) it’s so low maintenance that it doesn’t really matter. Ideally it would be very easy to maintain boards that were done following and improving the abstractions while they are added. I think I learned that’s not always the case so maybe we have to be less forgiven about “just one hack that can be removed later”.

Oh… that’s sad. I’ll try to follow up on that.

@OXINARF thanks for the background re VRBrain - perhaps I was a bit harsh towards Laser Navigation.

Hi,

Right now, we’re only marketing PXFmini and Erle-Brain 3. I think our customers have not used the PXF in a long time.

Regards,

@LanderU

Sure, I wasn’t developing the idea as it wasn’t the main topic. I agree with allowing new boards to get in if they are going to be commercialized. What I was saying is that if they aren’t going to be commercialized or if after a good amount of time they didn’t reach the market (one year seems enough to me), then they shouldn’t be there. Otherwise everyone that decides to do a DIY board at home will want to put it in master - that’s just unrealistic to support.

@lucasdemarchi The ‘zynq’ board was present in Ardupilot before any work we’ve done at Aerotenna, we just happen to piggyback off of some of the zynq specific work (e.g. RCOutput_ZYNQ). I submitted a PR last year for support of the Altera version of our OcPoC flight controller, but it turned out we were a bit hasty with the PR. We have since been working mostly on the Zynq version “OcPoC-Zynq”, and while I have support for that board in our forked repo, I haven’t made the time to submit a PR again with some final cleanup of our changes.

We do differentiate our board as ‘ocpoc_zynq’ for the waf build. I’ve been planning on submitting a PR again as soon as I can, so would you prefer we simply replace the zynq build, or is there anyone else using the zynq target?

I’m pretty sure the original Zync target was a DIY FC in 2014, using a Zybo with breakout boards, same spirit as the BBBMini. There may have only ever been one of them… @tridge might remember who it was? It was the same time that PXF was being developed (ie Phil had hand soldered the first couple), if that jogs anyones memory.
There is another Zync board (RobSense Phenix), but it’s significantly different enough that I’d guess it will have to be a unique target (runs an ardupilot fork on a flavour of freeRTOS). Not sure what the plans are about pushing that upstream - looks like a lot of work.

I might not be the best person at all to help as I’m way behind you in skillset, but if I can be of any help to get the VrBrains back on line and even better running on master directly… I’ll do my best :slight_smile:

I think it will be a lot of work at the begining, but as soon as a good merge will be found betwen VrBrain and PX4 will be found, it will be way easier to maintain everything…

Following up on this. bhat should of course not being removed (not that I proposed otherwise) since it’s being actively used by @onceme and he even has a pending PR to improve it https://github.com/ArduPilot/ardupilot/pull/6755.

Hey everyone, this is @onceme. I’m here for bhat :slight_smile:.

bhat is now not commercialized as you mentioned, but it is going to, in a short time, probably in a month or two :stuck_out_tongue:. Because we were making it as hobbies, and we want to make it slowly and nicely.

Frankly speaking, start from early this month, we purchased website host and registered domain name bithollow.com, now it is in the progress of moving contents to the new site.

When the time is coming (Winter is comming :stuck_out_tongue_closed_eyes:), BH board could be shipped to some of countries and areas over the world, not just in China. Paypal and Alipay will be supported. Details will be revealed later.

Thanks for your concerns of bhat

NOTICE - URUS PROJECT Still Alive.

Hi Folks,

FYI, URUS project was removed for now from Linux HAL Ardupilot libraries, URUS is moving to separate HAL from January on this PR https://github.com/ArduPilot/ardupilot/pull/5552

The changes is doing in Urus Team repo on github:
https://github.com/UrusTeam/URUS

Urus documentation is publishing on this link:
https://urusteam.github.io/docs/