Skip to content

Vehicle ADAS auxiliary panel based on RT-Thread and LVGL.

Notifications You must be signed in to change notification settings

CoreBoxer/ADAS_panel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vehicle ADAS auxiliary panel based on RT-Thread and LVGL

Project introduction

The project uses NXP RT1060EVKB as the hardware platform, through the front-end design of LVGL GUI and the combination of back-end functions, to realize a modern vehicle ADAS auxiliary driving panel.

4

5

Implemented functions:

  1. Display of automobile instrument panel: the automobile instrument panel is the main page of GUI, which displays the information of automobile speed, engine speed, fuel quantity, steering light, battery status, etc., provides data input interface, displays it with high refresh rate, and makes full use of the LCD driving ability of RT1060.
  2. IoT remote control: the development board accesses the Internet through the network card, connects to the MQTT server located in the cloud, and realizes the front-end control interface based on LVGL to realize the function of remote control of light switch, brightness and air conditioning temperature in the home.
  3. Remote chat: Based on the TextArea and keyboard controls of LVGL, the function of chat between ADAS system and remote client is realized in combination with MQTT.

BOM information

Hardware

  • MIMXRT1060-EVKB

  • LCD Screen: RK043FN66HS-CTG 480x272

  • Network Interface Card: ESP8266

  • Few wires

1

Software

  • RT-Thread Env
  • SquareLine Studio
  • MDK5
  • RT-Thread OS
  • LVGL-latest
  • at_device-latest
  • cJSON-v1.0.2
  • mymqtt-latest

Project construction

  • First, we need to install the development environment required by the project: RT-Thread Env、MDK5、SquareLine Studio.

    • RT-Thread Env is a tool for project configuration and build
    • MDK5 is used to compile and download code
    • SquareLine Studio is used to design gui and export the front-end C code of LVGL
  • Download RT thread code from GitHub, link: https://github.com/RT-Thread/rt-thread.git

Use RT-Thread Env to switch to directory bsp/imxrt/imxrt1060-nxp-evk, and start menuconfig to open the following configuration

  1. Enable AT network components

image-20220814174502842

  1. Enable LVGL, appropriately increase the thread stack size, and set the refresh period to 33ms (the default refresh period is 5ms, which is so fast that it will cause some displaying problems)

image-20220814174941069

  1. Enable MQTT components and at network devices

image-20220814174724140

  1. Enable the cJSON component

image-20220814175040808

  1. Enable LCD, TOUCHPAD, LVGL and SquareLine Studio support

image-20220814175215629

  1. Enable peripherals such as UART3. Complete configuration file .config will be provided in the project source code. After the menuconfig configuration is completed, the program will automatically download the relevant components, and then use the scons --target=mdk5 command to generate the MDK5 project.

  2. Open SquareLine Studio and import GUI front-end design project

image-20220814175929574

image-20220814180117301

  1. After completing the front-end GUI design, export the C code and copy it to the imxrt1060-nxp-evk\applications\lvgl\squareline\ui directory

  2. Compile the project and download it into the development board

Static effect display (picture)

Home page: dashboard panel

2

Remote control page: IoT control (left), chat box (right)

3

PC sends and receives communication information

mqtt

Animation effect display (video)

Show video show_video.mp4 is located in the video folder

References

  1. application notes

  2. official documents

  3. wiki

About

Vehicle ADAS auxiliary panel based on RT-Thread and LVGL.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published