LVGL sample on a RAYTAC MDBT50Q

Using the LVGL sample... The sample LVGL code works on nrf52840dk but not the RAYTAC MDBT50Q. I hope I'm just missing something obvious?

  1. Flash blinking to nrf52840dk and RAYTAC MDBT50Q and both work (confirming jlink flash process/connections are good)
  2. I have to manually repower/reset the board on the MDBT50Q after flashing, so I do that
  3. flashing a LVGL sample, including led0 "on", to a nrf52840dk... works perfectly. 
  4. flashing the exact same LVGL sample to a RAYTAC MDBT50Q (nrf52840) - doesn't work.
  5. led0, which is part of LVGL sample - doesn't work on MDBT50Q
  6. MDBT50Q appears to flash the LVGL sample correctly
  7. command for both: west build -b nrf52840dk_nrf52840 -d build52840 -p -- -DSHIELD=waveshare_epaper_gdey0213b74
  8. I couldn't get a 0.97" OLED to work over SPI on the MDBT50Q
  9. I could get the I2c OLED version to work on the MDBT50Q.
  10. checked MDBT50Q pwr and gnd (3v3)
  11. I checked the SPI connections/reconnected many times
  12. The sample code and images: https://github.com/mej558/lvgl_Raytac_Question.git
  13. Included images and drawings in the repo folder /images.
  14. I tried 3 different waveshare displays of the same model. All work on the nrf52840dk, but not the MDBT50Q.

led0 does not come on when I flash LVGL to the MDBT50Q. However, if I pull gpio1.10(display reset) the led0 lights. If I then plug gpio1.10 back in led0 stays lit. Not sure what that means...

Thinking that there was something weird about gpio1.10 I modified the Waveshare shield to use gpio1.07: 

        // reset-gpios = <&arduino_header 14 GPIO_ACTIVE_LOW>;  /* D8 <14 0 &gpio1 10 0>*/
        reset-gpios = <&arduino_header 12 GPIO_ACTIVE_LOW>; /* <12 0 &gpio1 7 0>*/

With this change I get the same behavior that I had with gpio1.10, but now on gpio1.07: If I pull gpio1.07 led0 lights. Plug gpio1.07 in and led0 stays lit... With gpio1.10 or gpio1.07 the display never shows any activity/data/flashing/life, etc... 

The gpio1.07 modification works perfectly on the nrf52840dk.

Parents Reply Children
  • I tried that after making this posting. Ultimately it didn't make any difference.

    I ran into problems because the waveshare used the arduino_spi definition and the Raytac didn't define arduino_spi... Zephyr is relatively new to me, but I modified the waveshare_epaper_gdey0213b74.overlay file to use spi1 and test it on the RAYTAC.

    As best as I could tell I modified waveshare_epaper_gdey0213b74.overlay correctly because I was testing the pin allocation changes on the nrf52840dk and nrf52840dk continued to work after being rewired.

    That said, I expected that by using "nrf52840dk_nrf52840" it would work on the RAYTAC as long as the same pins were used on both the nrf52840dk and the RAYTAC. Is that a good assumption or am I missing something?

    After this posting I used this same:  west build -b nrf52840dk_nrf52840 -d build52840 -p -- -DSHIELD=waveshare_epaper_gdey0213b74 on a custom pcb with a Fanstel module and got that display to work using the same arduino_spi default pins.

    I would think there might be something off about the RAYTAC dev board, but once I pull the "spi reset" pin led0 starts flashing as expected, so something strange is happening that seems to be related to spi.

Related