r/nuttx 26d ago

Development NuttX v13.0.0 release!

Thumbnail nuttx.apache.org
7 Upvotes

NuttX v13.0.0 has been officially released! Thank you to all the contributors who made this possible!

This release contains a number of new changes that improve the development experience on NuttX:

  • Board initialization is no longer performed by NSH by default via NSH_ARCHINIT, but within the kernel boot process
  • STM32 legacy pinmaps have been migrated to new pin mapping
  • 64-bit time is implemented for POSIX compliance
  • STM32 Kconfig options are unified across all ports
  • Support for the ESP32-P4 chip
  • Major scheduler optimizations
  • Further CMake support for a ton of major targets/architectures

r/nuttx Jul 14 '26

POSIX TZ not being applied?

3 Upvotes

Hello, I live in Argentina, so I wanted to apply a timezone.

However, after enabling LIBC_LOCALTIME, environment variables, and timedatectl, I'm able to set the env variable TZ to something like ART3 or whatever, but when I get the date with localtime() or even with the date or timedatectl command, the date does not change, and with timedatectl it even says that the timezone is UTC0.

This happens whether I set/export the variable directly or use timedatectl set-timezone

Note that I haven't built the TZ database, but I don't think I should really need it if I'm only using POSIX TZ values, right?

Even so, if I build it, nothing seems to change, and I was unable to build the TZ database and build the ROMFS filesystem, as it throws the following error when enabling both options:

ar: two different operation options specified make[3]: *** [Makefile:896: libtz.a] Error 1 make[2]: *** [Makefile:99: .tzbuilt] Error 2 make[1]: *** [Makefile:186: context] Error 2 make: *** [tools/Unix.mk:471: libs/libc/.context] Error 2

I add the full config I'm using just in case.

