Skip to content

Latest commit

 

History

History
63 lines (54 loc) · 3.04 KB

File metadata and controls

63 lines (54 loc) · 3.04 KB

ESP32 FreeRTOS - Bluetooth Access Control & Alarm

Description:

DISCLAIMER: Developed for the class Embedded Computational Systems. The objective of this project was to create a Real-Time system using an ESP32 or an Arduino Mega with FreeRTOS. I ended up using the board ESP32 WeMos LOLIN32 Lite which I already had, and it became easier to work from home.

With the code I provide, you won't be able to single-handedly replicate the project, but it is a great help for similar projects.

Project Specifications

The project had some objectives to fulfill, which can be divided in ESP32 and FreeRTOS functionalities.

ESP32 Framework:

Modules that must be included in the project:

  • EUSART

  • I/O ports

  • External interrupt(s)

  • ADC/DAC (ex: Cap touch)

  • PWM

  • I2C/SPI

Modules that cannot be included in the project:

  • Timers

  • Delays

  • Anything else that blocks the processor

FreeRTOS:

Include at least 5 of the following modules in the project:
  • Tasks

  • Idle Task Hook

  • Task Priority Change

  • Task Deletion

  • Message Queues

  • Interrupts Management

  • Semaphores:

    • Binary Semaphores

    • Counting Semaphores

  • Resource Management

  • Critical Sections

  • Mutexes

Project images

These were the images used in the project's report.

System diagram

Generic flow diagram

FreeRTOS flow diagram

FreeRTOS flow diagram

FreeRTOS core time diagram

Time slot diagram