The latest development version of this page may be more current than this released 2.2.1 version.

Library Configuration Options

Kconfig files describe build-time configuration options (called symbols in Kconfig-speak), how they’re grouped into menus and sub-menus, and dependencies between them that determine what configurations are valid.

Kconfig files appear throughout the directory tree. For example, subsys/power/Kconfig defines power-related options.

This documentation is generated automatically from the Kconfig files by the genrest.py script. Click on symbols for more information.

Configuration Options

Symbol name

Help/prompt

CONFIG_APP_LINK_WITH_LVGL

Add LVGL header files to the ‘app’ include path. It may be disabled if the include paths for LVGL are causing aliasing issues for ‘app’.

CONFIG_APP_LINK_WITH_POSIX_SUBSYS

Add POSIX subsystem header files to the ‘app’ include path.

CONFIG_BASE64

Enable base64 encoding and decoding functionality

CONFIG_CMSIS_MUTEX_MAX_COUNT

Mention maximum number of mutexes in CMSIS compliant application.

CONFIG_CMSIS_RTOS_V1

This enables CMSIS RTOS v1 API support. This is an OS-integration layer which allows applications using CMSIS RTOS APIs to build on Zephyr.

CONFIG_CMSIS_RTOS_V2

This enables CMSIS RTOS v2 API support. This is an OS-integration layer which allows applications using CMSIS RTOS V2 APIs to build on Zephyr.

CONFIG_CMSIS_SEMAPHORE_MAX_COUNT

Mention maximum number of semaphores in CMSIS compliant application.

CONFIG_CMSIS_THREAD_MAX_STACK_SIZE

Mention max stack size threads can be allocated in CMSIS RTOS application.

CONFIG_CMSIS_TIMER_MAX_COUNT

Mention maximum number of timers in CMSIS compliant application.

CONFIG_CMSIS_V2_EVT_FLAGS_MAX_COUNT

Mention maximum number of event flags in CMSIS RTOS V2 compliant application.

CONFIG_CMSIS_V2_MEM_SLAB_MAX_COUNT

Mention maximum number of memory slabs in CMSIS RTOS V2 compliant application.

CONFIG_CMSIS_V2_MEM_SLAB_MAX_DYNAMIC_SIZE

Mention maximum dynamic size of memory slabs/pools in CMSIS RTOS V2 compliant application.

CONFIG_CMSIS_V2_MSGQ_MAX_COUNT

Mention maximum number of message queues in CMSIS RTOS V2 compliant application.

CONFIG_CMSIS_V2_MSGQ_MAX_DYNAMIC_SIZE

Mention maximum dynamic size of message queues in CMSIS RTOS V2 compliant application.

CONFIG_CMSIS_V2_MUTEX_MAX_COUNT

Mention max number of mutexes in CMSIS RTOS V2 compliant application.

CONFIG_CMSIS_V2_SEMAPHORE_MAX_COUNT

Mention max number of semaphores in CMSIS RTOS V2 compliant application.

CONFIG_CMSIS_V2_THREAD_DYNAMIC_MAX_COUNT

Mention max number of dynamic threads in CMSIS RTOS V2 compliant application. There’s a limitation on the number of threads due to memory related constraints. Dynamic threads are a subset of all other CMSIS threads i.e. they also count towards that maximum too.

CONFIG_CMSIS_V2_THREAD_DYNAMIC_STACK_SIZE

Mention dynamic stack size threads are allocated in CMSIS RTOS V2 application.

CONFIG_CMSIS_V2_THREAD_MAX_COUNT

Mention max number of threads in CMSIS RTOS V2 compliant application. There’s a limitation on the number of threads due to memory related constraints.

CONFIG_CMSIS_V2_THREAD_MAX_STACK_SIZE

Mention max stack size threads can be allocated in CMSIS RTOS V2 application.

CONFIG_CMSIS_V2_TIMER_MAX_COUNT

Mention maximum number of timers in CMSIS RTOS V2 compliant application.

CONFIG_EXTERNAL_LIBC

Build with external/user provided C library.

CONFIG_HAS_NEWLIB_LIBC_NANO

CONFIG_JSON_LIBRARY

