
BLOG · 26/4/2026

Home Assistant is like a quiet, thoughtful conductor for your smart home: it sits in the background, quietly watching all your devices—lights, sensors, cameras, thermostats, locks and gently brings them together into one calm, coherent system. Instead of juggling a dozen different apps, you get a single, beautiful interface where everything lives in the same place, speaks the same language, and works like a team.
What makes it especially beautiful is that it’s built to be both powerful and humane: you can create automations that feel almost like intuition (lights dimming when the sun sets, rooms adjusting themselves when you enter), while still keeping your data private and your home under your own control. It doesn’t just make a smart home “cool”; it makes it feel alive, responsive, and deeply personal, like a home that quietly knows what you need before you ask.
I am happy to do this as a probabtion task. So, I got carried by my thoughts and went overboard and got on woth subsystems to make a complete one.
1. The security system with CV
The system is a simple but effective door‑access security setup built around an Arduino and a motor‑driven door or gate. The core idea is that access decisions are made externally (for example by a computer‑vision module, RFID reader, keypad, or PC backend), and the Arduino only acts as the physical enforcer: it opens the door when it receives an “APPROVED” command and leaves it closed when it receives “DENIED”.
The motor is controlled via an H‑bridge‑style interface connected to three pins: IN1 (18), IN2 (19), and ENA (21). IN1 and IN2 set the direction of the motor, while ENA uses PWM to control the speed (here set to MOTOR_SPEED = 200). To open the door, the motor runs forward by setting IN1 = HIGH, IN2 = LOW, and applying PWM on ENA; to close it, the Arduino reverses the direction (IN1 = LOW, IN2 = HIGH) for a short time and then stops the motor completely by setting both IN pins low and ENA to 0.
Serial communication is the system’s “brain–body” link: the Arduino continuously reads the serial buffer and collects characters until it sees a newline (\n), at which point it checks the command string. On APPROVED, it calls openDoor(), logs “OPENING”, and marks the door as open along with the timestamp. The door then remains open for a fixed period (OPEN_TIME = 5000 ms), after which the code automatically triggers closeDoor() to reverse the motor, run it briefly, and then call stopMotor() to bring the system to rest. On DENIED, the Arduino only prints “DENIED” and does nothing to the motor, so the door remains closed.
2. The ASR
This script turns your computer into a voice‑controlled hub for an ESP32 over a serial link. It listens for your speech using the system microphone, converts what you say into text with Google’s speech‑to‑text, and then sends that text as a command line (ending with \n) to the ESP32 through the serial port. The ESP32 can then act on that command—like moving a robot, opening a door, or switching lights—optionally sending a short reply back, which the script reads and prints out so you see the interaction like a small chat between your voice and the hardware.
This automation system controls four lights and one motor using a microcontroller (ESP32), where each light is treated as an independent on/off point and the motor is driven as a controllable load (for example, a fan, gate motor, or pump). The controller reads commands—either from buttons, serial, Wi‑Fi, or a voice‑based interface—and then maps those commands to specific outputs: some pins switch the four lights (each pin connected to a relay or transistor for AC/DC loads), while another set of pins (often an H‑bridge) drives the motor forward, backward, or stops it depending on the logic.
3. The chatter
This project is a single-user voice assistant system where, when main.py is run, it first waits for the user to press Enter, then activates the microphone and listens to the user’s speech, converts that spoken audio into text using speech recognition, processes the recognized text as a command or query, and finally generates and speaks back a reply through the speaker, creating a simple listen–understand–respond cycle between one person and the system rather than a two-person communication setup
For the code : click here
We build a surveillance robot using an ESP32-CAM and L298N motor driver. Implement live video streaming and enable remote control functionality over Wi-Fi. It started on one holiday all fo us sat together to do it Vishnu telling me and Lochan the connection s but it didn't work out. So we started slow. First we configured the esp32 cam module. How to send code to it without error, how to reset it at the correct moment. THen using the fhdt we uploaded the streaming code ofrst and it was streaming. Then we checked if the control code can be put into it wothout problem of the size of the file. And tht also turned out fine. Finally we took the motor controller. First uploaded the code then for the motor driver used VRPS and made a common ground on the breadboard to make it work.
This project turns an AI‑Thinker ESP32‑CAM into a WiFi‑based surveillance robot that we can control from a browser: the ESP32 connects to your local WiFi, starts a small HTTP server, and serves a simple web page that shows the camera’s live stream using an MJPEG‑style endpoint at /stream; the same page has four buttons (forward, backward, left, right, and stop) that send HTTP GET requests to /control?cmd=..., which the ESP32 parses to drive two DC motors via an H‑bridge on GPIOs 12–15, letting you move the robot around while watching the video in real time, all with no extra logic needed in loop() because the camera driver and HTTP server handle the streaming and control in the background.
For the code : click here
A major task of this period was the inventory cataloging work. Since the component inventory had not been properly tracked for a long time, and the shifting happened around the same time, it became really important to sort everything out and bring some arrangemebt and tidiness back into the cupboard. Going through the components, checking what was available, and recording them properly may not sound very exciting, but it was one of those necessary jobs that actually keep a lab running smoothly. It made me realize how much effort goes into the small, unseen things that everyone depends on later. And it took some effort, at first three of us were doing it suddenly Anish joined inaking it even. So Vishnu and Anish in one team and me with Lochan as the other team completed the task.
The link for the whole catalogue is - link(click here)
Keeping a daily diary is a good thimg it makes u feel lighter it helps u keep track. In this case the diary was good way to both escape relaity and get realoty checks. Plus the record keeping was easire. I used notion to keep the track and write the diary so it's accessible for everyone.
It's a little personal so I apologize a lot
It was a period that slowly turned into something much more meaningful than I had expected. What began as a set of duties and responsibilities soon became an experience that taught me what it really means to be part of a space like Marvel. Through the small tasks, the long hours, the tired moments, and the quiet satisfaction of helping where needed, I came to understand that probation was never just about work. It was about learning how to support others, how to stay committed, and how to become the kind of person who makes things easier for the people around them.
During this time, I got to see how much effort goes into keeping everything running smoothly. From helping with shifting, cleaning, arranging cupboards, issuing kits, and assisting students, to simply being present whenever work was needed, every small responsibility added to the bigger picture. What I valued most was the chance to work with different people and learn from them. Some days were hectic, some were tiring, and some were surprisingly satisfying, but each of them gave me something to take forward.
One thought that stayed with me throughout this period was: be the coordinator that you wanted to have when you were a student. That line feels especially real after going through this experience. It reminded me that good coordination is not just about managing tasks, but about being patient, supportive, and dependable for others. In many ways, this probation period gave me a better understanding of responsibility, teamwork, and the kind of environment I want to help create in the future.
Task 2 – CAN Network and SPI Communication with ESP32
To implement a three-node CAN bus communication system using ESP32 boards and to demonstrate direct SPI communication between two ESP32s, combining multi-node embedded networking with low-level peripheral communication in a single integrated task.
Objective:
Build a three-node CAN bus network using ESP32 boards to demonstrate structured message exchange and monitoring over a shared CAN bus.
Description:
Create a CAN bus system using three ESP32 development boards connected through MCP2515 CAN modules. One ESP32 node acts as the primary transmitter, sending structured messages such as command bytes, counters, or simulated sensor data. The other two ESP32 nodes operate as receivers, listening to the shared CAN bus and processing incoming frames based on their ID and payload. This part highlights multi-node bus communication, message arbitration, and reliable data transfer, simulating real-world automotive or industrial network scenarios.
Required Components:
Objective:
Implement high-speed SPI communication between two ESP32 boards, demonstrating synchronous master–slave data transfer.
Description:
Establish direct SPI communication between two ESP32 boards, where one ESP32 functions as the SPI master and the other as the SPI slave. The master sends data packets such as characters, counters, or control bytes, while the slave receives and processes them. This setup allows students to explore SPI signals (MOSI, MISO, SCK, CS) and understand clocked data exchange, providing a foundation for high-speed embedded peripheral communication.
Required Components:
CAN communication using 3 ESP32s
SPI communication using 2 ESP32s
Overall predicted total
Wishlisting and budgeting are important for a lab like Marvel because they turn all the random ideas and “cool project” demands into a clear, planned system. The wishlist helps everyone see what the lab actually wants to do in the future, instead of just chasing whatever feels exciting at the moment. The budget keeps that excitement under control by setting a clear limit on money, so decisions are based on what is really needed and sustainable, not impulse buying.