Lessons

FreeRTOS Lessons On ESP32 SDK:

This full series has been uploaded into udemy: Click here to visit.

  1. Lesson 01: Introduction;
  2. Lesson 02: Setup ESP32 Command Line Compile Environment;
  3. Lesson 03: System Startup Flow;
  4. Lesson 04: Task Create and Delete;
  5. Lesson 05: Task Input Parameter;
  6. Lesson 06: Task Priority;
  7. Lesson 07: Task Suspend and Resume;
  8. Lesson 08: Task List;
  9. Lesson 09: Task Stack Setting;
  10. Lesson 10: Task Watch Dog;
  11. Lesson 11: Queue Delivery Integer Data;
  12. Lesson 12: Queue Space;
  13. Lesson 13: Queue SendToFront vs SendToBack;
  14. Lesson 14: Queue Delivery Struct Data;
  15. Lesson 15: Queue Delivery String Data;
  16. Lesson 16: Queue Multiple In Single Out;
  17. Lesson 17: Queue Set;
  18. Lesson 18: Queue Mailbox;
  19. Lesson 19: Software Timer 01;
  20. Lesson 20: Software Timer 02;
  21. Lesson 21: Software Timer 03;
  22. Lesson 22: Binary Semaphore;
  23. Lesson 23: Counting Semaphore;
  24. Lesson 24: Mutex;
  25. Lesson 25: Recursive Mutex;
  26. Lesson 26: Event Group Wait;
  27. Lesson 27: Event Group Sync;
  28. Lesson 28: Notification Sync;
  29. Lesson 29: Notification Value;
  30. Lesson 30: Stream Buffer 01;
  31. Lesson 31: Stream Buffer 02;
  32. Lesson 32: Message Buffer 01;
  33. Lesson 33: Message Buffer 02;
ESP32-C3 JTAG Debug:

This full series has been uploaded into udemy: Click here to visit.

  1. Lesson 01: JTAG Interface Review;
  2. Lesson 02: OpenOCD Review;
  3. Lesson 03: GDB Review;
  4. Lesson 04: Prepare Hardware and Software;
  5. Lesson 05: GDB Break Command;
  6. Lesson 06: GDB Watch Command;
  7. Lesson 07: GDB Next, Step, Until Command;
  8. Lesson 08: GDB Print Command;
  9. Lesson 09: GDB Display Command;
  10. Lesson 10: GDB Examine Command;
  11. Lesson 11: GDB Ptype, Whatis Command;
  12. Lesson 12: GDB Stack Command;
  13. Lesson 13: GDB Jump Command;
  14. Lesson 14: GDB Set Command;
  15. Lesson 15: GDB Define Command;
ESP32 WIFI Lessons:

This full series has been uploaded into udemy: Click here to visit.

  1. Lesson 01: Introduction;
  2. Lesson 02: WIFI flow for AP mode;
  3. Lesson 03: WIFI flow for station mode;
  4. Lesson 04: TCP client on lwIP socket;
  5. Lesson 05: TCP server on lwIP socket;
  6. Lesson 06: UDP vs TCP;
  7. Lesson 07: UDP client;
  8. Lesson 08: UDP server;
  9. Lesson 09: Http protocol;
  10. Lesson 10: Http URL;
  11. Lesson 11: Http get;
  12. Lesson 12: Http post;
  13. Lesson 13: Http put;
  14. Lesson 14: Http request;
  15. Lesson 15: WebSocket Introduction;
  16. Lesson 16: WebSocket Data Frame Format;
  17. Lesson 17: WebSocket Server 01 — Shake Hand;
  18. Lesson 18: WebSocket Server 02 — Read Data;
  19. Lesson 19: WebSocket Server 03 — Write Data;
  20. Lesson 20: WebSocket Script 01;
  21. Lesson 21: WebSocket Script 02;
  22. Lesson 22: WebSocket Client 01;
  23. Lesson 23: WebSocket Client 02;
  24. Lesson 24: MQTT 01 — Introduction;
  25. Lesson 25: MQTT 02 — Protocol;
  26. Lesson 26: MQTT 03 — Client;
  27. Lesson 27: MQTT 04 — Server;
  28. Lesson 28: ESPNow 01 — Introduction;
  29. Lesson 29: ESPNow 02 — Data Format;
  30. Lesson 30: ESPNow 03 — Get Mac Address;
  31. Lesson 31: ESPNow 04 — Send Data;
  32. Lesson 32: ESPNow 05 — Receive Data;
  33. Lesson 33: ESPNow 06 — Broadcast;