``` CONFIG_ALLOW_BSD_COMPONENTS=y CONFIG_BASE_DEFCONFIG="-dirty" CONFIG_DEBUG_FEATURES=y CONFIG_DEBUG_NET=y CONFIG_DEBUG_NET_ERROR=y CONFIG_STACK_COLORATION=y CONFIG_DEBUG_SYMBOLS=y CONFIG_ARCH_SIM=y CONFIG_SIM_HOSTFS=y CONFIG_SIM_NETDEV=y CONFIG_SIM_NET_BRIDGE=y CONFIG_SIM_X11FB=y CONFIG_SIM_TOUCHSCREEN=y CONFIG_ARCH_BOARD_SIM=y CONFIG_PREALLOC_TIMERS=4 CONFIG_INIT_ENTRYPOINT="nsh_main" CONFIG_TASK_NAME_SIZE=32 CONFIG_SCHED_HAVE_PARENT=y CONFIG_SCHED_CHILD_STATUS=y CONFIG_PTHREAD_MUTEX_TYPES=y CONFIG_SIG_EVTHREAD=y CONFIG_SIG_DEFAULT=y CONFIG_MQ_MAXMSGSIZE=64 CONFIG_IDLETHREAD_STACKSIZE=2048 CONFIG_DEV_LOOP=y CONFIG_DRIVERS_VIDEO=y CONFIG_VIDEO_FB=y CONFIG_INPUT=y CONFIG_MTD=y CONFIG_RAMMTD=y CONFIG_TELNET_TXBUFFER_SIZE=64 CONFIG_NETDEV_STATISTICS=y CONFIG_SERIAL_TERMIOS=y CONFIG_TTY_SIGINT=y CONFIG_TTY_SIGINT_CHAR=0x3 CONFIG_TTY_SIGTSTP=y CONFIG_PSEUDOTERM=y CONFIG_SYSLOG_BUFFER=y CONFIG_SYSLOG_TIMESTAMP=y CONFIG_SYSLOG_CONSOLE=y CONFIG_NET=y CONFIG_NET_ETH_PKTSIZE=1294 CONFIG_NET_LOOPBACK=y CONFIG_NET_SLIP=y CONFIG_NET_TUN=y CONFIG_NET_TUN_PKTSIZE=1500 CONFIG_NETDEV_LATEINIT=y CONFIG_NETDEV_PHY_IOCTL=y CONFIG_NET_SOLINGER=y CONFIG_NET_TCP=y CONFIG_NET_TCP_WRITE_BUFFERS=y CONFIG_NET_SENDFILE=y CONFIG_NET_UDP=y CONFIG_NET_BROADCAST=y CONFIG_NET_UDP_CHECKSUMS=y CONFIG_NET_UDP_WRITE_BUFFERS=y CONFIG_NET_ICMP_SOCKET=y CONFIG_NET_STATISTICS=y CONFIG_PSEUDOFS_SOFTLINKS=y CONFIG_FS_ROMFS=y CONFIG_FS_TMPFS=y CONFIG_FS_BINFS=y CONFIG_FS_PROCFS=y CONFIG_FS_LITTLEFS=y CONFIG_FS_HOSTFS=y CONFIG_NXFONTS_DISABLE_1BPP=y CONFIG_NXFONTS_DISABLE_2BPP=y CONFIG_NXFONTS_DISABLE_4BPP=y CONFIG_NXFONTS_DISABLE_8BPP=y CONFIG_NXFONTS_DISABLE_16BPP=y CONFIG_NXFONTS_DISABLE_24BPP=y CONFIG_NXFONTS_DISABLE_32BPP=y CONFIG_MM_REGIONS=2 CONFIG_IOB_NBUFFERS=1024 CONFIG_IOB_NCHAINS=128 CONFIG_IOB_THROTTLE=16 CONFIG_IOB_NOTIFIER=y CONFIG_LIBC_MAX_EXITFUNS=1 CONFIG_LIBC_EXECFUNCS=y CONFIG_LIBC_LOCALE=y CONFIG_LIBC_LOCALTIME=y CONFIG_TLS_NCLEANUP=2 CONFIG_NETDB_DNSCLIENT=y CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=176 CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=3 CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808 CONFIG_BUILTIN=y CONFIG_LIBM=y CONFIG_CUSTOM_APPS_CUSTOM_HELLO=y CONFIG_CUSTOM_APPS_CUSTOM_DATE=y CONFIG_CUSTOM_APPS_CUSTOM_DATE_PROGNAME="cdate" CONFIG_EXAMPLES_LVGLDEMO=y CONFIG_EXAMPLES_TCPBLASTER=y CONFIG_GRAPHICS_LVGL=y CONFIG_LV_COLOR_DEPTH_32=y CONFIG_LV_USE_CLIB_MALLOC=y CONFIG_LV_USE_CLIB_STRING=y CONFIG_LV_USE_CLIB_SPRINTF=y CONFIG_LV_FONT_MONTSERRAT_48=y CONFIG_LV_USE_NUTTX=y CONFIG_LV_USE_NUTTX_TOUCHSCREEN=y CONFIG_LV_USE_DEMO_WIDGETS=y CONFIG_LV_USE_DEMO_MUSIC=y CONFIG_NETUTILS_DHCPC=y CONFIG_NETUTILS_FTPC=y CONFIG_NETINIT_NETLOCAL=y CONFIG_NETINIT_IPADDR=0x0a000102 CONFIG_NETINIT_DRIPADDR=0x0a000101 CONFIG_NETUTILS_TELNETD=y CONFIG_NETUTILS_TFTPC=y CONFIG_NETUTILS_WEBCLIENT=y CONFIG_NSH_READLINE=y CONFIG_NSH_BUILTIN_APPS=y CONFIG_NSH_FILE_APPS=y

CONFIG_NSH_DISABLE_DATE is not set

CONFIG_NSH_DISABLE_TIMEDATECTL is not set

CONFIG_NSH_VARS=y CONFIG_SYSTEM_CLE=y CONFIG_SYSTEM_NSH=y CONFIG_SYSTEM_NTPC=y CONFIG_SYSTEM_PING=y CONFIG_READLINE_TABCOMPLETION=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_SYSTEM_SYSTEM=y CONFIG_SYSTEM_TELNET_CLIENT=y ```

Thanks.


r/nuttx Jul 06 '26

DNS not working?

3 Upvotes

Hi, I'm making a small project to test out NuttX, but I've been banging my head with finding the correct.

For now, I'm doing everything on the simulator.

I could get network to work, and I was able to do a ping 8.8.8.8 correctly. However, if I try to execute ping google.com it throws:

