Skip to main content

Posts

Beyond Calculations: Why SciPy is the Ultimate Tool for Engineering Researchers

Introduction: In the world of engineering research and industrial automation, data is abundant, but meaningful insights are rare. Whether you are analyzing sensor data from a manufacturing line or modeling complex physical systems, standard spreadsheet tools often fall short. This is where SciPy comes in—a powerhouse Python library designed specifically for scientific and engineering computing. What makes SciPy Special? While NumPy provides the foundation for array manipulation, SciPy (Scientific Python) provides the "algorithms." It contains modules for optimization, linear algebra, integration, and signal processing. For a researcher, it means you don't have to reinvent the wheel for complex mathematical modeling. Key Applications in Research & Automation Signal Processing & Noise Reduction: In industrial automation, sensors often produce "noisy" data due to electrical interference. Using scipy.signal , researchers can apply advanced filters to clea...

Multi-Tasking on the ESP8266: A Beginner's Guide with FreeRTOS

Article By: Repon Sheikh,  LinkedIn Account The ESP8266 is a powerful and popular Wi-Fi enabled microcontroller, but its true potential is unlocked when you can run multiple processes simultaneously. This is where a Real-Time Operating System (RTOS) becomes invaluable. An RTOS allows a single processor to handle multiple tasks concurrently, which is crucial for applications that need to perform various functions like communication, sensor reading, and user interface updates without interruption. This article introduces a straightforward project that serves as a perfect entry point into the world of RTOS development on the ESP8266. Using the FreeRTOS SDK, a widely adopted open-source RTOS, this example demonstrates how to create and manage two independent tasks. The full source code for this project can be found on GitHub: ESP8266_Multi_Task_RTOS_Example . The Project Explained At its core, this project defines two distinct tasks: blink_task : This task is responsible for the class...

Troubleshooting an EEPROM Write Issue in a Microcontroller – A Real-World Debugging Experience

 Troubleshooting an EEPROM Write Issue in a Microcontroller—A Real-World Debugging Experience ๐Ÿ”ง Problem Statement While working on an embedded system at an R&D firm, I encountered a puzzling problem with EEPROM data writing. The EEPROM write operation was perfectly simulated, but when the compiled HEX file was uploaded to the actual microcontroller, the written data became unrecognizable. ๐Ÿงช Initial Assumptions At first, I assumed there might be a logical bug in my code. However, after carefully reviewing my EEPROM write functions and re-running simulations multiple times, everything appeared to be correct. ๐Ÿ›  Step-by-Step Debugging Process 1. Verification via Custom Tool To confirm whether the EEPROM was actually writing incorrect data, I built a simple tool that could: Read the EEPROM data from the microcontroller Convert and display the raw bytes into human-readable formats like integer and character Upon reading the EEPROM content using this tool, I conf...

ESP8266 + Python GUI: Serial RS232 Communication Tool

  Project Title: ESP8266_Serial_Python_GUI_RS232_v3 GitHub Repository: View on GitHub ๐Ÿ“˜ Overview This project demonstrates a PC-to-ESP8266 serial communication system using a custom-built Python GUI . The tool is developed for RS232-based command exchange, making it ideal for debugging and interacting with embedded systems like microcontrollers, development boards, and IoT devices. ๐ŸŽฏ Project Goals Establish two-way communication between PC and ESP8266 Create a simple Python GUI for sending and receiving serial data Log all serial commands with timestamps Automatically save communication logs in a text file Provide clickable link to the developer’s profile from the GUI ๐Ÿงฐ Tools & Technologies ESP8266 NodeMCU Python 3.x PySerial for COM port communication Tkinter for GUI design RS232 Protocol Windows platform for executable (.exe) build ๐ŸŒŸ Key Features ✅ GUI Interface with Command Input Box ✅ Auto Serial Port Detection ✅ View...

RFID + ESP8266 Based Web Interface System

  Project Title: RFID_ESP8266_Interface_by_ReponSheikh GitHub: View on GitHub ๐Ÿ“˜ Introduction In this project, I have built a simple yet powerful RFID-based system using the ESP8266 NodeMCU microcontroller. The system reads RFID cards using the MFRC522 module and sends the UID data to a web interface over Wi-Fi. It can be used in access control , attendance tracking , or any kind of RFID-based identification system. ๐Ÿงฐ Components Used ESP8266 NodeMCU (ESP-12E) MFRC522 RFID Reader RFID Tags or Cards (13.56 MHz) Jumper Wires USB Cable and Power Source ๐ŸŒ Features Web-based interface to view UID logs Automatic Wi-Fi configuration using WiFiManager LittleFS file system support to store configuration and logs Easy-to-understand code structure with comments Arduino IDE compatible ๐Ÿ”ง How It Works On boot, the ESP8266 tries to connect to the last used Wi-Fi. If it fails, it starts as an Access Point for WiFi setup. Once connect...

WiFi-based Temperature Monitoring System using ESP8266 and DHT11

๐Ÿ”ง Project Title: WiFi-based Temperature Monitoring System using ESP8266 and DHT11 ๐Ÿง  Objective: The goal of this project is to measure temperature and humidity using the DHT11 sensor and display the data in real-time over WiFi using the ESP8266 microcontroller. ๐Ÿ“ฆ Components Required: Serial Component Quantity 1 ESP8266 NodeMCU 1 2 DHT11 Temperature Sensor 1 3 Jumper Wires As Needed 4 Breadboard 1 ๐Ÿ”— Circuit Diagram: ๐Ÿ’ป Arduino Source Code: #include <ESP8266WiFi.h> #include <DHT.h> #define DHTPIN D4 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); const char* ssid = "YOUR_SSID"; const char* password = "YOUR_PASSWORD"; WiFiServer server(80); void setup() { Serial.begin(115200); dht.begin(); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting...")...

Arduino Programming Tutorial

In this tutorial, we'll cover the basics of Arduino programming, focusing on variable types , functions , function return types , and constant declarations . We will use simple examples to demonstrate how each concept works. 1. Variables in Arduino Variables are used to store data that your Arduino program can use. There are different types of variables based on the data they store. Common variable types: int : Stores integer values (whole numbers). float : Stores decimal numbers. char : Stores a single character. boolean : Stores true or false . String : Stores a sequence of characters (text). Example: int ledPin = 13 ; // Integer variable to store LED pin number float sensorValue = 0.0 ; // Float variable to store sensor value char myChar = 'A' ; // Char variable to store a character boolean isOn = true ; // Boolean variable to store true/false String myText = "Hello" ; // String variable to store a string 2. Constants Constants a...