NXWidgets is a graphical user interface package for the NuttX RTOS. It integrates seamlessly with the NuttX NX graphics subsystem in order to provide graphic objects, or "widgets". It is written entirely in C++ using only selected "embedded friendly" C++ constructs which are fully supported under NuttX. No additional C++ support libraries are required. It is tailored for use with MCUs in embedded applications. It is ideally suited for the mid-to-upper range of most MCU families. It will work on high-end frame buffer devices as well as on LCDs connected via serial or parallel ports to a small MCU. It will accept position and selection inputs from a mouse or a touchscreen. It will also support character input from a keyboard such as a USB keyboard. It supports a special widget called CKeypad which provides keyboard input via an on-screen keypad which can be operated via a mouse or touchscreen inputs. Some of the graphic objects supported by NXWidgets include labels, buttons, text boxes, button arrays, check boxes, cycle buttons, images, sliders, scrollable list boxes, and progress bars.