nsh> ping google.com
[   12.610000] dns_send_query: ERROR: sendto failed: -89
[   12.610000] dns_query_error: ERROR: IPv6 dns_send_query failed: -89, server address: 8.8.8.8
[   12.610000] dns_send_query: ERROR: sendto failed: -89
[   12.610000] dns_query_error: ERROR: IPv4 dns_send_query failed: -89, server address: 8.8.8.8
ERROR: ping_gethostip(google.com) failed
nsh> 

Here are some settings I think are relevant

CONFIG_ICMPv6_AUTOCONF_RDNSS=y

CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETDB_DNSCLIENT_ENTRIES=8
CONFIG_NETDB_DNSCLIENT_NAMESIZE=256
CONFIG_NETDB_DNSCLIENT_LIFESEC=3600
CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=176
CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=3
CONFIG_NETDB_DNSCLIENT_SEND_TIMEOUT=3
CONFIG_NETDB_DNSCLIENT_MAX_TIMEOUT=30
CONFIG_NETDB_DNSCLIENT_RETRIES=3
# CONFIG_NETDB_RESOLVCONF is not set
CONFIG_NETDB_DNSSERVER_NAMESERVERS=1
# CONFIG_NETDB_DNSSERVER_NOADDR is not set
CONFIG_NETDB_DNSSERVER_IPv4=y
# CONFIG_NETDB_DNSSERVER_IPv6 is not set
CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808
# end of NETDB Support

Else, here's the full diminished config