ESP32 Bluetooth Lessons:

This full series has been uploaded into udemy: Click here to visit.

  1. Lesson 01: Introduction;
  2. Lesson 02: Bluetooth Stack;
  3. Lesson 03: GAP;
  4. Lesson 04: GATT;
  5. Lesson 05: GATT Server Work Flow;
  6. Lesson 06: GATT Server Advertising Flow;
  7. Lesson 07: GATT Server Advertising Data;
  8. Lesson 08: GATT Client Work Flow;
  9. Lesson 09: Read Data For Server;
  10. Lesson 10: Read Data For Client;
  11. Lesson 11: Write Data For Server;
  12. Lesson 12: Write Data For Client;
  13. Lesson 13: Notification For Server;
  14. Lesson 14: Notification For Client;
  15. Lesson 15: Indication vs Notification;
WiFi & Bluetooth ESP32:

This full series has been uploaded into udemy: Click here to visit.

  1. ESP32 Lesson 01: Feature Review
  2. ESP32 Lesson 02: Minimum System
  3. ESP32 Lesson 03: Setup Compile Environment
  4. ESP32 Lesson 04: Hello World
  5. ESP32 Lesson 05: GPIO LED
  6. ESP32 Lesson 06: GPIO Interrupt
  7. ESP32 Lesson 07: Timer
  8. ESP32 Lesson 08: UART
  9. ESP32 Lesson 09: DAC
  10. ESP32 Lesson 10: ADC
  11. ESP32 Lesson 11: I2C
  12. ESP32 Lesson 12: I2C Further Discussion
  13. ESP32 Lesson 13: I2C LSM6DS3 Sensor Full Function Coding
  14. ESP32 Lesson 14: Integrate I2C OLED Original Driver
  15. ESP32 Lesson 15: Drive I2C OLED by u8g2 GUI Library
  16. ESP32 Lesson 16: SPI
  17. ESP32 Lesson 17: SDCard
  18. ESP32 Lesson 18: NVS
  19. ESP32 Lesson 19: I2S 01 — I2S Protocol and ESP32 I2S Interface
  20. ESP32 Lesson 20: I2S 02 — Drive Speaker by Internal DAC
WiFi ESP8266:

This full series has been uploaded into udemy: Click here to visit.

  1. Meeting with ESP8266 WiFi Chip
  2. Minimum ESP8266 System
  3. Connect_ESP8266 by AT Command
  4. ESP8266 Data Pass Through to PC in Station Mode
  5. ESP8266 Data Pass Through to PC in AP Mode
  6. ESP8266 Web Server
  7. ESP8266 Setup SDK Compile Environment
  8. ESP8266 NONOS SDK UART Hello World
  9. ESP8266 NONOS SDK Software Timer
  10. ESP8266 NONOS SDK Hardware Timer
  11. ESP8266 NONOS SDK GPIO LED Hello World
  12. ESP8266 NONOS SDK GPIO Interrupt
  13. ESP8266 NONOS SDK I2C
  14. ESP8266 NONOS SDK PWM
  15. ESP8266 NONOS SDK Connect WiFi Router
  16. ESP8266 NONOS SDK Connect TCP IP Server
  17. ESP8266 NONOS SDK AP Mode
FPGA Drive SPI TFT LCD:

