Mauro De Vecchi - Bluewat
Mauro De Vecchi - Bluewat
  • 24
  • 84 801
The onchip EEPROM of STM32 L0 and L1 series
In this video we'll analyze EEPROM available on L0 and L1 series of STM32 and its advantage in terms of easiness of usage.
The onboard EEPROM allows a simpler and cheaper project design together with increased performance in terms of data protection and power savings.
00:00 Intro
00:30 RAM, FLASH, EEPROM and microControllers
05:11 EEPROM emulation on Flash?
07:15 STM32s having onchip EEPROM
10:38 EEPROM handling commands
16:45 HAL functions
17:29 testing the onchip EEPROM
33:00 STM32 data protection strategies
Documentation:
My GitHub page with handling function shown here: github.com/maudeve-it/STM32-Internal-EEPROM
Introducing Flash memory and a handling library. EEPROM comparison: ua-cam.com/video/KlG2doCkREM/v-deo.htmlsi=oPbvkJjIvZOm-M3m
EEPROM emulation ST application note: www.st.com/resource/en/application_note/an3969-eeprom-emulation-in-stm32f40xstm32f41x-microcontrollers-stmicroelectronics.pdf
Переглядів: 333

Відео

Pictures on SPI LCD display + SPI flash + External Loader
Переглядів 1,1 тис.3 місяці тому
In this video, we examine in depth two aspects: - displaying images on a TFT-LCD display like ILI9341, ILI9488, or ST7735, - how to use SPI flash memory through External Loaders in a generic STM32 project on CubeIDE. We will come to handle full display pictures with an STM32f103, a Bluepill, on an ILI9341. 00:00 Intro 02:02 The test project 03:37 The convertion of JPEG pictures to RGB565, RGB88...
A 12kB External Loader
Переглядів 4855 місяців тому
ST documentation and examples brings to ELs needing more than 40kB of RAM in the STM32. Here I show a version of my library allowing to generate ELs needing 12kB or even less. As this is library doesn't follow all the ST indication, I published it in a separate repository. Now you can choose between the "standard" ELs and the "unorthodox" ones. 00:00 Intro 01:34 Gesture recognition with VL53L1X...
Gesture Recognition with ToF sensors: gesture detection and a gesture menu system using VL53L1X
Переглядів 4376 місяців тому
Detecting gesture, assigning function to gestures, up to defining a gesture based menu system. Using VL53L1X and ST ULP APIs. 00:00 Intro 01:34 Gesture recognition with VL53L1X 03:42 Setting up a gesture recognition project 07:19 Using the gesture recognition function 10:10 Controlling values with gesture recognition: a proportional algorithm 11:41 Testing the proportional algorithm 14:36 Contr...
Gesture Recognition with ToF sensors: VL53L1X + Ultra Light Driver (ULD)
Переглядів 1,5 тис.9 місяців тому
VL53L1X, its features, its behaviour in various working conditions. How to setup a project handling it via the ULD APIs from ST. In this video I'm using the library available on my GitHub page handling a VL53L1X with a Bluepill board (STM32F103) and the ST ULD API driver. 00:00 Intro 00:49 The VL53L1X Time Of Flight sensor 01:59 VL53L1X technical details 04:44 The STMicroelectronics API drivers...
TouchGFX + SPI Flash: how to store images and fonts over a W25Q memory
Переглядів 3,4 тис.11 місяців тому
A TouchGFX project quickly overrides the space available on the internal flash to store images and fonts. Here a description about how to use external Standard-SPI flash memories to store images and fonts. 00:00 Intro 01:35 The test project 05:10 Overriding internal flash 08:01 TouchGFX setup: enabling external data reader 08:52 Linker setup: handling the external flash 10:17 TouchGFX Designer:...
External loaders for SPI flash: a "standard" version
Переглядів 7 тис.Рік тому
Here I show you my library for STM32 handling the W25Qxxx SPI flash family by Winbond. Library includes functions needed to develop an external loader as per ST documentation and examples. Video shows how to use the library to directly handle flash memory or to develop an external loader to program, verify and read flash content via CubeProgrammer package. Library and information are available ...
A full TouchGFX project with 3.5" SPI display and the full set of TouchGFX widgets
Переглядів 10 тис.Рік тому
Current version (v. 1.30) of the graphic library available in my GitHub page can now handle the whole set of widgets and transitions on TouchGFX Here I'm showing a full TouchGFX project using a 3.5" ILI9488 SPI touch display. Library handles also display driven by ILI9341 and it is available also driving ST7735 displays. Video shows all steps to setup a multiple screen TouchGFX project using th...
Powering 3.3V/3A via a USB-C PD source
Переглядів 1,5 тис.Рік тому
Without needing to use a USB-C PD controller chip, handling communication over the USB cable, USB-C standard allows to get 5V up to 3A through a hardware availability detection. Here I show a design developed on KiCad and assembled through JLCPCB. It is sinking power from a USB-PD connector and provides 5V and 3.3V up to 3A through a step-down converter. 00:00 intro: topics covered 02:20 the US...
STM32 TouchGFX with ILI9488 and other RGB666 displays
Переглядів 6 тис.Рік тому
After developing TouchGFX integration for ST7735, ILI9341 and ILI9488 V2.0 SPI boards, now the library, you can find on GitHub (link below), performs the sw conversion from RGB565 to RGB666, allowing to use any ILI9488 SPI board. Here I'll show you how I did it. Next in the video, I'll show also how to solve some difficulties, I saw someone has, using these boards in TouchGFX. 00:00 intro: exam...
A fast TouchGFX library for ILI9341, ILI9488 and ST7735 on STM32
Переглядів 28 тис.Рік тому
My library, for STM32 under HAL, handling SPI displays driven by ILI9488 (480x320), ILI9341 (320x240) and ST7735 (160x128) can now handle *both* : direct drawing through library function, and TouchGFX GUI system. Video shows how to create and run a TouchGFX project using the library, showing also the functions needed for TouchGFX integration and how I developed them. 00:00 intro: examples of To...
STM32 and ILI9488, ILI9341 TFT LCD touch displays
Переглядів 10 тис.Рік тому
This functions library, for STM32 under HAL, handles SPI touch displays driven by ILI9341 (320x240 displays) and ILI9488 (480x320), having XPT2046 touch sensor driver. Library provides fast data transfer to display and touch sensor poll. That will let an efficient integration to TouchGFX GUI framework. 00:00 intro: summary 00:36 intro: ILI9341 and ILI9488 display properties 02:26 ILI9341 and IL...
STM32 and ST7735 1.8 TFT LCD display
Переглядів 7 тис.2 роки тому
Showing how to get fast SPI transfer and optimized algorithm handling the ST7735 display driver. Speeding up dat transfer from 100ms to less than 7ms per a full screen frame, from more than 1ms to less than 150ns per character written over the display, from 200 to 52 ns per line drawing. 00:00 intro: summary 01:28 intro: selecting the display for a project 02:26 intro: downloading a sw library ...
STM32 and I2C EEPROM: "how to" use EEPROMs avoiding uC hanging
Переглядів 2,6 тис.2 роки тому
A description of an optimized handling of I2C EEPROM using STM32s via HAL. 00:00 intro 00:42 I2C description 02:28 I2C EEPROM description and handling 06:45 HAL apis for I2c communication and I2C EEPROMs 08:51 Testing I2C EEPROM: project setup 11:29 Testing I2C EEPROM: setting up the sw tests 19:09 Testing I2C EEPROM: running test in standard mode 22:39 Testing I2C EEPROM: running test in fast ...
STM32 and PVD: "how to" backup system data on EEPROMs
Переглядів 4 тис.2 роки тому
How to setup and enable PVD (Power Voltage Detector) on STM32 to detect power failures, saving system information into EEPROM before a power loss. 00:00 intro 00:52 description of the test project 02:09 creating the (pre-PVD) test project on Stm32CubeIDE 10:22 running the (pre-PVD) test 11:38 PVD on the STM32F4 reference manual and HAL user manual 14:43 setting up and enabling PVD on the test p...
The GSM gate opener, session 3: receiving phone calls, managing SMS with SIM800L
Переглядів 3653 роки тому
The GSM gate opener, session 3: receiving phone calls, managing SMS with SIM800L
The GSM gate opener, session 4: GPRS and SNTO connections via SIM800L, its clock, its phonebook.
Переглядів 5263 роки тому
The GSM gate opener, session 4: GPRS and SNTO connections via SIM800L, its clock, its phonebook.
The GSM gate opener, session 5: planning SMS commands and defining display
Переглядів 933 роки тому
The GSM gate opener, session 5: planning SMS commands and defining display
The GSM gate opener, session 6: designing wiring and PCB using KiCad
Переглядів 9903 роки тому
The GSM gate opener, session 6: designing wiring and PCB using KiCad
The GSM gate opener, session 8: micros() and millis(). Danger! Take care timing Arduino tasks!
Переглядів 1013 роки тому
The GSM gate opener, session 8: micros() and millis(). Danger! Take care timing Arduino tasks!
The GSM gate opener, session 7: software organization
Переглядів 923 роки тому
The GSM gate opener, session 7: software organization
a
Переглядів 2083 роки тому
a
The GSM gate opener, session 9: last tests and final observations about project
Переглядів 863 роки тому
The GSM gate opener, session 9: last tests and final observations about project
The GSM gate opener, session 1: project setup
Переглядів 3483 роки тому
The GSM gate opener, session 1: project setup