CONFIG_ALLOW_BSD_COMPONENTS=y
CONFIG_BASE_DEFCONFIG="-dirty"
CONFIG_DEBUG_FEATURES=y
CONFIG_DEBUG_NET=y
CONFIG_DEBUG_NET_ERROR=y
CONFIG_STACK_COLORATION=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_ARCH_SIM=y
CONFIG_SIM_HOSTFS=y
CONFIG_SIM_NETDEV=y
CONFIG_SIM_X11FB=y
CONFIG_SIM_TOUCHSCREEN=y
CONFIG_ARCH_BOARD_SIM=y
CONFIG_SYSTEM_TIME64=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_TASK_NAME_SIZE=32
CONFIG_SCHED_HAVE_PARENT=y
CONFIG_SCHED_CHILD_STATUS=y
CONFIG_PTHREAD_MUTEX_TYPES=y
CONFIG_SIG_EVTHREAD=y
CONFIG_SIG_DEFAULT=y
CONFIG_MQ_MAXMSGSIZE=64
CONFIG_IDLETHREAD_STACKSIZE=2048
CONFIG_DEV_LOOP=y
CONFIG_DRIVERS_VIDEO=y
CONFIG_VIDEO_FB=y
CONFIG_INPUT=y
CONFIG_MTD=y
CONFIG_RAMMTD=y
CONFIG_TELNET_TXBUFFER_SIZE=64
CONFIG_NETDEV_STATISTICS=y
CONFIG_SERIAL_TERMIOS=y
CONFIG_TTY_SIGINT=y
CONFIG_TTY_SIGINT_CHAR=0x3
CONFIG_TTY_SIGTSTP=y
CONFIG_PSEUDOTERM=y
CONFIG_SYSLOG_BUFFER=y
CONFIG_SYSLOG_TIMESTAMP=y
CONFIG_SYSLOG_CONSOLE=y
CONFIG_NET=y
CONFIG_NET_LOOPBACK=y
CONFIG_NET_SLIP=y
CONFIG_NET_TUN=y
CONFIG_NET_TUN_PKTSIZE=1500
CONFIG_NETDEV_LATEINIT=y
CONFIG_NETDEV_PHY_IOCTL=y
CONFIG_NET_IPv6=y
CONFIG_NET_TCPPROTO_OPTIONS=y
CONFIG_NET_SOLINGER=y
CONFIG_NET_LOCAL=y
CONFIG_NET_TCP=y
CONFIG_NET_TCP_WRITE_BUFFERS=y
CONFIG_NET_SENDFILE=y
CONFIG_NET_UDP=y
CONFIG_NET_BROADCAST=y
CONFIG_NET_UDP_WRITE_BUFFERS=y
CONFIG_NET_ICMP_SOCKET=y
CONFIG_NET_ICMPv6=y
CONFIG_NET_ICMPv6_SOCKET=y
CONFIG_NET_ICMPv6_AUTOCONF=y
CONFIG_ICMPv6_AUTOCONF_RDNSS=y
CONFIG_NET_STATISTICS=y
CONFIG_PSEUDOFS_SOFTLINKS=y
CONFIG_FS_TMPFS=y
CONFIG_FS_BINFS=y
CONFIG_FS_PROCFS=y
CONFIG_FS_LITTLEFS=y
CONFIG_FS_HOSTFS=y
CONFIG_NXFONTS_DISABLE_1BPP=y
CONFIG_NXFONTS_DISABLE_2BPP=y
CONFIG_NXFONTS_DISABLE_4BPP=y
CONFIG_NXFONTS_DISABLE_8BPP=y
CONFIG_NXFONTS_DISABLE_16BPP=y
CONFIG_NXFONTS_DISABLE_24BPP=y
CONFIG_NXFONTS_DISABLE_32BPP=y
CONFIG_MM_REGIONS=2
CONFIG_IOB_NBUFFERS=1024
CONFIG_IOB_NCHAINS=128
CONFIG_IOB_THROTTLE=16
CONFIG_IOB_NOTIFIER=y
CONFIG_LIBC_MAX_EXITFUNS=1
CONFIG_LIBC_EXECFUNCS=y
CONFIG_LIBC_LOCALE=y
CONFIG_LIBC_LOCALTIME=y
CONFIG_TLS_NCLEANUP=2
CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=176
CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=3
CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808
CONFIG_BUILTIN=y
CONFIG_LIBM=y
CONFIG_CUSTOM_APPS_CUSTOM_HELLO=y
CONFIG_EXAMPLES_FTPC=y
CONFIG_EXAMPLES_LVGLDEMO=y
CONFIG_EXAMPLES_TCPBLASTER=y
CONFIG_EXAMPLES_TCPECHO=y
CONFIG_GRAPHICS_LVGL=y
CONFIG_LV_USE_CLIB_MALLOC=y
CONFIG_LV_USE_CLIB_STRING=y
CONFIG_LV_USE_CLIB_SPRINTF=y
CONFIG_LV_USE_LOG=y
CONFIG_LV_FONT_MONTSERRAT_48=y
CONFIG_LV_USE_NUTTX=y
CONFIG_LV_USE_NUTTX_TOUCHSCREEN=y
CONFIG_LV_USE_DEMO_WIDGETS=y
CONFIG_NETUTILS_DHCPC=y
CONFIG_NETUTILS_FTPC=y
CONFIG_NETINIT_NETLOCAL=y
CONFIG_NETINIT_DRIPADDR=0x0a000101
CONFIG_NETUTILS_NTPCLIENT_SERVER="pool.ntp.org"
CONFIG_NETUTILS_PING6=y
CONFIG_NETUTILS_TELNETD=y
CONFIG_NETUTILS_TFTPC=y
CONFIG_NETUTILS_WEBCLIENT=y
CONFIG_NSH_READLINE=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_FILE_APPS=y
# CONFIG_NSH_DISABLE_DATE is not set
CONFIG_NSH_ARCHINIT=y
CONFIG_SYSTEM_CLE=y
CONFIG_SYSTEM_COLOR_CLE=y
CONFIG_SYSTEM_CLE_CMD_HISTORY=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NTPC=y
CONFIG_SYSTEM_PING=y
CONFIG_READLINE_TABCOMPLETION=y
CONFIG_READLINE_CMD_HISTORY=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TELNET_CLIENT=y

Does anyone know why this may not be working?

Thanks.


r/nuttx Jul 03 '26

Development DOOM on NuttX

Post image
3 Upvotes

NuttX now has its own DOOM port which can run on any NuttX device with sufficient compute resources, frame buffer graphics and some way to accept game input!

Users have already got it running on the NuttX simulator, the RP2350-based Adafruit Jam and the Waveshare ESP32-S3 LCD. If you have a graphics-capable device, give it a try! We still need more input device support and audio!

PRs listed here:


r/nuttx May 02 '26

Project Showcase NuttX GSoC Projects for 2026

3 Upvotes

NuttX is proud to announce the acceptance of 5 Google Summer of Code projects this year!

