# 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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aic-eec.com/embedded-systems.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
