I think there may be a little confusion here, because I am definitely not
disputing the obvious benefits that exist by owning our own HAL. It is
great if you can take the code into your own hands to submit patches, like
you did with the SPI driver. That is an obvious benefit of having NuttX
control over the HAL. I also agree that we shouldn't be accepting vendor
HALs into NuttX, and the exception for Espressif and Raspberry Pi is a
violation of the NuttX principles. However, it is here now.

What I am saying needs to be considered is the other side of the coin; we
would now be required to maintain our custom HAL in perpetuity with fewer
resources than Espressif has to maintain the HAL we are currently using
from them. They add support for their new devices, have internal CI testing
that they use for NuttX, and have a large user base who are testing the HAL
through day-to-day use. We need to be sure that when and if we switch to
our own internal HAL, it is better than our current situation. That means
not just the benefit of being able to submit our own patches quicker, but
also if we will keep up to date with new Espressif devices as quickly and
have the same kind of rigorous maintenance. Why switch if it ends up being
worse quality for our users?

I think this goal is best achieved by incrementally replacing parts of the
Espressif HAL with our own. Older chips would be much easier, since they
are stable and less of a moving target for us to catch. In the meantime,
while phasing out the HAL on those devices, we can continue to use it for
the newer chips that still have hardware revisions coming out and new
features being added. I just don't think we should bite into the entire
replacement at once. And I certainly think that we should be doing this
ourselves in areas of the codebase that make sense, not with a sweeping AI
re-write. We ultimately need maintainers of this code who understand it
well and will stick around to fix bugs and review patches. It should really
be discussed with our Espressif contributors for this reason, because right
now they are doing the majority of ESP patches and reviews.

Best,
Matteo

On Wed, Aug 5, 2026 at 2:57 PM Felipe Moura Oliveira <[email protected]>
wrote:

> Hi Jorge,
>
> When I started contributing to NuttX around 2023–2024, I remember having an
> issue with the ESP32-C6 and wanting to use the ESP32-C3 driver as
> reference, which was in legacy mode. I briefly recall a contributor
> mentioning that Espressif support would be handled via the 3rd-party
> repository, and that approach was adopted. I am not sure if there was a
> formal debate regarding this methodology before I got involved.
>
> Matteo, I would like to bring up an example that I just remembered. When I
> started contributing to NuttX using an ESP32-C6, I had issues with an SPI
> Slave, which I detected and helped resolve:
>
> https://github.com/apache/nuttx/pull/14420/changes
> https://github.com/apache/nuttx/pull/14642/changes
>
> I remember in the first lecture I heard about Free Software, the benefit of
> the community criticizing, testing, and improving was highlighted. By
> inheriting a repository from a vendor, we are not doing that. The 3rd party
> code that is released today, including for NuttX, can be our reference for
> a manual port to NuttX (for new drivers, for changes). The important thing
> is to give more people the opportunity to add, review, test, and feed the
> cycle back.
>
>
> Em qua., 5 de ago. de 2026 às 15:17, Jorge Guzman <[email protected]>
> escreveu:
>
> > Hi,
> >
> > First, I'd like to understand how we ended up in this situation of using
> > third-party packages from Espressif and Raspberry Pi.
> >
> > I believe this was discussed and decided by a vote some time ago. Now, we
> > need to understand what went wrong and try to fix it.
> >
> > Espressif is one of the few companies with dedicated teams providing
> > support for NuttX, but I believe they are overloaded with other
> > responsibilities.
> >
> > At this point, the idea of creating a fork doesn't seem like a bad one to
> > me.
> >
> > Em qua., 5 de ago. de 2026 às 15:11, Tomek CEDRO <[email protected]>
> > escreveu:
> >
> > > On Wed, Aug 5, 2026 at 5:52 PM Felipe Moura Oliveira
> > > <[email protected]> wrote:
> > > > Do you really think that vendor-released firmware is guaranteed to be
> > > > functional and well-tested?
> > > > Consider Windows versus Linux. Windows is developed by a private
> > company
> > > > with its own protocols, testing processes, and so on, yet I do not
> find
> > > it
> > > > to be more stable than Linux.
> > >
> > > Try running Linux binary on a different distribution or after one year
> > > and see what "stable" means.. usually it means "stable API" :-)
> > >
> > > > Look for esp p4, when it was released it was like a beta version.
> > >
> > > Yeah, I not that long ago bought fresh board from Waveshare with
> > > ESP32-P4 and the MCU was already obsolete by two major releases. This
> > > is exactly the thing we want to avoid in NuttX world.. thus our more
> > > conservative attitude :-)
> > >
> > > --
> > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> > >
> >
>
>
> --
>
> *--Felipe Moura de Oliveira*
> Linkedin <https://www.linkedin.com/in/felipe-oliveira-75a651a0>
>

Reply via email to