Build a minimal JSON parsing/encoding library. Used by sample applications such as the NATS client.

CONFIG_LVGL

This option enables the LittlevGL GUI library.

CONFIG_LVGL_ANIMATION

Enable animations

CONFIG_LVGL_ANTIALIAS

Enable anti-aliasing

CONFIG_LVGL_BITS_PER_PIXEL

Number of bits per pixel.

CONFIG_LVGL_BUFFER_ALLOC_DYNAMIC

Rendering buffers are dynamically allocated based on the actual display parameters

CONFIG_LVGL_BUFFER_ALLOC_STATIC

Rendering buffers are statically allocated based on the following configuration parameters: * Horizontal screen resolution * Vertical screen resolution * Rendering buffer size * Bytes per pixel

CONFIG_LVGL_BUILD_IN_FONT_ROBOTO_12

Enable build-in font support, size 12 pixels

CONFIG_LVGL_BUILD_IN_FONT_ROBOTO_12_SUBPX

Enable build-in font support with sub-pixel rendering, size 12 pixels

CONFIG_LVGL_BUILD_IN_FONT_ROBOTO_16

Enable build-in font support, size 16 pixels

CONFIG_LVGL_BUILD_IN_FONT_ROBOTO_22

Enable build-in font support, size 22 pixels

CONFIG_LVGL_BUILD_IN_FONT_ROBOTO_28

Enable build-in font support, size 28 pixels

CONFIG_LVGL_BUILD_IN_FONT_ROBOTO_28_COMPRESSED

Enable build-in compressed font support, size 28 pixels

CONFIG_LVGL_BUILD_IN_FONT_UNSCII_8

Enable build-in monospace font support, size 8 pixels

CONFIG_LVGL_CHROMA_KEY_BLUE

Blue

CONFIG_LVGL_CHROMA_KEY_CUSTOM

Custom

CONFIG_LVGL_CHROMA_KEY_GREEN

Green

CONFIG_LVGL_CHROMA_KEY_RED

Red

CONFIG_LVGL_COLOR_16_SWAP

Swap the 2 bytes of a RGB565 pixel.

CONFIG_LVGL_COLOR_DEPTH_1

1-bit

CONFIG_LVGL_COLOR_DEPTH_16

16-bit

CONFIG_LVGL_COLOR_DEPTH_32

32-bit

CONFIG_LVGL_COLOR_DEPTH_8

8-bit

CONFIG_LVGL_COLOR_SCREEN_TRANSP

Enable screen transparency. Useful for OSD or other overlapping GUISs.

CONFIG_LVGL_CUSTOM_CHROMA_KEY_BLUE

Value of the color blue to be used in the chroma key

CONFIG_LVGL_CUSTOM_CHROMA_KEY_GREEN

Value of the color green to be used in the chroma key

CONFIG_LVGL_CUSTOM_CHROMA_KEY_RED

Value of the color red to be used in the chroma key

CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_ROBOTO_12

Build-in font size 12

CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_ROBOTO_12_SUBPX

Build-in font size 12 with sub-pixel rendering

CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_ROBOTO_16

Build-in font size 16

CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_ROBOTO_22

Build-in font size 22

CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_ROBOTO_28

Build-in font size 28

CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_ROBOTO_28_COMPRESSED

Build-in compressed font size 28

CONFIG_LVGL_DEFAULT_FONT_BUILD_IN_UNSCII_8

Build-in monospace font

CONFIG_LVGL_DEFAULT_FONT_CUSTOM

Use a none build-in font as default font. A pointer named lv_default_font_custom_ptr should exists as a global variable and point to a valid font structure

CONFIG_LVGL_DISPLAY_DEV_NAME

Name of the display device to use for rendering.

CONFIG_LVGL_DOUBLE_VDB

Use two buffers to render and flush data in parallel

CONFIG_LVGL_DPI

Dots per inch (DPI)

CONFIG_LVGL_EXT_CLICK_AREA_FULL

Full flexibility

CONFIG_LVGL_EXT_CLICK_AREA_OFF

Disabled

CONFIG_LVGL_EXT_CLICK_AREA_TINY

Only horizontally and vertical

CONFIG_LVGL_FILESYSTEM

Enable LittlevGL file system