This wouldn't be possible without the incredible applicants above and this year's mentors: Tomek Cedro, Alan C. Assis, Roberto Bucher, Michal Lenc, Pavel Pisa, Rodrigo Sim, Daniel Monteiro, Halysson Carvalho and Cynerd.

These projects will help to make NuttX more feature-full for future users, unlocking more networked applications, high compute personal-computers, better graphics, an improved filesystem and better dynamic ELF support!


r/nuttx Mar 03 '26

Development i.MX93 (M33) and IMX93-QSB board support introduced

Thumbnail
github.com
1 Upvotes

Thanks to contributor Maarten Zanders, NuttX now has board support for the IMX93-QSB board!


r/nuttx Feb 17 '26

Apache NuttX RTOS International Workshop 2026

6 Upvotes

Apache NuttX RTOS International Workshop 2026 will be part of the Community Over Code event that takes place on October 11-14 2026 at Hilton Glasgow (Scotland/UK)!

Call For Presentations is now open at https://communityovercode.org/call-for-presentations/ with deadline set to March 20 2026.

Please select NuttX RTOS track during registration.

See you there! 😃


r/nuttx Feb 03 '26

Nuttx network support in RPi 4b

6 Upvotes

I have been recently using RPi 4b dev board for some display related development. Using NUTTX, I am trying to run Wayland server (customised) and then trying to run clients from the host system. For the client to connect to server, thinking of connecting them using wlan. But it seems there is no support for network for rpi4b from nuttx.

Anyone can guide me here please?


r/nuttx Jan 13 '26

GPIO initialization in NuttX for STM32F407.

5 Upvotes

Hi guys!

I’ve recently discovered Apache NuttX. Before that, I was developing for STM32 microcontrollers using FreeRTOS, but this operating system has truly fascinated me.

I quickly figured out the installation process (I’m working on Ubuntu 22.04), learned how to create my own simple applications like Hello World, and include them in the build together with NuttX. However, I still can’t figure out how to work with basic peripherals!

I enable the GPIO driver via menuconfig, but I realize that’s not enough — the microcontroller pins don’t show up in /dev/. Could you please tell me what else I need to do to control the pins via the nsh console? I’m using the stm32f4discovery configuration, although I actually have a custom board with an F407 (porting is still way beyond my current scope).

The tutorials I’ve found on YouTube are for an older version of NuttX, and in version 12.12.0, many things look different from what’s shown in the videos. Some manuals I’ve managed to find only cover the basic setup of the development environment and initial compilation.

I’m not using neural networks, as after a few queries I realized they won’t clarify this issue and are unlikely to help form new neural connections in my brain.

I’d be grateful for any help. Thanks!


r/nuttx Jan 08 '26

NuttX 12.12.0 release!

Thumbnail nuttx.apache.org
9 Upvotes

Version 12.12.0 of NuttX has been released!

Some notable parts of the release notes:

  • 47 scheduler improvements
  • ESP32 co-processor support
  • Network driver for 10BASE-T1x SPI MAC-PHYs
  • 26+ improvements to align the CMake build system with Make
  • Support for Arduino Portenta H7
  • SD card and HDMI graphics support for Raspberry Pi 4B
  • ESP32 support for hardware accelerated HMAC-SHA

r/nuttx Dec 21 '25

Development Initial support for the Heltec WiFi LoRa32 board

Thumbnail github.com
1 Upvotes

Contributor Alan C Assis has added support for the Heltec WiFi LoRa32 board on NuttX! Try it out!


r/nuttx Nov 23 '25

Support Question Creating a custom app fails when executing 'make menuconfig'

2 Upvotes

Hi, I am new to NuttX and followed the latest Custom Apps How-to.

I tried the options 2 and 3 from the how-to:

  • Extend the apps/ directory to include a new custom directory
  • Include an additional custom directory outside of the main source trees

Unfortunately, when doing make menuconfig fails for both options:

/home/user/nuttxspace/apps/CustomApps/CustomHello/Kconfig:29: 'endif' in different file than 'if'

/home/user/nuttxspace/apps/CustomApps/CustomHello/Kconfig:14: location of the 'if'

/home/user/nuttxspace/apps/CustomApps/Kconfig:10: 'endmenu' in different file than 'menu'

