cover photo

COURSEWORK

Vishnu's IOT-001 course work. Lv 1

Vishnu SAUTHORACTIVE
work cover photo
This Report is yet to be approved by a Coordinator.

15 / 3 / 2026


IOT-001: Tasks 1 to 16 Report

Name: Vishnu S
Course: IOT-001 (MARVEL)


TASK 2: API Development / Using an API

Objective

To understand what an API is and learn how applications fetch real-world data from online services.

Methodology

  • I learned the basics of APIs and how request-response works.
  • I explored JSON format and how data is structured in API responses.
  • I tested a simple API and understood how to extract required fields from the output.

Task2

Link of webpage

Learnings

  • I understood how APIs connect applications to external services.
  • I learned how JSON is used for exchanging data.
  • I gained a basic understanding of real-time data integration in applications.

TASK 3: Working with GitHub

Objective

To understand GitHub collaboration features like GitHub Actions, Issues, and Pull Requests, and to fix the failing main branch in the given repository.

Methodology

  • I opened the given repository and read the README instructions.
  • I explored the Actions tab to understand why the checks were failing.
  • I forked the repository to my GitHub account and cloned it locally.
  • I created a separate branch and worked on the fix instead of modifying main.
  • After verifying the fix, I pushed changes and opened a Pull Request.

gitimg

Learnings

  • I learned how GitHub Actions automatically runs checks on every push and pull request.
  • I understood how Pull Requests are used to propose and review changes.
  • I learned why using branches is important in real-world development.

Repository Link

Click here to access the changes I've done


TASK 4: Ubuntu Command Line Basics

Objective

To become comfortable using the Ubuntu terminal for basic file operations and automation.

Methodology

  • I created a folder named test and navigated into it using terminal commands.
  • I created a blank file without using a text editor.
  • I listed files to confirm the changes. Task4_1
  • I generated 2600 folders automatically using a loop. Task4_2
  • I created two text files and concatenated them using the cat command. Task4_3

Learnings

  • I learned basic commands like mkdir, cd, touch, ls, and cat.
  • I understood how loops can automate large repetitive tasks.
  • I gained confidence in using Ubuntu terminal for practical work.

TASK 5: Linear Regression from Scratch

Objective

To understand how linear regression works internally by implementing it without directly relying on high-level libraries.

Methodology

  • I studied the mathematical formula for linear regression.
  • I explored how gradient descent updates weights to reduce error.
  • I implemented a basic version and checked results using sample data.

Learnings

  • I understood how regression predicts outputs based on a best-fit line.
  • I learned how gradient descent improves the model step by step.
  • I gained clarity on how ML algorithms work behind the scenes.
  • I built a linear regression on California Housing dataset. Here is the link for Linear regression model

TASK 7: Create a Portfolio Website

Objective

To build a basic portfolio webpage to present personal details and projects.

Methodology

  • I created a webpage using HTML structure and sections.
  • I used CSS for styling and layout.
  • I added details like introduction, skills, projects, and links.

Learnings

  • I learned how to structure a webpage using HTML.
  • I understood how CSS controls design and responsiveness.
  • I gained experience in building a real personal portfolio.

Portfolio Link

You can access my webpage here


TASK 8: Writing a Resource Article in Markdown

Objective

To learn Markdown formatting and write a technical article in a clean, readable way.

Methodology

  • I selected a topic and wrote the content in Markdown.
  • I used headings, lists, code blocks, and links properly.
  • I previewed the file and corrected formatting issues.

Learnings

  • I learned proper Markdown syntax for technical documentation.
  • I understood how Markdown is useful for clean report writing.
  • I improved my ability to explain technical topics in writing.

Link to the file


TASK 9: TINKERCAD (Ultrasonic + Radar)

Objective

To explore Tinkercad Circuits, simulate ultrasonic distance measurement, and build a radar-style scanning system using a servo motor.

Methodology

  • I created a new circuit in Tinkercad and explored the simulation interface.
  • I connected the HC-SR04 sensor and displayed distance on Serial Monitor.
  • I then added a servo motor to rotate the sensor across angles.
  • I observed distance readings at different angles, similar to radar scanning.

Learnings

  • I understood how ultrasonic sensors measure distance using echo time.
  • I learned how servo motors provide angle control.
  • I understood how radar-style scanning works using angle + distance readings.

Link to the Tinkercad simulation

Circuit Screenshot

Tinkercad Circuit


TASK 10: Speed Control of DC Motor

Objective

To understand how a DC motor can be controlled using PWM and a motor driver.