CONFIG_LVGL_FONT_SUBPX_BGR

User BGR pixel format instead of RGB for sub-pixel rendering

CONFIG_LVGL_GPU

Enable GPU support

CONFIG_LVGL_GROUP

Enable group support. Used by keyboard and button input

CONFIG_LVGL_HOR_RES

Horizontal screen resolution in pixels

CONFIG_LVGL_IMG_CACHE_DEF_SIZE

Default image cache size, image caching keeps the images open. If only the built-in image formats are used there is no real advantage of caching. With complex image decoders (e.g. PNG or JPG) caching can save the continuous decoding of images. However the opened images might consume additional RAM.

CONFIG_LVGL_IMG_CF_ALPHA

Enable support for alpha indexed images

CONFIG_LVGL_IMG_CF_INDEXED

Enable support for indexed images

CONFIG_LVGL_IMG_INDEXED_CHROMA

Enable chroma keying for indexed images

CONFIG_LVGL_INPUT_DRAG_THRESHOLD

Threshold in pixels before entering drag mode

CONFIG_LVGL_INPUT_DRAG_THROW_SLOW_DOWN

Percentage of slow down of a throw following a drag. Greater percentage means faster slow-down.

CONFIG_LVGL_INPUT_LONG_PRESS_TIME

Period in milliseconds before a press is seen as a long press

CONFIG_LVGL_INPUT_LONG_RESS_REPEAT_TIME

Period in milliseconds after which a new trigger is generated for a long press

CONFIG_LVGL_INPUT_REFRESH_PERIOD

Refresh period for input devices in milliseconds

CONFIG_LVGL_MEM_POOL_HEAP_KERNEL

Use k_malloc and k_free to allocate objects on the kernel heap

CONFIG_LVGL_MEM_POOL_HEAP_LIB_C

Use C library malloc and free to allocate objects on the C library heap

CONFIG_LVGL_MEM_POOL_KERNEL

Use a dedicated memory pool in kernel space to allocate lvgl objects on

CONFIG_LVGL_MEM_POOL_MAX_SIZE

Size of the largest block in the memory pool in bytes

CONFIG_LVGL_MEM_POOL_MIN_SIZE

Size of the smallest block in the memory pool in bytes

CONFIG_LVGL_MEM_POOL_NUMBER_BLOCKS

Number of maximum sized blocks in the memory pool.

CONFIG_LVGL_MEM_POOL_USER

Use a dedicated memory pool in user space to allocate lvgl objects on

CONFIG_LVGL_OBJ_ARC

Enable arc object support

CONFIG_LVGL_OBJ_BAR

Enable bar object support

CONFIG_LVGL_OBJ_BUTTON

Enable button object support

CONFIG_LVGL_OBJ_BUTTON_INK_EFFECT

Enable ink, press, effect for buttons

CONFIG_LVGL_OBJ_BUTTON_MATRIX

Enable button matrix object support

CONFIG_LVGL_OBJ_CALENDAR

Enable calendar object support

CONFIG_LVGL_OBJ_CANVAS

Enabled canvas object support

CONFIG_LVGL_OBJ_CHART

Enable chart object support

CONFIG_LVGL_OBJ_CHART_AXIS_TICK_LABEL_MAX_LEN

Maximum length of axis label

CONFIG_LVGL_OBJ_CHECK_BOX

Enable check box object support

CONFIG_LVGL_OBJ_COLOR_PICKER

Enable color picker object support

CONFIG_LVGL_OBJ_CONTAINER

Enable container object support

CONFIG_LVGL_OBJ_DROP_DOWN_LIST

Enable drop down list object support

CONFIG_LVGL_OBJ_DROP_DOWN_LIST_ANIM_TIME

Drop down list animation time in milliseconds

CONFIG_LVGL_OBJ_GAUGE

Enable gauge object support

CONFIG_LVGL_OBJ_IMAGE

Enable image object support

CONFIG_LVGL_OBJ_IMG_BUTTON

Enable image button object support

CONFIG_LVGL_OBJ_IMG_BUTTON_TILED

Enable tile support for image button

CONFIG_LVGL_OBJ_KEYBOARD

Enable keyboard object support

CONFIG_LVGL_OBJ_LABEL