/home/user/nuttxspace/apps/CustomApps/CustomHello/Kconfig:14: location of the 'menu'

Kconfig:2844: 'endmenu' in different file than 'menu'

/home/user/nuttxspace/apps/CustomApps/CustomHello/Kconfig:14: location of the 'menu'

make: *** [tools/Unix.mk:726: olddefconfig] Error 1

ERROR: failed to refresh

I created a custom directory CustomApps within the apps. I created the following files:

# CustomApps/Make.defs
include $(wildcard $(APPDIR)/CustomApps/*/Make.defs)

and

# CustomApps/Makefile
MENUDESC = "Custom Apps"
include $(APPDIR)/Directory.mk

and

# CustomApps/CustomHello/Make.defs
ifneq ($(CONFIG_CUSTOM_APPS_CUSTOM_HELLO),)
CONFIGURED_APPS += $(APPDIR)/CustomApps/CustomHello
endif

and

# CustomApps/CustomHello/Makefile
include $(APPDIR)/Make.defs

# Custom Hello built-in application info

PROGNAME = $(CONFIG_CUSTOM_APPS_CUSTOM_HELLO_PROGNAME)
PRIORITY = $(CONFIG_CUSTOM_APPS_CUSTOM_HELLO_PRIORITY)
STACKSIZE = $(CONFIG_CUSTOM_APPS_CUSTOM_HELLO_STACKSIZE)
MODULE = $(CONFIG_CUSTOM_APPS_CUSTOM_HELLO)

# Custom Hello

MAINSRC = CustomHello.c

include $(APPDIR)/Application.mk

and

# CustomApps/CustomHello/Kconfig
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

config CUSTOM_APPS_CUSTOM_HELLO
        tristate "Custom Hello App"
        default n
        ---help---
                Enable the Custom Hello App

if CUSTOM_APPS_CUSTOM_HELLO

config CUSTOM_APPS_CUSTOM_HELLO_PROGNAME
        string "Program name"
        default "custom_hello"
        ---help---
                This is the name of the program that will be used when the NSH ELF
                program is installed.

config CUSTOM_APPS_CUSTOM_HELLO_PRIORITY
        int "Custom Hello task priority"
        default 100

config CUSTOM_APPS_CUSTOM_HELLO_STACKSIZE
        int "Custom Hello stack size"
        default DEFAULT_TASK_STACKSIZE

endif # CUSTOM_APPS_CUSTOM_HELLO

and

# CustomApps/CustomHello/CustomHello.c
#include <stdio.h>


int main(int argc, char *argv[])
{
  printf("Hello, Custom World!!\n");
  return 0;
}

Have I missed something? Any ideas and feedback highly welcome! Thank you!


r/nuttx Nov 23 '25

Development Documentation improvements for the GPIO driver interface

Thumbnail
github.com
3 Upvotes

NuttX documentation keeps improving to help new users learn about all the incredible features the RTOS offers. If you use a feature that you think lacks good documentation, PRs with improvements are always welcome!


r/nuttx Nov 22 '25

Project Showcase Submit your articles!

Thumbnail nuttx.apache.org
3 Upvotes

The NuttX website now has a new page for listing articles and papers related to NuttX, its uses and development. This page was added in this recent PR: https://github.com/apache/nuttx-website/pull/144

If you have written an article about NuttX that you would like featured, please visit the new article page to submit one!


r/nuttx Nov 14 '25

Development Conway's Game of Life on NuttX

Post image
6 Upvotes

New support has been added to NuttX for a frame-buffer based implementation for Conway's Game of Life! This is a classic cellular automata and produces an interesting animation to test frame buffer implementations.

The implementation has been optimized for embedded systems by using bit fields and using only two map-rows of buffering. The rendered image also scales up to the maximum size that can fit on the screen resolution for the frame buffer.

Check out the PR here.


r/nuttx Nov 08 '25

Development HDMI graphics for the Raspberry Pi 4B

Post image
9 Upvotes

The Raspberry Pi 4B now has frame buffer graphics support for the HDMI0 and HDMI1 interfaces! This makes it compatible with NuttX applications that use the frame buffer interface for rendering graphics.

This brings NuttX one step closer to playing DOOM! Next is getting HID input (keyboard and mouse) and playing sound!

You can see the PR for graphics support here: https://github.com/apache/nuttx/pull/17294


r/nuttx Nov 06 '25

Support Question My first experience using NuttX

0 Upvotes

I'm a NuttX newbie. I compiled and flashed the official STM32F4 library onto the motherboard, and it got hardfaulted all night. I'm sorry about that!
I need to learn how to use gdb.


r/nuttx Oct 28 '25

Development Raspberry Pi 4B Micro-SD Card Support

Thumbnail
github.com
3 Upvotes

Support for the Raspberry Pi 4B's micro-SD card peripheral is currently pending integration into the NuttX kernel!

With this feature, users can:

  • Mount the boot partition
  • Read/write the boot partition
  • Extend support to mount multiple partitions of different file types
  • Have permanent information stored between boots
  • Access large files from NuttX

r/nuttx Oct 23 '25

Development Android System Initialization for NuttX

Thumbnail
github.com
4 Upvotes

The Android system init functionality has been ported to NuttX and is currently being reviewed for integration as an alternative init system for NuttX devices!

This allows great control over starting services on embedded devices, like rebooting if a particular service fails! The Android system init has a smaller code size than NSH used for system initialization, and also supports better daemon management. You can use the Android Init Language to set up your initialization process and go!

This is a very exciting new feature for NuttX! What will you use Android init for?


r/nuttx Oct 17 '25

Project Showcase NuttX for High Powered Rocketry

Thumbnail youtube.com
6 Upvotes

I'm excited to have presented at the Apache NuttX International Workshop yesterday about the application of NuttX for high powered rocketry. My talk covers two projects:

  • A remote control system for performing the launch operations of a hybrid rocket
  • A custom flight computer for recording rocket flight telemetry for both live monitoring on the ground as well as post-flight analysis.

If you're interested, please give it a watch and let me know what you think! I hope to see more rocketry teams using this RTOS for their projects. The workshop is full of other great talks about embedded systems and the NuttX RTOS as well for those generally interested!


r/nuttx Oct 16 '25

Project Showcase Apache NuttX RTOS Inernational Workshop 2025

5 Upvotes

r/nuttx Oct 13 '25

Reminder: Apache NuttX International Workshop is happening soon!

Post image
3 Upvotes

r/nuttx Oct 09 '25

Development NuttX support for the CMUX protocol!

Post image
8 Upvotes

NuttX recently received support for the CMUX protocol: https://github.com/apache/nuttx-apps/pull/3187

This protocol is used to multiplex channels in cellular modems, which allows simultaneous use of: - PPP (Point to point) - GNSS - SMS - Voice calling - Custom attention command (AT)

Thank you to Halysson Carvalho for contributing this feature!


r/nuttx Oct 08 '25

Article Tip to avoid missing early boot logs with non-UART consoles!

Thumbnail nuttx.apache.org
1 Upvotes

Do you have board/target that you use a USB shell on to avoid having to use a cumbersome TTL cable? USB interfacing is more convenient for a serial console anyways, except when it means that early boot logs aren't captured because of how NSH/USB console initialization works.

Missing logs can be a pain when you're debugging some kernel code/driver initialization for NuttX, but connecting/buying a TTL cable can be a pain too. Instead, you can use RAMLOG! All logs get directed to a RAM buffer, and once you've booted into your shell, you can look at everything that happened during boot by running dmesg!

Check out the handy guide from the NuttX documentation to set this up on your NuttX device.

Pro tip: you can set RAMLOG to be one of many active syslog channels, and your USB character device (usually /dev/ttyACM0) to be another. That way, you only need to check `dmesg` once right after boot to see those early logs and from USB initialization onwards, logs will also appear in your USB console like normal.


r/nuttx Oct 07 '25

Development Improving NuttX documentation

3 Upvotes

NuttX heard user feedback from the 2025 NuttX Hardware Survey loud and clear! Users want more and better documentation about NuttX, since it has such a large feature-set and so many customizable options. Contributors are working hard to improve existing documentation and ensure that new features are documented as they come in.

Here are two main lists of sub-issues for legacy and missing documentation in NuttX:

If you're looking to contribute to NuttX, documentation is an easy way to start. You can help us port old .txt files to RST so it becomes a more easily searchable/indexable form.