> For the complete documentation index, see [llms.txt](https://docs.aic-eec.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aic-eec.com/embedded-systems.md).

# Embedded Systems Development

- [Introduction to ESD](https://docs.aic-eec.com/embedded-systems/introduction-to-esd.md): Introducing to embedded design
- [Why's ESD?](https://docs.aic-eec.com/embedded-systems/introduction-to-esd/whys-esd.md)
- [What it use for?](https://docs.aic-eec.com/embedded-systems/introduction-to-esd/what-it-use-for.md)
- [How it works?](https://docs.aic-eec.com/embedded-systems/introduction-to-esd/how-it-works.md)
- [Enbedded System Development via PSoC6](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6.md)
- [Basic MCU Interfacing](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing.md)
- [Introduction to CY8CKIT-062S2-43012 Pioneer Kit](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/introduction-to-cy8ckit-062s2-43012-pioneer-kit.md)
- [Development Environment Preparation](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/development-environment-preparation.md): for Infineon PSoC 62S2 Wi-Fi BT Pioneer Kit
- [PSoC™ 6S2 Peripherals Interfacing (GPIO)](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio.md)
- [Hello World and LED Blinking](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/hello-world-and-led-blinking.md)
- [GPIO Principles](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/gpio-principles.md)
- [PSoC™ 6S2 GPIO-HAL LED Blink Lab](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/psoc-tm-6s2-gpio-hal-led-blink-lab.md)
- [PSoC™ 6S2 GPIO-PDL LED Blink Lab](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/psoc-tm-6s2-gpio-pdl-led-blink-lab.md)
- [Button "Bounce" Principles](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/button-bounce-principles.md)
- [Push/Pull Button to Turn ON/OFF LED via HAL](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/button-bounce-principles/push-pull-button-to-turn-on-off-led-via-hal.md)
- [Push/Pull Button to Turn ON/OFF LED via PDL](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/button-bounce-principles/push-pull-button-to-turn-on-off-led-via-pdl.md)
- [GPIO Button Interrupt via HAL](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/button-bounce-principles/gpio-button-interrupt-via-hal.md)
- [GPIO Button Interrupt via PDL](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/button-bounce-principles/gpio-button-interrupt-via-pdl.md)
- [GPIO variables & functions](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-gpio/gpio-variables-and-functions.md)
- [PSoC™ 6S2 Peripherals Interfacing (ADC, PWM)](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm.md)
- [PSoC™ 6S2 SAR ADC](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-sar-adc.md)
- [ADC Principles](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-sar-adc/adc-principles.md)
- [PSoC™ 6S2 with ADC Labs](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-sar-adc/psoc-tm-6s2-with-adc-labs.md)
- [Reading potentiometer sensor value via an ADC HAL](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-sar-adc/psoc-tm-6s2-with-adc-labs/reading-potentiometer-sensor-value-via-an-adc-hal.md): Lab 107
- [Reading potentiometer sensor value via an ADC PDL](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-sar-adc/psoc-tm-6s2-with-adc-labs/reading-potentiometer-sensor-value-via-an-adc-pdl.md): Lab 108
- [PSoC™ 6S2 PWM & TCPWM](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-pwm-and-tcpwm.md): Timer-Counter-Pulse width modulation
- [PWM Principles](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-pwm-and-tcpwm/pwm-principles.md): Pulse width modulation
- [PSoC™ 6S2 for PMW Function Labs](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-pwm-and-tcpwm/psoc-tm-6s2-for-pmw-function-labs.md)
- [LED Brightness using PWM via HAL](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-pwm-and-tcpwm/psoc-tm-6s2-for-pmw-function-labs/led-brightness-using-pwm-via-hal.md): Lab 109
- [LED Brightness using PWM via PDL](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/basic-mcu-interfacing/psoc-tm-6s2-peripherals-interfacing-adc-pwm/psoc-tm-6s2-pwm-and-tcpwm/psoc-tm-6s2-for-pmw-function-labs/led-brightness-using-pwm-via-pdl.md): Lab 110
- [Sensor Interfacing and HMI](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi.md)
- [OLED Display](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/oled-display.md)
- [OLED Display Principles](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/oled-display/oled-display-principles.md): Introduction to OLED Display (SSD1306)
- [Calling BDH’s OLED functions](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/oled-display/calling-bdhs-oled-functions.md): Lab 111 -  CY8CKIT-028-SENSE Kit Lab
- [Display ADC via Potentiometer on OLED](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/oled-display/display-adc-via-potentiometer-on-oled.md): Lab 112
- [BDH Shell](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/bdh-shell.md): VT100-compatible Terminal over Serial for Embedded Systems
- [Shell Principles](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/bdh-shell/shell-principles.md)
- [LED Blinking and CAPSENSE via BDH Shell](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/bdh-shell/led-blinking-and-capsense-via-bdh-shell.md)
- [Adding "History" command](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/bdh-shell/adding-history-command.md): based on BDH Shell
- [Adding "Reboot" command](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/bdh-shell/adding-reboot-command.md): based on BDH Shell
- [CAPSENSE Button and Slider](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/bdh-shell/capsense-button-and-slider.md)
- [CAPSENSE Button and Slider with Capsense Tuner](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/bdh-shell/capsense-button-and-slider/capsense-button-and-slider-with-capsense-tuner.md)
- [CAPSENSE Button and Slider using FreeRTOS](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/sensor-interfacing-and-hmi/bdh-shell/capsense-button-and-slider/capsense-button-and-slider-using-freertos.md)
- [Serial Communication & Visualization](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/serial-communication-and-visualization.md)
- [UART, I2C, SPI Communication via Infineon PSoC™6](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/serial-communication-and-visualization/uart-i2c-spi-communication-via-infineon-psoc-tm-6.md): Communication Protocols UART/I2C/SPI
- [BMX160 Sensor Communication via Infineon PSoC™6](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/serial-communication-and-visualization/bmx160-sensor-communication-via-infineon-psoc-tm-6.md)
- [Reading ADC via HAL with Potentiometer and Displaying GUI on Serial Studio](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/serial-communication-and-visualization/bmx160-sensor-communication-via-infineon-psoc-tm-6/reading-adc-via-hal-with-potentiometer-and-displaying-gui-on-serial-studio.md)
- [Reading XENSIV-DPS-3XX Pressure Sensor and Displaying GUI on Serial Studio](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/serial-communication-and-visualization/bmx160-sensor-communication-via-infineon-psoc-tm-6/reading-xensiv-dps-3xx-pressure-sensor-and-displaying-gui-on-serial-studio.md)
- [Motion Sensors GUI Integration via Serial Studio](https://docs.aic-eec.com/embedded-systems/enbedded-system-development-via-psoc6/serial-communication-and-visualization/bmx160-sensor-communication-via-infineon-psoc-tm-6/motion-sensors-gui-integration-via-serial-studio.md)
- [Edge Computing and IoT Connectivity](https://docs.aic-eec.com/embedded-systems/edge-computing-and-iot-connectivity.md)
- [Cloud-Based Data Analytics and Digital Twin](https://docs.aic-eec.com/embedded-systems/cloud-based-data-analytics-and-digital-twin.md)
- [Edge Vision AI](https://docs.aic-eec.com/embedded-systems/edge-vision-ai.md)
- [Resources](https://docs.aic-eec.com/embedded-systems/resources.md)
- [Basic Hardware and Firmware](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware.md): สามารถใช้เป็นตัวอย่างสำหรับวิชา Applied Embedded System ได้
- [Environment Preparation](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/environment-preparation.md)
- [การติดตั้งโปรแกรม Arduino IDE](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/environment-preparation/arduino-ide.md): วิธีที่การติดตั้งโปรแกรม arduino IDE
- [ตัวอย่างการเริ่มต้นใช้งาน Arduino IDE](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/environment-preparation/arduino-ide/arduino-ide.md): วิธีเริ่มต้นใช้งานโปรแกรม Arduino IDE
- [การติดตั้งโปรแกรมสำหรับใช้งานเครื่องมือวัด NI MyDAQ](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/environment-preparation/ni-elvismx-ni-mydaq.md): วิธีติดตั้งโปรแกรม NI ELVISSmx สำหรับใช้งาน NI
- [ตัวอย่างการตั้งค่าใช้ Digital Multimeter -NI ELVISmx](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/environment-preparation/ni-elvismx-ni-mydaq/digital-multimeter-ni-elvismx.md): วิธีเริ่มต้นใช้งาน Apps NI ELVISmx สำหรับวัดค่าแรงดัน
- [ตัวอย่างการตั้งค่าใช้ Oscilloscope-NI ELVISmx](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/environment-preparation/ni-elvismx-ni-mydaq/oscilloscope-ni-elvismx.md)
- [ติดตั้งโปรแกรม KingstVIS](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/environment-preparation/kingstvis.md): การตั้งค่าการใช้งานโปรแกรม KingstVIS สำหรับทดสอบสัญญาณข้อมูลโดย logic analyzer
- [Basic measurement](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope.md): ศึกษาการวิเคราะห์วงจรอิเล็กทรอนิกส์เบื้องต้น ซึ่งเป็นพื้นฐานของการนำไปประยกต์ใช้กับการวิเคราะห์การทำงานของบอร์ดไมโครคอนโทรลเลอร์
- [Basic Digital and Analog I/O](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope/basic-digital-and-analog-i-o.md)
- [LAB: Basic Digital Input/Output](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope/basic-digital-and-analog-i-o/lab-basic-digital-input-output.md): การวัดค่าแรงดันของวงจรและเขียนโปรแกรมสำหรับรับและส่งข้อมูลดิจิตอลผ่านขา I/O ของ Embedded board
- [LAB: Basic Analog Input/Output](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope/basic-digital-and-analog-i-o/lab-basic-analog-input-output.md): การวัดค่าแรงดันของวงจรและเขียนโปรแกรมสำหรับรับและส่งข้อมูลAnalogผ่านขา I/O ของ Embedded board
- [Waveform](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope/waveform.md)
- [LAB: Oscilloscope](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope/waveform/lab-oscilloscope.md)
- [LAB: Oscilloscope and Function Generator](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope/waveform/lab-oscilloscope-and-function-generator.md)
- [LAB: Pulse Width Modulation (PWM)](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope/waveform/lab-pulse-width-modulation-pwm.md)
- [Homework](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/lab1-oscilloscope/waveform/lab-pulse-width-modulation-pwm/homework.md)
- [Interfacing and Communication](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/interfacing-and-communication.md): เพื่อศึกษารูปแบบการสื่อสารของ USART (UART, I2C,SPI)
- [LAB: UART, RS485, RS232 Protocol](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/interfacing-and-communication/lab-uart-rs485-rs232-protocol.md)
- [LAB: I2C Protocol](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/interfacing-and-communication/lab-i2c-protocol.md)
- [HOMEWORK](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/interfacing-and-communication/lab-i2c-protocol/homework.md)
- [LAB: SPI Protocol](https://docs.aic-eec.com/embedded-systems/resources/basic-hardware-and-firmware/interfacing-and-communication/lab-spi-protocol.md)
- [IoT Connectivity](https://docs.aic-eec.com/embedded-systems/resources/iot-connectivity.md)
- [Example: IoT with MQTT on Node-red](https://docs.aic-eec.com/embedded-systems/resources/iot-connectivity/example-iot-with-mqtt-on-node-red.md)
- [Data logger](https://docs.aic-eec.com/embedded-systems/resources/iot-connectivity/data-logger.md)
- [LAB: Data Visualization](https://docs.aic-eec.com/embedded-systems/resources/iot-connectivity/lab-data-visualization.md)