This full series has been uploaded into udemy: Click here to visit.

  1. System Target
  2. System Analysis
  3. LCD RST Module 01: Analysis
  4. LCD RST Module 02: Coding
  5. LCD RST Module 03: Simulation
  6. SPI Driver Module 01: Analysis
  7. SPI Driver Module 02: Coding
  8. SPI Driver Module 03: Simulation
  9. LCD Driver Module 01: Interface & Variables
  10. LCD Driver Module 02: LCD RST Task
  11. LCD Driver Module 03: LCD INIT Task
  12. LCD Driver Module 04: LCD DISP RGB Task
  13. LCD Driver Module 05: LCD DISP PIC Task
  14. LCD Driver Module 06: Bmp2Hex Tool
  15. LCD Top Module
  16. Target Test
FPGA Piano:

This full series has been uploaded into udemy: Click here to visit.

  1. System Target
  2. Make The Buzzer Buzzing
  3. System Analysis
  4. Buzzer Module Status Machine
  5. Buzzer Module Coding
  6. Buzzer Module Simulation
  7. Key Module Status Machine
  8. One Key Module Coding
  9. One Key Module Simulation
  10. Key Module Solution1 Coding
  11. Key Module Solution1 Simulation
  12. Key Module Solution2 Coding
  13. Key Module Solution2 Simulation
  14. LED Module Status Machine
  15. LED Module Coding
  16. LED Module Simulation
  17. Top Module Coding
  18. Top Module Simulation
  19. Run On Board
FPGA Drive Uart:

This full series has been uploaded into udemy: Click here to visit.

  1. System Target
  2. System Analysis
  3. UART Protocol
  4. Edge Detection
  5. UART RX State Machine
  6. UART RX Coding
  7. UART RX Simulation
  8. UART TX State Machine
  9. UART TX Coding
  10. UART TX Simulation
  11. Top Module Coding and Simulation
  12. Run on Board
FPGA Filter:

This full series has been uploaded into udemy: Click here to visit.

  1. FPGA Mean (Average) Filter 01 – Introduction
  2. FPGA Mean (Average) Filter 02 – Coding
  3. FPGA Mean (Average) Filter 03 – Simulation
  4. FPGA Median Filter 01 – Introduction
  5. FPGA Median Filter 02 – Sort Module Coding
  6. FPGA Median Filter 03 – Sort Module Simulation
  7. FPGA Median Filter 04 – Median Module Coding
  8. FPGA Median Filter 05 – Median Module Simulation
  9. FPGA Gaussian Filter 01 – Introduction
  10. FPGA Gaussian Filter 02 – Coding
  11. FPGA Gaussian Filter 03 – Simulation
Verilog on Intel (Altera) FPGA:

