
COURSEWORK
| Adarsh | AUTHOR | ACTIVE |

26 / 2 / 2026
A 3D printer creates physical objects from a digital model by adding material layer by layer, a process called additive manufacturing. Unlike traditional methods, it builds objects from the ground up using materials like plastics, resins, or metals. Users prepare a 3D model (usually an STL file), slice it in software, and the printer follows instructions to create the object.
PLA (Polylactic Acid) is a popular filament because it is easy to use and environmentally friendly. Key settings include:
Proper settings ensure smooth prints with minimal errors.
This task helped me understand how 3D printers work, the importance of PLA settings and slicing, and the main types of 3D printing. It gave me practical knowledge of turning digital models into physical objects and how this technology is used in real-world applications.
An API (Application Programming Interface) allows two applications to communicate with each other.
It works using a request and response system, where a client sends a request and the server returns data, usually in JSON format.
In this project, I used the Random Cat Facts API to fetch live data.
When the user clicks a button, a request is sent using JavaScript’s fetch() method.
The API returns a random fact, which is then displayed dynamically on the webpage.
This project helped me understand how APIs work and how to integrate them into web applications.
web link
In this task, I explored how GitHub functions, particularly the concepts of forking and pull requests. Forking allows a user to create their own copy of an existing repository under their GitHub account. This personal copy can be modified freely without affecting the original project.
I also learned about pull requests (PRs), which are used to suggest changes to the original repository. After making updates in the forked repository, a pull request can be submitted so that the repository owner can review the proposed changes and decide whether to merge them into the main branch.

In this task, I performed fundamental Linux command-line operations in Ubuntu to strengthen my understanding of terminal-based file system management. The exercise focused on directory navigation, file creation, bulk folder generation, and file content manipulation using standard shell commands.
Created a directory named test using the mkdir command and navigated into it using cd test.
Generated an empty file without using a text editor by executing the touch filename.txt command.
Verified the directory contents using the ls command.
Created 2600 subdirectories programmatically using a loop structure in the terminal (for example, a for loop combined with mkdir).
Used the cat command to concatenate two text files and displayed the combined output directly in the terminal.

I created a personal portfolio webpage using HTML, CSS, and JavaScript to showcase my skills and projects. The website includes sections such as About Me, Projects, and Contact, designed with a clean and structured layout. This project helped me understand the fundamentals of webpage structure, styling, and adding basic interactivity in web development. portpolio
Writing a resource article using Markdown helps in creating well-structured and readable technical documentation. Markdown allows easy formatting using simple symbols for headings, lists, tables, and code blocks. It is widely used on platforms like GitHub for maintaining clean and professional project documentation. This task improved my documentation and content structuring skills. Article
The objective of this task was to learn how to design and simulate electronic and Arduino-based circuits using Tinkercad.
Tinkercad provides a simple and effective platform to build and test microcontroller-based circuits virtually before implementing them physically. This makes experimentation with different components easier and reduces errors during actual assembly.
As part of the task, I explored and analyzed the sample circuits available in Tinkercad to understand their working principles. I also designed and simulated a basic circuit using an ultrasonic sensor to measure the distance between the sensor and an object, verifying the output through simulation.

The objective of this task was to understand the basic techniques used to control the speed of a DC motor using an Arduino and the L298N motor driver.
Learned the working principle of DC motors and H-Bridge motor drivers.
Studied how the L298N motor driver controls motor direction and speed.
Used an Arduino UNO and L298N motor driver to control a 5V BO motor.
Implemented speed control using PWM (Pulse Width Modulation) signals from the Arduino.
First simulated the complete circuit in Tinkercad to verify connections and functionality.
Successfully implemented the circuit on hardware after simulation.
Tested different speed levels and observed motor performance.
Recorded video documentation of both simulation and hardware implementation.
This task helped in gaining practical knowledge of motor control, PWM concepts, and interfacing external driver modules with microcontrollers.

The objective of this task was to understand the working of the ESP32 microcontroller and develop a standalone web server to control an LED connected to its GPIO pins.
In this task, the Arduino IDE was configured to support the ESP32 board by installing the necessary board package and selecting the correct COM port and board settings. A program was written and uploaded to the ESP32 to host a simple web server over Wi-Fi.
The ESP32 was programmed to generate a web page with buttons that allow the user to turn the LED ON and OFF remotely through a browser. The LED was connected to one of the GPIO pins, and its state was controlled based on HTTP requests received by the web server.
Through this task, I gained practical experience in:
Configuring Arduino IDE for ESP32
Setting up Wi-Fi connectivity
Creating a basic web server
Controlling hardware components using GPIO pins
Understanding IoT-based device control
This task helped in building foundational knowledge of ESP32-based IoT applications and remote device control systems.

The objective of this task was to understand the basics of soldering and become familiar with the soldering equipment available in the lab under the supervision of a coordinator.
During this task, I learned about various soldering tools and materials, including:
Soldering iron and its temperature control
Solder wire and its composition
Flux and its role in improving solder flow
Soldering wick for removing excess solder
Under the guidance of the coordinator, basic soldering techniques were practiced, such as properly heating the joint, applying the correct amount of solder, and ensuring strong electrical connections. A simple LED circuit was assembled and soldered onto a perf board to understand component placement and joint quality.
This task helped in developing practical skills in handling soldering equipment safely and creating reliable circuit connections, which are essential for hardware prototyping and electronics projects.

The aim of this task is to design a simple burglar alarm system using logic gates. The system analyzes the conditions of:
Door (Open / Closed)
Key (Pressed / Not Pressed)
Using Karnaugh Maps (K-Maps), we simplify the Boolean expression and design the logic circuit so that a buzzer or LED blinks when unauthorized access is detected.
D = Door
K = Key
| Door (D) | Key (K) | Alarm (A) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
| D \ K | 0 | 1 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 0 |
A = D · K'
Logic:
The alarm turns ON only when the door is open (D = 1) and the key is not pressed (K = 0).
The alarm system was designed using Karnaugh Maps to simplify the logic. The simplified Boolean expression A = D · K' ensures that the alarm activates only when the door is open and the key is not pressed, making the system efficient and reliable.
I participated in the coding hackathon CodeStorm. It was a great experience where I worked on programming challenges, improved my problem-solving and coding skills, and learned how to develop projects practically under time constraints.

During this task, I explored VR and AR technologies and learned how they differ and how they are applied in real-world scenarios. I researched the tools, trends, and Indian companies working in this field, which helped me understand the practical aspects of immersive technologies and their potential uses.
In this task, I worked on Sad Servers, which is a platform to test and improve Linux troubleshooting skills. The scenario, The Command Line Murders, required identifying and solving problems step by step to make the servers happy again. I really enjoyed solving the problem of the murderer, as it challenged my Linux command line knowledge and helped me think logically to fix the issues efficiently. This task was both fun and a great learning experience.

In this task, I developed a web application using Express.js to manage user resources.
The application allows users to enter their details such as ID, username, email, and password.
The submitted data is stored in a SQL (MySQL) database and all registered users are displayed dynamically on the webpage.
This project helped me understand routing, form handling, and database connectivity using Express and SQL.
It also improved my knowledge of backend development and user data management.
Github-link