The PSoC™ 6 AI Evaluation Kit (CY8CKIT-062S2-AI) is Infineon’s flagship development board for AI at the edge. It combines a dual-core ARM Cortex-M4/M0+ MCU, integrated Wi-Fi/Bluetooth, and sensor expansion options. With recent support for the Arduino IDE, developers can now use familiar Arduino libraries to quickly prototype projects without diving into complex toolchains
You must check out PCBWAY for ordering PCBs online for cheap!
You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto PCBWAY to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop. Also, check out this useful blog on PCBWay Plugin for KiCad from here. Using this plugin, you can directly order PCBs in just one click after completing your design in KiCad.
🛠️ Setting Up Arduino IDE for PSoC 6:- Install Arduino IDE (latest version recommended). (Please use the Arduino IDE 2)
- Add Infineon’s Arduino Core for PSoC 6 via Boards Manager:
URL: https://github.com/Infineon/arduino-core-psoc6/releases/latest/download/package_psoc6_index.json- Open the Boards Manager and select PSOC from the board list.
- Now connect the PSOC 6 AI kit into pc, then select the boards list.
- Then select the correct COM port.
- Now let's upload the simple blink sketch
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // LED ON
delay(1000);
digitalWrite(LED_BUILTIN, LOW); // LED OFF
delay(1000);
}Onboard Digital Pressure Sensor Example:PSOC6 AI Dev Kit contains an onboard Digital Pressure Sensor, now we can use the Arduino IDE to read back the data. First let's download the necessary libraries.
Open the library manager and search for XENSIV™ Digital Pressure.
And then download the library.
Now open the examples and look for the XENSIV Digital Pressure and select the I2C Command sketch.
Upload the sketch to the board and look for the serial terminal response.
Now let's control the LED via the web server. Navigate to the examples under WiFi, you can see the simple web server code.
Then replace the WiFi name and the password in the code.
Let's upload the code to the PSOC6 AI kit and look for the serial terminal response.
Open the Ip address and look for the response.
Here is the updated code with web GUI led control and sensor data.
/*
WiFi Web Server LED Blink + Minimal Dark Green Theme + WiFi Info + DPS3xx Sensor Data + Background Animation
Features:
- LED control (ON/OFF)
- WiFi SSID, IP, RSSI
- DPS3xx sensor data (temperature & pressure)
- Auto-refresh every 3 seconds
- Animated background (gradient or matrix-style rain)
*/
#include <WiFi.h>
#include <Wire.h>
#include <Dps3xx.h>
char ssid[] = "Sellamuthu";
char pass[] = "36180402";
WiFiServer server; // no arguments
Dps3xx Dps3xxPressureSensor;
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
// Connect WiFi
while (WiFi.begin(ssid, pass) != WL_CONNECTED) {
Serial.println("Connecting...");
delay(2000);
}
Serial.println("WiFi connected!");
// Start server on port 80
server.begin(80);
Serial.println("Web server started");
// Init sensor
Dps3xxPressureSensor.begin(Wire);
Serial.println("DPS3xx sensor initialized!");
}
void loop() {
WiFiClient client = server.available();
if (!client) return;
String req = client.readStringUntil('\r');
client.flush();
// --- LED Control ---
if (req.indexOf("GET /H") >= 0) {
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("LED ON");
}
if (req.indexOf("GET /L") >= 0) {
digitalWrite(LED_BUILTIN, LOW);
Serial.println("LED OFF");
}
// --- Sensor Read ---
float temperature, pressure;
uint8_t oversampling = 7;
Dps3xxPressureSensor.measureTempOnce(temperature, oversampling);
Dps3xxPressureSensor.measurePressureOnce(pressure, oversampling);
// --- Serve main HTML page ---
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println();
client.println("<!DOCTYPE html><html><head><meta charset='UTF-8'>");
client.println("<meta http-equiv='refresh' content='3'>"); // auto-refresh every 3s
client.println("<title>PSoC6 AI Dashboard</title>");
client.println("<style>");
// Moving gradient background
client.println("body { font-family: Consolas, monospace; margin:0; text-align:center; color:#00ff00;");
client.println("background: linear-gradient(-45deg, #0d0d0d, #003300, #0d0d0d, #001a00);");
client.println("background-size: 400% 400%; animation: gradientMove 15s ease infinite; }");
client.println("@keyframes gradientMove { 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }");
// Card + button styling
client.println(".card { background:#1a1a1a; padding:20px; margin:20px auto; border-radius:8px; width:80%; max-width:500px; box-shadow:0 0 20px #00ff00; animation: glow 3s infinite alternate; }");
client.println("a.button { display:inline-block; margin:10px; padding:12px 24px; font-size:16px; color:#0d0d0d; background:#00ff00; text-decoration:none; border-radius:5px; transition: transform 0.3s; animation: pulse 2s infinite; }");
client.println("a.button:hover { background:#33ff33; transform: scale(1.1); }");
client.println("@keyframes pulse { 0% {transform: scale(1);} 50% {transform: scale(1.05);} 100% {transform: scale(1);} }");
client.println("@keyframes glow { from {box-shadow:0 0 10px #00ff00;} to {box-shadow:0 0 25px #00ff00;} }");
client.println("</style></head><body>");
client.println("<h1>PSoC6 AI Kit Dashboard</h1>");
// LED Control
client.println("<div class='card'><h2>LED Control</h2>");
client.println("<a href=\"/H\" class='button'>Turn LED ON</a>");
client.println("<a href=\"/L\" class='button'>Turn LED OFF</a>");
client.println("</div>");
// WiFi Info
client.println("<div class='card'><h2>WiFi Details</h2>");
client.print("<p>SSID: "); client.print(WiFi.SSID()); client.println("</p>");
client.print("<p>IP: "); client.print(WiFi.localIP()); client.println("</p>");
client.print("<p>RSSI: "); client.print(WiFi.RSSI()); client.println(" dBm</p>");
client.println("</div>");
// Sensor Data
client.println("<div class='card'><h2>Sensor Data (DPS3xx)</h2>");
client.print("<p>Temperature: "); client.print(temperature); client.println(" °C</p>");
client.print("<p>Pressure: "); client.print(pressure); client.println(" Pa</p>");
client.println("</div>");
client.println("<footer>Auto-refresh every 3 seconds</footer>");
client.println("</body></html>");
}📝 ConclusionThe PSoC™ 6 AI Kit with Arduino IDE makes advanced hardware approachable for makers and educators. Starting from a simple LED blink to reading real sensor data like temperature and pressure, it shows how quickly you can move from basic experiments to meaningful IoT applications. With built‑in connectivity and support for familiar Arduino libraries, this platform bridges professional‑grade performance with beginner‑friendly simplicity — a perfect launchpad for your next AI or IoT project.


Comments