Hi all,

First, thanks to Felipe for bringing up this important discussion.

This is my first time joining this thread, and I want to say I'm aligning
with Alan's idea on the HAL/fork approach.

Also, just a note on the AI part: I'm not saying we should reuse AI output
blindly and merge it as-is. We can use it to understand the current HAL
better, then write the driver following NuttX's styling guidelines, so it
stays proper and maintainable. AI is just a tool here; it doesn't take
responsibility for the code; the author of the patch does. Good
documentation is what really matters for maintainability going forward.

Abhishek

On Thu, Aug 6, 2026 at 2:10 AM Alan C. Assis <[email protected]> wrote:

> Tomek,
>
> The idea is to have a single point of truth, if users can change from a
> repository to another all the time, what reason do the Espressif
> contributors have to contribute with our own maintained HAL?
>
> It will bring more chaos and confusion to newcomers we have today.
>
> So, I suggest not doing it.
>
> BR,
>
> Alan
>
> On Wed, Aug 5, 2026 at 5:07 PM Tomek CEDRO <[email protected]> wrote:
>
> > Maybe we could have option for internal hal and external esp-sdk hal
> > for users to choose?
> >
> > Step by step we could have two worlds for users to choose.
> >
> > The biggest problem here would be WiFi and Bluetooth or more general
> > radio stacks.. which is something unique for ESP32 chips.. still stays
> > closed source.. and would be great to have fully open-source
> > implementation here too :-)
> >
> > --
> > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> >
> > On Wed, Aug 5, 2026 at 7:56 PM Matteo Golin <[email protected]>
> > wrote:
> > >
> > > 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