<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: A C</title>
    <description>The latest articles on DEV Community by A C (@albi98).</description>
    <link>https://dev.to/albi98</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3382209%2F2e3ab91b-6cf6-44d8-b552-e08c16807345.jpg</url>
      <title>DEV Community: A C</title>
      <link>https://dev.to/albi98</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/albi98"/>
    <language>en</language>
    <item>
      <title>DIY Telegram-Controlled ESP32 Security Cam</title>
      <dc:creator>A C</dc:creator>
      <pubDate>Thu, 24 Jul 2025 10:26:18 +0000</pubDate>
      <link>https://dev.to/albi98/diy-telegram-controlled-esp32-security-cam-2mac</link>
      <guid>https://dev.to/albi98/diy-telegram-controlled-esp32-security-cam-2mac</guid>
      <description>&lt;h2&gt;
  
  
  🛡️ Smart Home Security with ESP32‑CAM &amp;amp; Telegram Bot
&lt;/h2&gt;

&lt;p&gt;A DIY surveillance project that uses an &lt;strong&gt;ESP32‑CAM&lt;/strong&gt;, a &lt;strong&gt;PIR motion sensor&lt;/strong&gt;, and a &lt;strong&gt;Telegram bot&lt;/strong&gt; to create a smart, phone-controlled home security system.&lt;br&gt;
Inspired by ESP32‑CAM and Telegram bot integrations across the Arduino and maker community.&lt;/p&gt;


&lt;h2&gt;
  
  
  🧩 Overview
&lt;/h2&gt;

&lt;p&gt;This project transforms an ESP32‑CAM into a fully functional mini security system—no keypads, no app infractions, no hassle. Users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📸 Receive instant photos via Telegram when motion is detected.&lt;/li&gt;
&lt;li&gt;🫵 Request live snapshots on demand.&lt;/li&gt;
&lt;li&gt;💡 Control the onboard LED or toggle the PIR sensor.&lt;/li&gt;
&lt;li&gt;🔐 Arm or disarm the motion detection remotely.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All managed through easy-to-remember Telegram bot commands. The core functionality is implemented using &lt;strong&gt;UniversalTelegramBot&lt;/strong&gt;, &lt;strong&gt;esp_camera&lt;/strong&gt;, and standard Arduino wiring.&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/albino98/telegram_esp32" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://www.hackster.io/albyciancio/security-camera-with-esp32-cam-pir-and-telegram-bot-57ba42" rel="noopener noreferrer"&gt;Hackster Project&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🔧 Hardware Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ESP32‑CAM (AI‑Thinker)&lt;/strong&gt; with OV2640 camera module
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HC‑SR501 PIR motion sensor&lt;/strong&gt;, powered at 3.3 V
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;USB‑to‑TTL serial adapter (e.g., PL2303)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Jumper cables, breadboard, and power source&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🧠 Wiring &amp;amp; Setup
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsu9w4b0hzt4fcnagddu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsu9w4b0hzt4fcnagddu7.png" alt="ESP32-CAM" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Connection between the Esp32Cam and the USB to serial cable
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ESP32-CAM&lt;/th&gt;
&lt;th&gt;USB-to-Serial Cable&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;5V&lt;/td&gt;
&lt;td&gt;Red Cable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPIO3&lt;/td&gt;
&lt;td&gt;Green Cable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPIO1&lt;/td&gt;
&lt;td&gt;White Cable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;td&gt;Black Cable&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;⚠️ Connect GPIO 0 and GND ports with DuPont cable as following to load the code.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ESP32-CAM&lt;/th&gt;
&lt;th&gt;ESP32-CAM&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;td&gt;GPIO0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;⚠️ Remember to disconnect the GPIO 0 and GND ports after loading the code and press the reset button on the Esp to execute the code.&lt;/p&gt;
&lt;h4&gt;
  
  
  Connection between Esp32Cam and PIR.
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhu92uftlfhl30ovg9xpo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhu92uftlfhl30ovg9xpo.png" alt="PIR" width="395" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ESP32-CAM&lt;/th&gt;
&lt;th&gt;HC-SR501 Human Infrared Sensor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;3.3V&lt;/td&gt;
&lt;td&gt;VCC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPIO 13&lt;/td&gt;
&lt;td&gt;DATA&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;⚠️ If ESP32 CAM takes pictures frequently or never take a picture, adjust the rotary buttons on the HC-SR501 Human Infrared Sensor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6zmezvhya46zeg841bak.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6zmezvhya46zeg841bak.jpg" alt="Connections" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🤖 Telegram Bot Commands
&lt;/h2&gt;