КОМЕНТАРІ

  • @mohsenkarimi404
    @mohsenkarimi404 11 днів тому

    thanks dude it was a very nice and to the point tutorial keep it up👌

  • @hareeshs86
    @hareeshs86 14 днів тому

    Hello. I have issues using this loader with W25Q32JV flash and STM32U599 MCU. I am able to generate the .stldr with no issues (except for that warning which is expected) but in cubeprogrammer, I cannot select the external flash address from the dropdown in the "memory & file editing" tab. I have modified the z_flash_W25QXXX.h file as such #define EXT_FLASH_PAGE_SIZE 0x0100 // 256 bytes page size (bytes) #define EXT_FLASH_SECTOR_SIZE 0x1000 // 4KB sector size (bytes) #define EXT_FLASH_BLOCK_SIZE 0x00010000 // 64KB block size (bytes) #define EXT_FLASH_SIZE 0x00400000 // 4MB-32Mb total size (bytes) #define EXT_FLASH_PAGE_NUM 0x4000 // 16384 pages #define EXT_FLASH_SECTOR_NUM 0x0400 // 1024 sectors #define EXT_FLASH_BLOCK_NUM 0x0040 // 64 blocks and in the EL_linker.ld file I have modified as such LENGTH = 2512K Followed all the other instructions. SPI Baud rate at 18Mbps (I have tested this module at 18Mbps and could successfully read JEDEC and other IDs) Any clue what could be wong? Any help is appreciated

    • @bluewat
      @bluewat 14 днів тому

      Can you provide more details about accessing the mapped flash via CubeProgrammer?

    • @hareeshs86
      @hareeshs86 13 днів тому

      @@bluewat Hello, I get the error " Error: Data read failed" When I set the address to 0x90000000 and try to read the external flash module Is there any other information you would like in detail? EDIT: Apologies, not sure what changed but it seems to be working as intended now. Thank you for the informative tutorials regardless!

  • @ab96546ijjh
    @ab96546ijjh 20 днів тому

    Thank you for your work. You explained everything perfectly in easy to understand language. I look forward to new videos with pleasure. Thank you very much again.

    • @bluewat
      @bluewat 20 днів тому

      You're welcome. I appreciate your understanding of the effort I put into the translation.

  • @urichaplin1424
    @urichaplin1424 23 дні тому

    You did not include Test_T.c to the library. Can you explain how to send data from sensor to display ? Any examples ?

  • @urichaplin1424
    @urichaplin1424 24 дні тому

    I checked 2 versions of TouchGFX 4.21 and 4.24 but can't find the Gaugee you used in your example.

  • @urichaplin1424
    @urichaplin1424 28 днів тому

    Why you use SPI interface for ILI9341 if it is use FSMC ?

    • @bluewat
      @bluewat 25 днів тому

      Uri, the ILI9341 communicates via serial or parallel port, but in the video I'm not using (only) that driver: I am using a board mounting a display and the ILI9341. Some boards expose the ILI parallel port pins, while others expose the serial ones. There are advantages and disadvantages to using one port over the other. The main advantage of using SPI instead of FSMC is that the former requires (many) fewer pins, allowing the display (the driver) to be managed even with smaller uCs or when the pins are involved in other activities. I'm thinking to do some test even with parallel port handled displays.

    • @urichaplin1424
      @urichaplin1424 25 днів тому

      @@bluewat but parallel mode is 16 times faster !( instead of sending 1 bit I send 16).

    • @bluewat
      @bluewat 25 днів тому

      @@urichaplin1424 … advantages and disadvantages…

  • @matovupaul4942
    @matovupaul4942 Місяць тому

    Hello thank you so much for this wonderful video, I'm working with the ST7789 240x280 display, I have the driver but I want it to be compatible with touchgfx, advise me on this thank you.

    • @bluewat
      @bluewat Місяць тому

      Paul, the above video should indicate all the steps you have to do updating the library you already have. A second possibility is analysing datasheets of ST7735 and ST7789 adapting the above library to your display.

  • @EdwinFairchild
    @EdwinFairchild Місяць тому

    im not sure where or how youre telling touchgfx what display you have and how it knows how to use it

    • @bluewat
      @bluewat Місяць тому

      you should find answers here: ua-cam.com/video/g1siKaPox88/v-deo.html

    • @sharankuppuswamy8951
      @sharankuppuswamy8951 Місяць тому

      please watch the previous video to understand this video

    • @sharankuppuswamy8951
      @sharankuppuswamy8951 Місяць тому

      @@bluewat hi i am able to display but touch is not working

  • @erdogandokmeci8313
    @erdogandokmeci8313 Місяць тому

    Thanks for a nice training video. I am new to this topic. If I understand correctly, you are using LM2596 converter. Could you explain which pin of STM32 board is connected to the output pin of LM2596 converter?

    • @bluewat
      @bluewat Місяць тому

      There is no a pin dedicated to power measuring. PVD directly monitors VDD through an internal voltage reference: see description and diagram shown on minute 12:00 (ua-cam.com/video/AHBGlCDGqhE/v-deo.html).

  • @RafałNowak-r7x
    @RafałNowak-r7x Місяць тому

    Bardzo dobre wideo, super tłumaczy jak przyspieszyć działanie wyświetlacza LCD.

    • @bluewat
      @bluewat Місяць тому

      Dziękuję Rafał 😯😉

  • @mikejones-vd3fg
    @mikejones-vd3fg 2 місяці тому

    Awesome tutorials, i have the same black pill from weact I bought last year with SPI flash and also the same scame screen, but felt too intimidated to try and hook it up, thank for this.

    • @bluewat
      @bluewat 2 місяці тому

      @@mikejones-vd3fg 👍. Have fun!

  • @Zurenio
    @Zurenio 2 місяці тому

    Sarebbe bellissimo se Lei potessi fare : "LVGL + Square Line Studio " ...!!!

    • @bluewat
      @bluewat 2 місяці тому

      Sembra quasi una forma di stalking

  • @sharankuppuswamy8951
    @sharankuppuswamy8951 2 місяці тому

    Thank you very much for your brilliant and performant driver.But i am facing some issue i am using version 2.1 so it is not displaying properly but touch is working could you please help me with this

  • @cavuserkan
    @cavuserkan 2 місяці тому

    Anyone help me, what is the problem? cmd.exe /C copy /Y "MX25L6433_EXT.elf" "..\MX25L6433_EXT.stldr" c:/st/stm32cubeide_1.14.1/stm32cubeide/plugins/com.st.stm32cube.ide.mcu.externaltools.make.win32_2.1.101.202401061624/tools/bin/sh: cmd.exe: not found make[1]: *** [makefile:85: post-build] Error 127 make: *** [makefile:58: all] Error 2

  • @lililili-zb6wv
    @lililili-zb6wv 2 місяці тому

    Hi! Really appreciate for your work. Your library helped me a lot. But I want to use more bigger fonts then 'font24.c' in your library. So I edited font24.c file on my own by extending its arranges twice bigger. However, it doesn't work well as original font files. Is there any size limitations for ILI9488 for displaying bigger something? If you have a great idea for displaying bigger fonts in this display, please help me

    • @bluewat
      @bluewat 2 місяці тому

      I agree: ST fonts shown on ILI9488, can appear too small for some needs. In Displ_WChar I added "size" parameter that, if set to 2, "doubles" character width. It should be easy also to double height. Be aware: You can see that there is no a buffer swap inside the WChar function. It means that you have to set buffer size able to store at least 1 char. eg. Font24 is 24x17 pixels per character. In RGB565 it is 24x17x2 = 816 bytes per character, RGB666 needs 1.2k. Doubling with buffer must be > than 2.4k. Doubling width and height it must be >4.8k. Maybe problem you had was just a buffer overriding.

  • @ricardorector3080
    @ricardorector3080 2 місяці тому

    Hello!! Mauro, I have issues with CubeIDE, External Loader. In CubeProgrammer works great, but when i try use it on CubeIDE i cant write, so i dont know whats going on. Could you help me with.

    • @bluewat
      @bluewat 2 місяці тому

      CubeIDE and CubeProgrammer use THE SAME modules so you should easily detect the error: your EL is good (!), that's just a CubeIDE project problem. My 2 cents is: (first hypotesis) did you unselect "verify" in CubeIDE EL properties? If yes I see only (second one) a linker script problem. But it is not easy from here helping you much more than this.

    • @ricardorector3080
      @ricardorector3080 2 місяці тому

      @@bluewat Thanks for your help!!! Yes the verify is unselected. i'm using ST-Link-V3Set.

    • @ricardorector3080
      @ricardorector3080 2 місяці тому

      ​@@bluewatOk after checking all, I could fix it. And now is working.

    • @bluewat
      @bluewat 2 місяці тому

      Well done!

  • @Muhammad-qf9vl
    @Muhammad-qf9vl 2 місяці тому

    Hello everyone I'm using touchGFX and 3.5" display with ili9488 I managed to work with it and it shows everything as I wanted, but the issue is that when I power up the uC, sometimes it doesn't show anything and I need to reset the uC!!!! I ran debug and there was no error or something else... My uC is stm32f405rgt6... What would be wrong...? Thanks in advance:)

    • @sharankuppuswamy8951
      @sharankuppuswamy8951 Місяць тому

      i have the same problem is the touch working for u?

    • @Muhammad-qf9vl
      @Muhammad-qf9vl Місяць тому

      @@sharankuppuswamy8951 yes the touch is working properly, what's your problem exactly? It doesn't show anything sometimes???

    • @sharankuppuswamy8951
      @sharankuppuswamy8951 Місяць тому

      @@Muhammad-qf9vl touch is not working

    • @Muhammad-qf9vl
      @Muhammad-qf9vl Місяць тому

      @@sharankuppuswamy8951 have you checked the communication between the uC and the touch? Or did you check the wiring?? Also , maybe it's about the calibration... Watch the video about calibration and set the parameters, it should work... At least it worked for me:)

  • @asifehsan4948
    @asifehsan4948 2 місяці тому

    Awesome Knowlege with good deliver approach, accept best wishes. ♥♥♥ can you modify same code for esp32 wroom and ili9341display in Arduino IDE . Thanks in advance

  • @Reach41
    @Reach41 3 місяці тому

    I’m working on a small mobile robot that will run a course defined by gps coordinates. A VL53L0X is used for obstacle detection, but thanks to you videos I’m switching to the VL53L1X sensor so I can also use gesture detection to start the robot, and also to stop it mid-course, without having to push the button now used. The button is in a location that’s hard to get to when it’s moving, and even to get it started, so this will be a significant improvement. Thank you for your development effort and for posting your work!

    • @bluewat
      @bluewat 3 місяці тому

      I'm really glad to have been helpful! Let me know about your robot.

  • @Zurenio
    @Zurenio 3 місяці тому

    Hi Mauro.... Could give us a global debug procedure ? Thank you..!

    • @bluewat
      @bluewat 3 місяці тому

      The "Definitive Debuging Method"? That's too much. I can try to show how I move debugging my projects... 1) HW is ok? I usually setup a simple project (a non-TouchGFX project) allowing me to verify that display, touch sensor, flash (if any), other devices are working. That usually running simple test functions you see in other videos here or, anyway, simple basic tests of the devices involved. I keep this project available to run it, testing the system, anytime I have a doubt about it. 2) Is TouchGFX running? a second simple project (maybe just involving a button and a counter as you see here) to see if TouchGFX is correctly set. I use that to check all the configuration (CubeMX and .h configurations) in case of doubt. ...or restarting from here... sometime. 3) So, it is the current project! If the two above tests are working, the problem (because if I'm debugging means I have a problem) is just inside the project I'm developing. Keep in mind that there is ALWAYS a bug somewhere. If it seems that your (my) project is working, it's only because the bug hasn't shown up yet! .

    • @Zurenio
      @Zurenio 2 місяці тому

      @@bluewat Thank you... but I'm askiing for a simple procedura .... The idea is .... where to set 4 or 5 breakpoints ...

  • @Bulent2k
    @Bulent2k 3 місяці тому

    very useful video

    • @bluewat
      @bluewat 3 місяці тому

      Thank you

  • @chemik0vid
    @chemik0vid 3 місяці тому

    Great :) Thank you very much

    • @bluewat
      @bluewat 3 місяці тому

      Glad to see that you like it!

  • @danielcarpio4302
    @danielcarpio4302 3 місяці тому

    Can you make a tutorial on how to make function calls using TOUCHGFX?

    • @bluewat
      @bluewat 3 місяці тому

      I 'll take a look

  • @danielcarpio4302
    @danielcarpio4302 3 місяці тому

    Very nice

    • @bluewat
      @bluewat 3 місяці тому

      Thank you

  • @Muhammad-qf9vl
    @Muhammad-qf9vl 3 місяці тому

    Hello , I did everything as you did and it doesn't work at all! i also use the same headerboard (stm32f411ceu6) the code compile without any error! my wiring is fine.... i'm using 3.5" TFT LCD with ILI9488.... I checked everything still get nothing... thank you

    • @Zurenio
      @Zurenio 3 місяці тому

      I had te same problem... I fix it so : #define ILI9488_V1 in z_displ_ILI9XXX.h...good luck..

  • @angelostella4382
    @angelostella4382 3 місяці тому

    Ciao Mauro, tantissimi complimenti per i tuoi video: veramente molto belli. Angelo

    • @bluewat
      @bluewat 3 місяці тому

      Grazie Angelo! lieto di sapere che i miei video vengono apprezzati.

  • @lohikarhu734
    @lohikarhu734 4 місяці тому

    Your videos are nicely paced, and have an excellent mix of the resources needed to get a complete understanding of the project.

    • @bluewat
      @bluewat 3 місяці тому

      Thank you

  • @lohikarhu734
    @lohikarhu734 4 місяці тому

    Also perfekt for me, with F411 mpu... I also have an L476 Nucleo, I think it should work, maybe even better, with the ART function??

    • @bluewat
      @bluewat 3 місяці тому

      Let me know the result of your tests!

  • @lohikarhu734
    @lohikarhu734 4 місяці тому

    For me, this is fantastic video, just full of techniques to reduce memory requirements and improve performance, with very little effect on the visual appeal of the UI ... Mille Grazie!

    • @bluewat
      @bluewat 3 місяці тому

      Glad to see that you find useful my work.

  • @murat-rv5fc
    @murat-rv5fc 4 місяці тому

    Hello, I will use stm32 and st7262 driver. I couldn't find a sample library on the internet. Has anyone done this before or can give me ideas on how to do it?

  • @murat-rv5fc
    @murat-rv5fc 4 місяці тому

    Hello, I will use stm32 and st7262 driver. I couldn't find a sample library on the internet. Has anyone done this before or can give me ideas on how to do it?

  • @amarobarbosa8483
    @amarobarbosa8483 4 місяці тому

    friend, to get likes and subscribers you need to enable subtitles. I don't understand your language, but thanks for the initiative!

    • @bluewat
      @bluewat 4 місяці тому

      Thank you for your contribution, Amarobarbosa.

  • @omitnetsirhc148
    @omitnetsirhc148 4 місяці тому

    Eh taci madonna

  • @chaimadhaouadi205
    @chaimadhaouadi205 4 місяці тому

    Could I use the same library for ili9341 3.5 you use with ili9341 2.8 240x320 ?

    • @bluewat
      @bluewat 4 місяці тому

      what's the 3.5 resolution? As per what I see on datasheet, 9341 handles 240x320 displays: library should work without any changes. Anyway, if display has a different resolution, you should just set its size on z_displ_ILI9XXX.h around line 175

  • @charumathim9534
    @charumathim9534 4 місяці тому

    Sir actually I have ILI9846 driver could please tell can I Used this font library for that

    • @bluewat
      @bluewat 4 місяці тому

      Hi Charumathi, I do not have an ILI9846 display, neither I'm able to find its datasheets herearound, online. Maybe you are referring to ILI9486? If so, I do not have even displays driven by ILI9486 but, after a quick look to its datasheet, if I'm not mistaken, differences mainly are in the parallel interface. On the SPI port ILI9486 should work as an ILI9488 on RGB565. Try to set library to ILI9488_V2. Let me know.

  • @fernandoprudencio5521
    @fernandoprudencio5521 4 місяці тому

    Dear Mr.Mario First of all, congratulations for your project and to share those great tutorials with us. I tested the library with stm32f407 and ILI9341 and everything works fine but when I tryed to enable the freeRTOS pack in STM32CUBEide , the program stopped working, tft freezes. Are there any possibility of incompatibility of the libray and freeRTOS ? thanks in advanced , best regards!!

    • @bluewat
      @bluewat 4 місяці тому

      Not for RTOSs

  • @selcukpura
    @selcukpura 4 місяці тому

    Good job, i need i2c register addresses for a 8 bit, low rom size microcontroller (Microchip 16F series) for a standalone operation control board. Thank you.

    • @bluewat
      @bluewat 4 місяці тому

      VL53L1X I2C address is 0x52 and you can program it. Note that the programmed address is lost on power loss, so, if you have multiple devices connected , turning the system on all device have the same address. You have yo use XSHUT to select them individually on startup, at least to set their own address. (that means that in a multiple-device project all devices must be xshut-connected: being so I let device with their original address and select them (even on runtime) through XSHUT)

  • @tiwag9205
    @tiwag9205 4 місяці тому

    Thank you very much for your brilliant and performant driver. Also your videos with much backgroundinfos about the implementation are brilliant!!!! THANKS !!!!

    • @bluewat
      @bluewat 4 місяці тому

      Glad to see you like my videos, Tiwag

  • @saleemshaikh6429
    @saleemshaikh6429 4 місяці тому

    Hi, Thank you for the Video. I created the .stldr file. But Cube programmer doesn't show Memory Size, page size or Memory type. What could be the reason. I checked and rechecked every step mentioned in your video. Thanks in Advance My device is: STM32G0B0CET6

    • @bluewat
      @bluewat 4 місяці тому

      Hi, the easiest part of the answer is that you can be sure that there is something wrong. Not easy is to say what is wrong. That could be also just the structure in Dev_Inf.c. Maybe just a too long string as device name?

    • @chaos_technology
      @chaos_technology 4 місяці тому

      In my case, an additional section was created in RAM before the loader functions. STM32G0B0CET6

  • @Bulent2k
    @Bulent2k 4 місяці тому

    These days I'm interested in TouchGFX and external flash. A very useful and educational video. A necessary video for cheap stm32 versions. Thanks.

    • @bluewat
      @bluewat 4 місяці тому

      Hi, in the playlist you can find a video about the usage of an external video in a TouchGFX project

  • @iacacch
    @iacacch 4 місяці тому

    what about if instead of a Flash memory I have an FPGA with SPI in passive mode? Would that work?

    • @bluewat
      @bluewat 4 місяці тому

      I'm not sure, but it shouldn't be difficult to adapt the library to another type of communication. As you can see, Loader_Src.c makes calls to a library handling SPI communication through simple functions: Flash_Read(), Write(), Clear(),...

    • @iacacch
      @iacacch 4 місяці тому

      I agree on that, I don’t see why it should not work. I will try!

    • @bluewat
      @bluewat 4 місяці тому

      Keep in mind that you must avoid interrupts (so, DMA also) as they are disabled exiting the external loader functions

  • @FlyHIGHSIM
    @FlyHIGHSIM 5 місяців тому

    Hello Mauro!! Thank you so much for doing this for low ram MCUs, i'm going to try this on my G0 projects 😀

    • @bluewat
      @bluewat 5 місяців тому

      👍Keep on working

  • @MelDundas
    @MelDundas 5 місяців тому

    Thanks for the video. Great work. The repo is currently private.

    • @bluewat
      @bluewat 5 місяців тому

      Now it is public. Thank you!

  • @jumbo999614
    @jumbo999614 5 місяців тому

    I also have ili9341 but I'm using ESP32. Do you have tutorial for this TFT with ESP32?

    • @bluewat
      @bluewat 5 місяців тому

      I'm sorry, I'm not using ESP32 since a long time.

  • @electronic-ebox6403
    @electronic-ebox6403 5 місяців тому

    Hi my external loader is downloading only upto 128Kb file. in flash (w28q64). but can read full chip of size 0x800000 =8mb. could you please help?

    • @technosavy397
      @technosavy397 5 місяців тому

      Hi. I am also facing the same issue. External loader cant write more than 128kb data. Have you solved problem? Or anyone have solution?

    • @bluewat
      @bluewat 5 місяців тому

      I had a project having about 1MB loaded onto a flash without problems, I don't remember if sometimes I had something needing more than 1M. I checked that project right now: an F103@64MHz (a bluepill) with a w25q64 on spi1@2Mbps. If you like a help, you should provide at least some information: what's your system? How you say you can't write data over 128k? You mean you get an error? what's the error? ...

    • @bluewat
      @bluewat 5 місяців тому

      I guess you have an error READING/VERIFYING flash (via CubeProgrammer). If so your EL is ok, flash is (hopefully, if you haven't a mistake somewhere) correctly programmed, it is a limit of CubeProgrammer. Try to disable verify option (even on CubeIde), and see what happens. I'm close to publish a new video explaining (among other topics) even this case

  • @Electronics_Dreams
    @Electronics_Dreams 5 місяців тому

    Hi Mauro! What micro are You use ??? Stm32F1?? Good videos!!Greats from Argentina

    • @bluewat
      @bluewat 5 місяців тому

      That was an F411. STM32F1 doesn't support TouchGFX. You can find a list of uC that can run that graphic system here: support.touchgfx.com/docs/development/hardware-selection/hardware-components/hardware-selection-mcu

  • @maxiking3487
    @maxiking3487 5 місяців тому

    First of all thank you for the interesting video. I am new to STM32 programming and have the following question: Is it possible to write the data on the Flash Memory of the uC instead of using an external EEPROM?

    • @bluewat
      @bluewat 5 місяців тому

      There is an Application Note from ST about EEPROM emulation on the internal uC flash memory: www.st.com/resource/en/application_note/an3969-eeprom-emulation-in-stm32f40xstm32f41x-microcontrollers-stmicroelectronics.pdf Keep in mind that emulating EEPROM on a flash memory should only be done under certain circumstances. Generally, it's not a good idea to use a flash memory as if it were an EEPROM. Perhaps the introduction of this video can help understanding differences between Flash and EEprom: ua-cam.com/video/KlG2doCkREM/v-deo.html

    • @maxiking3487
      @maxiking3487 5 місяців тому

      Thank you.

  • @PeterDhooghe-d7l
    @PeterDhooghe-d7l 6 місяців тому

    In the final stage of your video you're adding a 47µF capacitor on your breadboard. You say you are plugin it between GND and CC1. Doesn't that have to be T1 instead of CC1? You didn't adjust the schematic and pcb accordingly? I appreciate your design very much, I consider building it.

    • @bluewat
      @bluewat 6 місяців тому

      Oh you are right! I see only now that on 43:30 I said I added the capacitor to CC1. That's a slip. I added it to T1, as said few seconds before. As per USB-C standard, only a 5.1 resistor can be (should be) added to CC1 and CC2. After this video, using this project as a power stage for a board, I also changed inductor with another one having the same inductance value and having a lower RDC . I adopted C5339514 (25mohm RDC) if you refer to Jlcpcb catalog. The c285742 inductor I used here (87mohm) tends to raise in temperature sinking 2A or more. Nothing critical, but trying to have a long live board... My intent in this video was (1) to show the work I made in understanding USB-C PD documentation to use USB port as a power supply without using a USB-C controller chip and (2) to update information about using Jlcpcb services I shown time ago in a video on Arduino. That's why I haven't published (on GitHub) an updated design of the board.

  • @KamilDyrbuś
    @KamilDyrbuś 6 місяців тому

    Dear Mauro, I am writing to you because i used to your great video: ua-cam.com/video/g1siKaPox88/v-deo.html that prepare own project in which I use STM32L476 and display SPI 4", ILI9488 from aliexpres. I have a problem because the touch on the bottom of adisplay is worse than the touch on the top of the display - the touch is inaccurate and I had to touch a few times on the display. I change a display but it did not help. I have set full touchGFX Mode, SPI 20 Mbit/s prescaler touch 4, prescaler touch 16. Can you give me a advice where is a problem? I will be very happy. Best regards, Kamil

    • @bluewat
      @bluewat 6 місяців тому

      Maybe, it is a calibration problem? ua-cam.com/video/020k2vbLAPc/v-deo.html github.com/maudeve-it/ILI9XXX-XPT2046-STM32/tree/main/4-CALIBRATION

    • @KamilDyrbuś
      @KamilDyrbuś 6 місяців тому

      @@bluewat I calibrated it in the near past. Maybe, a problem is with SPI settings? - reading touch data is to slow or to fast?

    • @bluewat
      @bluewat 6 місяців тому

      Actually I remember I've seen that there is a range of touch SPI speed where the sensor still works and replies to queries but giving low precision results. Try to drastically slow down touch spi speed and see the results. Keep in mind that touch sensor needs a communication of just a couple of bytes: you will see that a slow touch-SPI port doesn't affects the global TouchGFX project performance. Let me know

  • @electronic-ebox6403
    @electronic-ebox6403 6 місяців тому

    hi, thanks for video. i followed steps you shows. i am using w25q64 chip. in program Flash_init sims to be working well but at Flash_chiperase goes into infinite loop it stuck in busy flag. what is the problem?

    • @bluewat
      @bluewat 6 місяців тому

      That's strange. Writing cycle starts as soon as /CS is driven high and autonomously resets busy bit at the end.

    • @electronic-ebox6403
      @electronic-ebox6403 6 місяців тому

      @@bluewat you are right but in the function Flash_WaitForWritingComplete(); ---> infinite loop at while (buffer[0]& SR1_BIT_BUSY ); . This buffer never receive S1 register value and causes a loop infinity

    • @electronic-ebox6403
      @electronic-ebox6403 5 місяців тому

      @@bluewat is library support w25q64?

    • @electronic-ebox6403
      @electronic-ebox6403 5 місяців тому

      is library support w25q64?

    • @electronic-ebox6403
      @electronic-ebox6403 5 місяців тому

      @@bluewat now working... my chip was faulty i replaced with new one and program is working