Skip to main content

This course covers basic embedded skills that are necessary for working with embedded systems. In this course, programming the Arduino and ESP-32 microcontrollers using C programming will be covered. The Arduino microcontroller is one of the most common microcontroller platforms currently in use. The ESP-32 microcontroller has built-in Wi-Fi and Bluetooth, allowing seamless wireless connectivity, and is also widely used in the industry for the latest embedded solution. The knowledge gained from this course will be used in the intermediate and advanced courses.

Learning Outcome

  • Usage of common embedded development tools
  • Write embedded system software in C programming language
  • Read analog voltage using ADC
  • Generate PWM pulses using analog output
  • Perform timing activities such as delay and reading current system tick
  • Handle external interrupts
  • Read/Write EEPROM non-volatile memory
  • Perform serial communications with external devices
  • Send/Receive data via TCP/IP communications on ESP-32
  • Send/Receive data via Bluetooth communications on ESP-32

Methodology

This course will be conducted in a workshop fashion, whereby the basic theory and concepts will be presented, followed by hands-on practice and exercises.

Pre-requisite

Participants would preferably have attended the Embedded Skills (Fundamental Level) course.

Duration

4 Days

Target Group (who should attend)

Fresh graduates, and working industrial workforce involved in factory manufacturing production, such as process, quality, mechanical, computer science and other related fields.

  • Day 1

    • Embedded Development Tools (Instrument and Software)
    • Essential C Programming for Embedded

    Day 2

    • Analog Input Interface Programming (ADC) for Analog Input Devices
    • Analog Output (PWM) Interface Programming for Output Level Adjustment Control
    • Timing
    • External Interrupts
    • EEPROM memory access for Non-Volatile Applications
    • Serial Interface Programming for I/O Devices (RS-232, I2C and SPI)
    • Real-Time Clock (RTC) Interfacing
    • Serial Communications for Device to Device (RS-232, I2C and SPI)

    Day 3

    • ESP-32 Architecture and Simulator
    • TCP/IP Communications for Wired and Wireless Communications
    • Bluetooth Communications

    Day 4

    • Mini Project #2