What's inside
2 sections- LVGL
- in Embedded Devices
- Table of Contents
- 1. Environment Setup
- Step 1.1 — Tools
- Step 1.2 — CubeMX Peripheral Configuration
- Step 1.3 — Add LVGL to the Project
- 2. Project Configuration (lv_conf.h)
- 3. Display & Input Driver Integration
- Step 3.1 — Frame Buffers
- Step 3.2 — Register the Display Driver
- Step 3.3 — Touch Input Driver
- Step 3.4 — Tick Source & Main Loop
- 4. LVGL Core Concepts
- 5. Widgets — Step by Step
- Label
- Button + Event
- Slider
- Switch / Checkbox
- Dropdown & Roller
- Bar & Spinner (progress/status)
- Table
- Tabview (for multi-page UIs)
- List & Menu
- 6. Building Forms
- Step 6.1 — Layout with Flex
- Step 6.2 — Labeled Text Field
- Step 6.3 — On-Screen Keyboard Binding
- Step 6.4 — Numeric Field with Validation
- Step 6.5 — Submit / Cancel Row
- 7. Charts & Graphs
- Step 7.1 — Line Chart
- Step 7.2 — Bar Chart
- Step 7.3 — Multiple Series & Legend
- Step 7.4 — Cursors & Tooltips (v9)
- 8. Real-Time Waveform Display (CRO / Oscilloscope)
- Approach A — lv_chart in "point count" scroll mode
- Approach B — lv_canvas for a true scope grid + trace (more control)
- Step 8.1 — Performance Notes for CRO-style Displays
- 9. Fonts
- Step 9.1 — Built-in Fonts
- Step 9.2 — Custom / Converted Fonts
- Step 9.3 — Icon Fonts / Symbols
- Step 9.4 — Storing Fonts in External Flash/SDRAM
- 10. Multi-Language / Internationalization
- Step 10.1 — UTF-8 Support
- Step 10.2 — Translation Table Approach
- Step 10.3 — Rebuilding UI Text on Language Switch
- Step 10.4 — Non-Latin Scripts (CJK, Arabic, etc.)
- Step 10.5 — Optional: gettext-style Workflow
- 11. Animations, Fading & Transitions
- Step 11.1 — Basic lv_anim_t Usage
- Step 11.2 — Fading an Object In/Out
- Step 11.3 — Style Transitions (hover/press states)
- Step 11.4 — Screen Transitions
- Step 11.5 — Looping / Repeating Animations (e.g., a pulsing status LED icon)
- Step 11.6 — Chained Animations
- Step 11.7 — Performance Note
- 12. Building a Simple Game
- Step 12.1 — Game Board with Canvas
- Step 12.2 — Game State
- Step 12.3 — Game Loop via lv_timer
- Step 12.4 — Redraw
- Step 12.5 — Input (buttons or swipe gestures)
- 13. Performance Tuning on STM32H7
- 14. Debugging Checklist
- Suggested Project Structure
- Where to Go Next
Code & supporting files
No supporting links for this eBook yet.More in Firmware
FirmwareZephyr RTOS - The Advanced Engineering HandbookFirmware › RTOSZephyr RTOS - The Advanced Engineering HandbookFirmwareSTM32H7 Graphics TutorialsFirmware › Microcontrollers › STM32STM32H7 Graphics TutorialsFirmwareSTM32H7 and FreeRTOSFirmware › Microcontrollers › STM32STM32H7 and FreeRTOSFirmwareRaspberry Pi 5 Industrial BlueprintFirmware › Embedded LinuxRaspberry Pi 5 Industrial Blueprint