&lt;p&gt;Interact with the ESP via Telegram commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/start → Get help menu
/take_photo → Request instant snapshot
/security_on → Arm motion detection
/security_off → Disarm motion detection
/led_on → Turn onboard LED ON
/led_off → Turn onboard LED OFF
/state → Check current LED &amp;amp; armed state
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Only messages from the authorized &lt;code&gt;CHAT_ID&lt;/code&gt; (set in code) are processed. Others are politely ignored.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzul8iozh34e5tjgx1v8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzul8iozh34e5tjgx1v8.jpg" alt="bot" width="661" height="1280"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 Code Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Camera &amp;amp; Wi-Fi&lt;/strong&gt; initialized via &lt;code&gt;esp_camera_init()&lt;/code&gt; and &lt;code&gt;WiFi.begin()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Motion loop&lt;/strong&gt;: If armed and motion is detected → take photo → send via Telegram
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telegram handler&lt;/strong&gt;: Parses messages using &lt;code&gt;UniversalTelegramBot&lt;/code&gt;, performs requested action
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure communication&lt;/strong&gt; with Telegram via &lt;code&gt;WiFiClientSecure&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Ready to Get Started?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Clone the repo and install these libraries:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;UniversalTelegramBot&lt;/code&gt;, &lt;code&gt;ArduinoJson&lt;/code&gt;, &lt;code&gt;esp_camera&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Update the sketch:

&lt;ul&gt;
&lt;li&gt;Set your WiFi SSID, password, Telegram BOT token, and your personal CHAT_ID&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Upload via Arduino IDE with GPIO0 bridged to GND&lt;/li&gt;
&lt;li&gt;Reboot and interact via Telegram!&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🤔 Possible Improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💾 Store photos on microSD
&lt;/li&gt;
&lt;li&gt;📡 Add time-based auto arming
&lt;/li&gt;
&lt;li&gt;🧠 Use face recognition for better filtering
&lt;/li&gt;
&lt;li&gt;🔔 Add multi-platform alerting&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📝 Project links
&lt;/h2&gt;

&lt;p&gt;If you find it useful, give it a ⭐ on GitHub! Link to repository: &lt;a href="https://github.com/albino98/telegram_esp32" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.hackster.io/albyciancio/security-camera-with-esp32-cam-pir-and-telegram-bot-57ba42" rel="noopener noreferrer"&gt;Hackster.io project page&lt;/a&gt;&lt;/p&gt;




</description>
      <category>arduino</category>
      <category>telegram</category>
      <category>cpp</category>
      <category>esp32</category>
    </item>
    <item>
      <title>A Simple, Customizable and Responsive Portfolio Website for Everyone</title>
      <dc:creator>A C</dc:creator>
      <pubDate>Wed, 23 Jul 2025 14:36:59 +0000</pubDate>
      <link>https://dev.to/albi98/a-simple-customizable-and-responsive-portfolio-website-for-everyone-1li6</link>
      <guid>https://dev.to/albi98/a-simple-customizable-and-responsive-portfolio-website-for-everyone-1li6</guid>
      <description>&lt;h2&gt;
  
  
  📝 Introduction - Why This Template
&lt;/h2&gt;

&lt;p&gt;Link to repository: &lt;a href="https://github.com/albino98/portfolio-website" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This responsive portfolio template (built with HTML, CSS, and particles.js) is designed to be easy to use, highly customizable, and ready to showcase your personal brand.&lt;/p&gt;

&lt;p&gt;It’s perfect for both developers and non-developers who want to publish a clean, professional portfolio without dealing with frameworks or complex build setups.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Key Benefits to Highlight
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.Simplicity &amp;amp; Ease of Use&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Just download template_portfolio.html, edit your name, bio, and links — and you’re good to go.&lt;/p&gt;

&lt;p&gt;No frameworks or build tools required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Responsive &amp;amp; Modern Design&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fully responsive layout for desktop and mobile.&lt;/p&gt;

&lt;p&gt;Comes with both light and dark mode already set up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Dynamic Background with particles.js&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Clean and subtle animated background using particles.js, giving your site a modern look without being distracting.&lt;/p&gt;

&lt;p&gt;Link to &lt;a href="https://github.com/VincentGarreau/particles.js" rel="noopener noreferrer"&gt;particles.js&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.Highly Customizable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Easily change fonts, colors, and layout.&lt;/p&gt;

&lt;p&gt;Add or remove sections like Projects, Skills, About Me, and Contact.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧩 “How to Use” – Quick Start Guide
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Clone or download the repo: &lt;code&gt;git clone https://github.com/albino98/portfolio-website.git&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Open &lt;code&gt;template_portfolio.html&lt;/code&gt; in your editor&lt;/li&gt;
&lt;li&gt;Replace the placeholder text (name, bio, links) with your content&lt;/li&gt;
&lt;li&gt;(Optional) Tweak the CSS for fonts, colors, or layout&lt;/li&gt;
&lt;li&gt;Customize sections like projects, skills, and contact&lt;/li&gt;
&lt;li&gt;Deploy anywhere — GitHub Pages, Netlify, Vercel, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🖼️ Screenshots
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faw0045h8gc8anmolx99j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faw0045h8gc8anmolx99j.png" alt="Dark theme" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm82bj190362xkfojvcbr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm82bj190362xkfojvcbr.png" alt="Light theme" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzbk27ughh0s09m27v0p8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzbk27ughh0s09m27v0p8.png" alt="Footer" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find it useful, give it a ⭐ on GitHub! Link to repository: &lt;a href="https://github.com/albino98/portfolio-website" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to fork it or open issues for feedback and suggestions.&lt;/p&gt;

</description>
      <category>website</category>
      <category>portfolio</category>
      <category>html</category>
      <category>css</category>
    </item>
  </channel>
</rss>