Enable label support

CONFIG_LVGL_OBJ_LABEL_LONG_TXT_HINT

Enable support for long text hints

CONFIG_LVGL_OBJ_LABEL_SCROLL_SPEED

Scroll speed in pixels per second if scroll mode is enabled for a label

CONFIG_LVGL_OBJ_LABEL_TEXT_SEL

Enable label text selection

CONFIG_LVGL_OBJ_LABEL_WAIT_CHAR_COUNT

Waiting period at beginning/end of the label animation cycle

CONFIG_LVGL_OBJ_LED

Enable LED object support

CONFIG_LVGL_OBJ_LINE

Enable line object support

CONFIG_LVGL_OBJ_LINE_METER

Enable line meter object support

CONFIG_LVGL_OBJ_LIST

Enable list object support

CONFIG_LVGL_OBJ_LIST_FOCUS_TIME

List focus animation time in milliseconds

CONFIG_LVGL_OBJ_MSG_BOX

Enable message box object support

CONFIG_LVGL_OBJ_PAGE

Enable page object support

CONFIG_LVGL_OBJ_PAGE_DEF_ANIM_TIME

Default page focus animation time in milliseconds

CONFIG_LVGL_OBJ_PRELOAD

Enabled pre-load object support

CONFIG_LVGL_OBJ_PRELOAD_DEF_ANIMATION_FILL

Fill

CONFIG_LVGL_OBJ_PRELOAD_DEF_ANIMATION_SPIN_ARC

Spinning Arc

CONFIG_LVGL_OBJ_PRELOAD_DEF_ARC_LENGTH

Default arc length for pre-load in degrees

CONFIG_LVGL_OBJ_PRELOAD_DEF_SPIN_TIME

Default spin time for pre-load in ms

CONFIG_LVGL_OBJ_REALIGN

Enable object realign support

CONFIG_LVGL_OBJ_ROLLER

Enable roller object support

CONFIG_LVGL_OBJ_ROLLER_ANIM_TIME

Roller animation time in milliseconds

CONFIG_LVGL_OBJ_ROLLER_INF_PAGES

Number of extra pages in case the roller is infinite

CONFIG_LVGL_OBJ_SLIDER

Enable slider object support

CONFIG_LVGL_OBJ_SPINBOX

Enable spinbox object support

CONFIG_LVGL_OBJ_SWITCH

Enable switch object support

CONFIG_LVGL_OBJ_TABLE

Enable table object support

CONFIG_LVGL_OBJ_TABLE_COLUMN_MAX

Maximum number of columns to support in a table

CONFIG_LVGL_OBJ_TAB_VIEW

Enable tab view object support

CONFIG_LVGL_OBJ_TAB_VIEW_ANIMATION_TIME

Tab view animation time in milliseconds

CONFIG_LVGL_OBJ_TEXT_AREA

Enable text area object support

CONFIG_LVGL_OBJ_TEXT_AREA_CURSOR_BLINK_TIME

Text area cursor blink time in milliseconds

CONFIG_LVGL_OBJ_TEXT_AREA_PWD_SHOW_TIME

Password character show time in milliseconds

CONFIG_LVGL_OBJ_TILE_VIEW

Enable tile view object support

CONFIG_LVGL_OBJ_TILE_VIEW_ANIMATION_TIME

Tile view animation time in milliseconds

CONFIG_LVGL_OBJ_WINDOW

Enable window object support

CONFIG_LVGL_POINTER_KSCAN

Enable keyboard scan pointer input

CONFIG_LVGL_POINTER_KSCAN_DEV_NAME

Name of the keyboard scan device to use for pointer input.

CONFIG_LVGL_POINTER_KSCAN_MSGQ_COUNT

Maximum number of items in the keyboard scan message queue.

CONFIG_LVGL_SCREEN_REFRESH_PERIOD

Screen refresh period in milliseconds

CONFIG_LVGL_SHADOW

Enable shadows

CONFIG_LVGL_TEXT_BIDI_DIR_AUTO

Automatically detect direction

CONFIG_LVGL_TEXT_BIDI_DIR_LTR

Left-to-right

CONFIG_LVGL_TEXT_BIDI_DIR_RTL