This full series has been uploaded into udemy: Click here to visit.

  1. Compile Environment Setup—Quartus & ModelSim
  2. Simplest LED “Hello, World!”
  3. Simplest Testbench
  4. ModelSim
  5. USB Blaster
  6. Clock Divider 01 – Analysis & Coding
  7. Clock Divider 02 – Simulation
  8. Clock Divider 03 – PLL IP
  9. FIFO 01 – Introduction
  10. FIFO 02 – Synchronous FIFO 01: Analysis
  11. FIFO 03 – Synchronous FIFO 02: Coding
  12. FIFO 04 – Synchronous FIFO 03: Testbench
  13. FIFO 05 – Synchronous FIFO 04: One Extra Bit
  14. FIFO 06 – Asynchronous FIFO: FIFO IP
  15. Sequence Detector 01 – Introduction
  16. Sequence Detector 02 – Register Solution 01
  17. Sequence Detector 03 – Register Solution 02
  18. Sequence Detector 04 – State Machine Solution 01
  19. Sequence Detector 05 – State Machine Solution 02
  20. Sequence Detector 06 – State Machine Solution 03
  21. Traffic Lights Controller 01 – System Target
  22. Traffic Lights Controller 02 – Coding & Simulation
  23. FPGA Division 01: Solution 01
  24. FPGA Division 02: Solution 02 – Analysis
  25. FPGA Division 03: Solution 02 – Coding
  26. FPGA Division 04: Solution 02 – Simulation
  27. FPGA Division 05: Solution 02 – Quartus Project
  28. FPGA Division 06: Solution 03 – Analysis
  29. FPGA Division 07: Solution 03 – Coding
  30. FPGA Division 08: Solution 03 – Simulation
  31. FPGA Division 09: Solution 03 – Quartus Project
  32. FPGA Division 10: Solution 04 – Analysis
  33. FPGA Division 11: Solution 04 – Coding
  34. FPGA Division 12: Solution 04 – Simulation
  35. FPGA Division 13: Solution 04 – Quartus Project
  36. FPGA Division 14: Solution 05 – LPM Divide IP 01
  37. FPGA Division 15: Solution 05 – LPM Divide IP 02
  38. FPGA Drive 7 Segment Display 01: Introduction & System Block
  39. FPGA Drive 7 Segment Display 02: Driver IC Working Flow
  40. FPGA Drive 7 Segment Display 03: Seg7_Driver() Module State Machine
  41. FPGA Drive 7 Segment Display 04: Seg7_Driver() Module Coding
  42. FPGA Drive 7 Segment Display 05: Seg7_Driver() Module Simulation
  43. FPGA Drive 7 Segment Display 06: Seg7_Ctrl() Module Analysis
  44. FPGA Drive 7 Segment Display 07: Seg7_Ctrl() Module Coding
  45. FPGA Drive 7 Segment Display 08: Seg7_Ctrl() Module Simulation
  46. FPGA Drive 7 Segment Display 09: Seg7_Data() Module Analysis
  47. FPGA Drive 7 Segment Display 10: Seg7_Data() Module Coding
  48. FPGA Drive 7 Segment Display 11: Seg7_Data() Module Simulation
  49. FPGA Drive 7 Segment Display 12: Seg7_Top() Module Coding & Simulation
  50. FPGA Drive 7 Segment Display 13: Run On Board
  51. FPGA Drive IIC EEPROM 01: System Target
  52. FPGA Drive IIC EEPROM 02:System Analysis
  53. FPGA Drive IIC EEPROM 03:IIC Byte Write Protocol
  54. FPGA Drive IIC EEPROM 04:IIC Byte Write State Machine
  55. FPGA Drive IIC EEPROM 05:IIC Clock Coding
  56. FPGA Drive IIC EEPROM 06:IIC Clock Simulation
  57. FPGA Drive IIC EEPROM 07:IIC Byte Write Coding 01
  58. FPGA Drive IIC EEPROM 08:IIC Byte Write Coding 02
  59. FPGA Drive IIC EEPROM 09:IIC Byte Write Simulation 01
  60. FPGA Drive IIC EEPROM 10:IIC Byte Write Simulation 02
  61. FPGA Drive IIC EEPROM 11:IIC Byte Read Protocol
  62. FPGA Drive IIC EEPROM 12:IIC Byte Read State Machine
  63. FPGA Drive IIC EEPROM 13:IIC Byte Read Coding
  64. FPGA Drive IIC EEPROM 14:IIC Byte Read Simulation
  65. FPGA Drive IIC EEPROM 15:IIC User Module State Machine
  66. FPGA Drive IIC EEPROM 16:IIC User Module Coding
  67. FPGA Drive IIC EEPROM 17:IIC User Module Simulation
  68. FPGA Drive IIC EEPROM 18:IIC Top Module Coding
  69. FPGA Drive IIC EEPROM 19:Run On Board
  70. FPGA Drive TTP223 One Touch Sensor
  71. FPGA Drive Vibration Sensor
  72. FPGA Drive Light Sensor
  73. FPGA Drive RGB Breathing Light