Methodology

  • I learned how motor drivers (like L298N) help control direction and speed.
  • I studied PWM and how it affects motor speed.
  • I simulated/implemented the motor control circuit using Arduino.

task10

Reference Video

Learnings

  • I understood how PWM is used for speed control.
  • I learned how H-bridge drivers control motor direction.
  • I gained practical understanding of motor driver connections.

TASK 11: LED Toggle Using ESP32

Objective

To control an LED remotely using ESP32 and Wi-Fi.

Methodology

  • I set up ESP32 in Arduino IDE.
  • I wrote a basic web server program to control a GPIO pin.
  • I used a browser to toggle the LED ON/OFF.

Learnings

  • I learned how ESP32 connects to Wi-Fi.
  • I understood how web servers can control hardware.
  • I gained confidence working with ESP32 GPIO pins.

Link to the code

ledtoggle


TASK 12: Soldering Basics

Objective

To learn soldering tools, techniques, and basic electronic assembly.

Methodology

  • I studied soldering iron parts and how soldering works.
  • I practiced soldering components like LEDs and resistors.
  • I ensured proper joints and checked connections.

Learnings

  • I learned how to make clean and reliable solder joints.
  • I understood the importance of flux and proper heating.
  • I gained confidence in assembling circuits physically.

solder

TASK 13: 555 Timer Astable Multivibrator

Objective

To design and build a 555 timer astable circuit and study its waveform.

Methodology

  • I studied the 555 timer in astable mode.
  • I calculated component values for the required duty cycle.
  • I built the circuit and observed the output waveform. task_13_1

Learnings

  • I learned how timing resistors and capacitors affect frequency and duty cycle.
  • I understood practical waveform generation using 555 IC.
  • I gained experience testing circuits using output observation.

task_13_2

TASK 14: Karnaugh Map and Logic Circuit

Objective

To simplify Boolean expressions using K-maps and implement the logic using gates.

Methodology

  • I created the truth table based on the given conditions.
  • I simplified the expression using Karnaugh maps.
  • I implemented the simplified logic using basic gates.

Learnings

  • I understood how K-maps reduce logic complexity.
  • I learned how to convert Boolean expressions into real circuits.
  • I improved my logic design skills.

kmap

D denotes the Door.

D=0 denotes Closed Door, D=1 denotes Open Door.

K denotes the Key.

K=0 denotes Key is not put on the Door, K=1 denotes Key is put on the Door.

A denotes the Burglar Alarm.

A=0 means Alarm is OFF whereas A=1 means Alarm is activated. The K-map obtained from the above truth table is :

Kmap

TASK 15: Active Participation

Objective

I participated in a technical workshop and learnt how to operate a telescope and other technical detaild on it and I took part in a public event for viewing lunar eclipse.

task_15

TASK 16: Datasheets Report

Objective

Objective: Study the datasheet of L293D motor driver and write a report on it. Specify about the ICs used in L293D, PWM, H-bridge etc.

motorimg

L293D motor driver

The L293D is a dual-channel H-Bridge motor driver capable of driving a pair of DC motors or a single stepper motor. This means it can drive up to two motors individually which makes it ideal for building a two-wheeled robotic platform. The L293D is most often used to drive motors, but can also be used to drive any inductive load such as a relay solenoid or large switching power transistor. It is capable of driving four solenoids, four uni-directional DC motors, two bi-directional DC motors or one stepper motor. The IC also includes built-in kick-back diodes to prevent damage when the motor is de-energized. The L293D IC has a supply range of 4.5V to 36V and is capable of 1.2A peak output current per channel, so it works very well with most of our motors.

Components	                        Range

Motor output voltage	            4.5V - 36V
Logic input voltage	                5V
Output Current per channel	        600mA
Peak Output Current per channel	    1.2A

The following images shows the L293D pins:

pinconnect

PWM – to control speed:

The speed of a DC motor can be controlled by changing its input voltage. A common technique to do this is to use PWM (Pulse Width Modulation). PWM is a technique where the average value of the input voltage is adjusted by sending a series of ON-OFF pulses. The average voltage is proportional to the width of the pulses known as the Duty Cycle.

H-Bridge – to control the rotation direction:

The spinning direction of a DC motor can be controlled by changing the polarity of its input voltage. A common technique for doing this is to use an H-bridge. An H-bridge circuit consists of four switches with the motor in the centre forming an H-like arrangement. Closing two specific switches at a time reverses the polarity of the voltage applied to the motor. This causes a change in the spinning direction of the motor.

Applications

  • Robot vehicles
  • Arduino motor control projects
  • Industrial automation
  • Conveyor belt systems
  • Stepper motor control

UVCE,
K. R Circle,
Bengaluru 01