Right-to-left

CONFIG_LVGL_TEXT_BREAK_CHARACTERS

Characters on which a text break can take place

CONFIG_LVGL_TEXT_COLOR_CMD

Control character to use for signalling text recoloring

CONFIG_LVGL_TEXT_LINE_BREAK_LONG_LEN

If a word is at least this long, a line break is allowed in the word.

If the length is 0, no line break is allowed in the middle of a word.

CONFIG_LVGL_TEXT_LINE_BREAK_LONG_POST_MIN_LEN

Minimal number of characters to place on a line after a line break occurred in the middle of a word.

CONFIG_LVGL_TEXT_LINE_BREAK_LONG_PRE_MIN_LEN

Minimal number of characters to place on a line before a line break in the middle of a word can occur.

CONFIG_LVGL_TEXT_USE_BIDI

Enable bidirectional text support

The direction of the text will be processed according to the Unicode Bidirectional Algorithm: https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/

CONFIG_LVGL_THEMES

Enable build-in themes

CONFIG_LVGL_THEME_ALIEN

Enable alien theme, dark futuristic, support

CONFIG_LVGL_THEME_DEFAULT

Enable default theme support. Low RAM footprint theme.

CONFIG_LVGL_THEME_LIVE_UPDATE

Enable runtime theme switching, this will consume 8 to 10kB of RAM.

CONFIG_LVGL_THEME_MATERIAL

Enable material theme, flat theme with bold colors and light shadow, support

CONFIG_LVGL_THEME_MONO

Enable mono theme, monochrome, support

CONFIG_LVGL_THEME_NEMO

Enable water-like theme based on the movie “Finding Nemo”

CONFIG_LVGL_THEME_NIGHT

Enable night theme, dark elegant, support

CONFIG_LVGL_THEME_ZEN

Enable zen theme, peaceful light theme, support

CONFIG_LVGL_TXT_ENC_ASCII

ASCII string encoding

CONFIG_LVGL_TXT_ENC_UTF8

UTF-8 string encoding

CONFIG_LVGL_USE_ASSERT_MEM

Enable memory allocation assertion

Check if memory allocation is successful (Quite fast)

CONFIG_LVGL_USE_ASSERT_NULL

Enable null pointer assertion

Check if a null pointer is passed as a parameter (Quite fast)

CONFIG_LVGL_USE_ASSERT_OBJ

Enable object assertion

Check if an object is not a NULL pointer, has the correct type and does exists. (Quite Slow)

If this option is disabled and NULL pointer checking is enabled, the NULL pointer check is executed instead.

CONFIG_LVGL_USE_ASSERT_STR

Enable string assertion

Check if the string is not a NULL pointer, unusually long string, contains invalid characters or contains unusual repetitions. (Slow)

If this option is disabled and NULL pointer checking is enabled, the NULL pointer check is executed instead.

CONFIG_LVGL_USE_ASSERT_STYLE

Enable style assertion

Check if a used style is correctly initialized. (Fast)

CONFIG_LVGL_USE_DEBUG

Enable debug support.

If debug support is enabled LVGL will validate the parameters of any function call made and if an invalid parameter is found __ASSERT is called.

CONFIG_LVGL_VDB_SIZE

Size of the buffer used for rendering screen content as a percentage of total display size.

CONFIG_LVGL_VER_RES

Vertical screen resolution in pixels

CONFIG_MAX_PTHREAD_COUNT

Maximum number of simultaneously active threads in a POSIX application.

CONFIG_MAX_TIMER_COUNT

Mention maximum number of timers in POSIX compliant application.

CONFIG_MINIMAL_LIBC

Build with minimal C library.

CONFIG_MINIMAL_LIBC_CALLOC

Enable the minimal libc’s trivial implementation of calloc, which forwards to malloc and memset.

CONFIG_MINIMAL_LIBC_LL_PRINTF

Build with long long printf enabled. This will increase the size of the image.

CONFIG_MINIMAL_LIBC_MALLOC

Enable the minimal libc’s implementation of malloc, free, and realloc. Disable if you wish to provide your own implementations of these functions.

CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE

Indicate the size of the memory arena used for minimal libc’s malloc() implementation. This size value must be compatible with a sys_mem_pool definition with nmax of 1 and minsz of 16.

CONFIG_MINIMAL_LIBC_REALLOCARRAY

Enable the minimal libc’s trivial implementation of reallocarray, which forwards to realloc.

CONFIG_MQUEUE_NAMELEN_MAX

Mention length of message queue name in number of characters.

CONFIG_MSG_COUNT_MAX

Mention maximum number of messages in message queue in POSIX compliant application.

CONFIG_MSG_SIZE_MAX

Mention maximum size of message in bytes.

CONFIG_NEWLIB_LIBC

Build with newlib library. The newlib library is expected to be part of the SDK in this case.

CONFIG_NEWLIB_LIBC_ALIGNED_HEAP_SIZE

If user mode is enabled, and MPU hardware has requirements that regions be sized to a power of two and aligned to their size, and user mode threads need to access this heap, then this is necessary to properly define an MPU region for the heap.

If this is left at 0, then remaining system RAM will be used for this area and it may not be possible to program it as an MPU region.

CONFIG_NEWLIB_LIBC_FLOAT_PRINTF

Build with floating point printf enabled. This will increase the size of the image.

CONFIG_NEWLIB_LIBC_FLOAT_SCANF

Build with floating point scanf enabled. This will increase the size of the image.

CONFIG_NEWLIB_LIBC_NANO

Build with newlib-nano library, for small embedded apps. The newlib-nano library for ARM embedded processors is a part of the GNU Tools for ARM Embedded Processors.

CONFIG_POSIX_API

Enable mostly-standards-compliant implementations of various POSIX (IEEE 1003.1) APIs.

CONFIG_POSIX_CLOCK

This enables POSIX clock_*(), timer_*(), and *sleep() functions.

CONFIG_POSIX_FS

This enables POSIX style file system related APIs.

CONFIG_POSIX_MAX_FDS

Maximum number of open file descriptors, this includes files, sockets, special devices, etc.

CONFIG_POSIX_MAX_OPEN_FILES

Maximum number of open files. Note that this setting is additionally bounded by CONFIG_POSIX_MAX_FDS.

CONFIG_POSIX_MQUEUE

This enabled POSIX message queue related APIs.

CONFIG_PTHREAD_IPC

This enables a mostly-standards-compliant implementation of the pthread mutex, condition variable and barrier IPC mechanisms.

CONFIG_REQUIRES_FULL_LIBC

Helper symbol to indicate some feature requires a C library implementation with more functionality than what MINIMAL_LIBC provides

CONFIG_RING_BUFFER

Enable usage of ring buffers. This is similar to kernel FIFOs but ring buffers manage their own buffer memory and can store arbitrary data. For optimal performance, use buffer sizes that are a power of 2.

CONFIG_SEM_VALUE_MAX

Maximum semaphore count in POSIX compliant Application.

CONFIG_STDOUT_CONSOLE

This option directs standard output (e.g. printf) to the console device, rather than suppressing it entirely. See also EARLY_CONSOLE option.

CONFIG_UPDATEHUB

UpdateHub is an enterprise-grade solution which makes simple to remotely update all your embedded devices in the field. It handles all aspects related to sending Firmware Over-the-Air (FOTA) updates with maximum security and efficiency, while you focus in adding value to your product.

CONFIG_UPDATEHUB_CE

Allow the use of UpdateHub Community Server (updatehub-ce) as alternative to the updatehub.io enterprise server.

CONFIG_UPDATEHUB_DTLS

Enables DTLS communication between the UpdateHub client and the server

CONFIG_UPDATEHUB_POLL_INTERVAL

Set the interval that the UpdateHub update server will be polled. This time interval is zero and 43200 minutes(30 days).

CONFIG_UPDATEHUB_PRODUCT_UID

The product unique identifier is used when communicating with the UpdateHub server.

CONFIG_UPDATEHUB_SERVER

This configuration is default, if need to use other address, must be set on the UpdateHub shell

CONFIG_UPDATEHUB_SHELL

Activate shell module that provides UpdateHub commands like

CONFIG_UPDATEHUB_SUPPORTED_HARDWARE_MAX

Configure the max number of supported hardware by the same image.