cover photo

COURSEWORK

Prajwal's D-P-001 course work. Lv 1

Prajwal DhannurAUTHORACTIVE
work cover photo
This Report is yet to be approved by a Coordinator.

20 / 3 / 2026


D-P-001 Level 1 — Introduction to Design & Prototyping


Task 1 — 3D Printing

3D printing builds physical objects layer by layer from a digital design. I learned about STL files, slicer software, infill density, supports and PLA filament. I designed and printed a miniature model of the Minchu building at MARVEL lab using the Bambu Lab 3D printer.

Outcome: Successfully printed the model and understood the full 3D printing workflow from design to physical object.

3D Print 1

3D Print 2


Task 2 — API — Currency Converter

An API allows two applications to communicate. I built a live Currency Converter using the ExchangeRate API that fetches real-time exchange rates. The app supports 11 currencies with a swap button and quick conversion chips built using HTML, CSS and JavaScript.

API: https://api.exchangerate-api.com/v4/latest/USD

Live: https://prajwaldhannur4-code.github.io/MARVEL_LEVEL0/currency_converter.html

Outcome: Learned how APIs work, how to use fetch() and parse JSON responses.

Currency Converter


Task 3 — Working with GitHub

GitHub is a platform for hosting and collaborating on code. I forked the MARVEL git-task repository, found a bug in main.py where an extra +1 caused wrong output, fixed it, raised Issue #272 and opened Pull Request #273.

Outcome: Learned the complete open source workflow — fork, fix, issue and pull request.


Task 4 — Ubuntu CLI

The Linux terminal is a powerful text interface for interacting with the computer. I completed all subtasks on Ubuntu:

mkdir test && cd test
touch myfile.txt
for i in $(seq 1 100); do mkdir A$i; done  # repeated for all 26 letters
ls | wc -l  # Output: 2601
echo "Hello" > file1.txt && cat file1.txt file2.txt

Outcome: Learned mkdir, cd, touch, ls, cat, echo and for loops in bash.

Ubuntu Terminal

Task 6 — NumPy Matrix Puzzle

NumPy is a Python library for working with arrays and matrices. I was given a scrambled matrix file with shape (200, 50) containing 10000 elements. Using three clues I decoded it into a hidden image:

import numpy as np
import matplotlib.pyplot as plt

data = np.load('decoded_array.npy')# Shape: (200, 50)
reshaped = data.reshape(100, 100) # Clue 1: reshape to square
transposed = reshaped.T # Clue 2: data is sideways
decoded = np.flipud(transposed) # Clue 3: end is beginning
plt.imshow(decoded, cmap='gray')
plt.show()

The decoded image revealed a robot face! Operations used: reshape, transpose, flipud.

Outcome: Learned NumPy array manipulation and how 2D arrays represent images.

Decoded Image

Task 7 — Portfolio Webpage

I built a fully responsive personal portfolio webpage using HTML and CSS showcasing my projects (RC Plane, Maze Robot, Minchu 3D Print, Currency Converter), achievements (Mecronin 2nd place, IISc certificate) and GitHub profile.

Live: https://prajwaldhannur4-code.github.io/MARVEL_LEVEL0/

Outcome: Learned HTML, CSS, Flexbox, responsive design and GitHub Pages hosting.

Portfolio


Task 8 — Markdown Article

Markdown is a lightweight markup language for formatting plain text using simple symbols like #, **, - and ```. I wrote a technical article on Introduction to 3D Printing covering types, slicing, settings and applications — posted on the MARVEL website.

Outcome: Learned complete Markdown syntax and wrote a structured technical article.


Task 9 — Tinkercad

Tinkercad is a free browser-based circuit simulation platform by Autodesk. I built two circuits:

Circuit 1: Ultrasonic sensor measuring distance using sound waves. Formula: Distance = Duration × 0.034 / 2. Serial Monitor output: Distance: 78 cm

Circuit 2: Radar system — servo motor sweeps 0°-180° while ultrasonic sensor measures distance at each angle. Output: Angle: 45 | Distance: 38 cm

Outcome: Learned Tinkercad simulation, ultrasonic sensor working and servo motor control.

Tinkercad Circuit 1

Tinkercad Circuit 2


Task 10 — DC Motor Speed Control

The L298N is a dual H-Bridge motor driver that lets Arduino control DC motors. PWM (Pulse Width Modulation) controls speed — higher duty cycle = faster motor. I connected L298N + BO motor + potentiometer to Arduino. Rotating the potentiometer gave full real-time speed control. Motor started spinning above 7V.

Outcome: Learned PWM, H-Bridge, L298N wiring and real-time motor speed control.

DC Motor Video


Task 11 — ESP32 LED Toggle

ESP32 is a powerful microcontroller with built-in WiFi — more capable than Arduino. I connected an LED to GPIO 26, uploaded web server code and ESP32 generated an IP address. Opening the IP in a browser gave ON/OFF buttons for full wireless LED control.

Outcome: Learned ESP32 web server, GPIO control and IoT fundamentals.

ESP32 LED Toggle Video


Task 12 — Soldering

Soldering permanently joins electronic components using melted solder wire. I have prior experience from building a maze-solving robot where I soldered motors to wires. For this task I soldered a basic LED circuit on a perf board at MARVEL lab under coordinator supervision.

Outcome: Learned proper soldering technique, flux usage and safety procedures.

Soldering


Task 13 — 555 Astable Multivibrator

The 555 timer in astable mode generates a continuous square wave. Duty cycle is the % of time the signal stays HIGH. Using R1=4.7kΩ and R2=10kΩ:

Duty Cycle = (R1 + R2) / (R1 + 2×R2) × 100 = 59.19%

59.19% is the closest to 60% achievable with standard resistor values. Verified on the DSO oscilloscope.

Outcome: Learned 555 timer operation, duty cycle calculation and DSO usage.

555 Waveform

555 Circuit


Task 14 — Karnaugh Maps and Burglar Alarm

A K-Map simplifies Boolean expressions visually. For a burglar alarm with Door (D) and Key (K) inputs:

DKAlarm
000
010
101
110

K-Map result: Alarm = D · K' (Door open AND Key NOT pressed)

Built the circuit on Arduino with 2 push buttons. Alarm triggers only when door button is pressed without the key button.

Outcome: Learned K-maps, Boolean simplification and logic gate implementation.

K-Map


Task 15 — Active Participation

I participated in the Do Drones Workshop at IISc Bengaluru conducted by the UAV Laboratory, Dept of Aerospace Engineering under the SwaYaan initiative by MeitY.

Duration: 09–13 December 2025 | Ref: RefSDC/2025-26/DODRONES-34

Topics: UAV introduction, aerodynamics, drone subsystems, multirotor assembly, flight simulator training and supervised flight operations.

Outcome: Hands-on drone assembly and flight training at India's premier science institute.

IISc Certificate


Task 16 — L293D Datasheet Report

The L293D is a dual H-Bridge motor driver IC by Texas Instruments. Key concepts:

  • H-Bridge: 4 switches allowing bidirectional current through motor — controls direction
  • PWM: Duty cycle on Enable pins controls motor speed
  • Pins: EN1/EN2 (PWM speed), A1/A2 (direction), Y1/Y2 (motor output), VCC1 (5V logic), VCC2 (4.5-36V motor)
  • Specs: 600mA continuous, 1.2A peak, built-in flyback protection diodes
  • Flyback diodes: Protect from back EMF voltage spikes when motor stops

Outcome: Understood H-Bridge, PWM, pin configuration and protection circuits of L293D.


Task 17 — Introduction to VR

VR creates a fully immersive digital world — real world is replaced completely (Meta Quest, HTC Vive). AR overlays digital objects on the real world — real world still visible (Pokemon GO, Snapchat filters). MR combines both — virtual objects interact with real world (Apple Vision Pro).

Trends: Metaverse, standalone headsets, VR in healthcare and education, eye tracking, foveated rendering.

Indian Companies:

  • AjnaLens — India's own AR headset used by the Indian Army
  • Simulanis — VR training for industry
  • Scapic — AR for e-commerce, acquired by Flipkart

Outcome: Understood VR/AR/MR differences, tech stack and India's growing role in the space.


Task 18 — Sad Servers — Command Line Murders

Sad Servers is "LeetCode for Linux" — real troubleshooting scenarios in a browser terminal. I solved the Command Line Murders mystery by reading clues from the crime scene file and using Linux commands to find the murderer.

cat crimescene          # Read clues
grep "Annabel" people   # Find witness
grep -rl "Annabel Sun" people  # Find her ID
cat interviews/interview-[ID]  # Read interview
echo [NAME] | md5sum    # Verify answer

Commands used: cat, grep, grep -r, grep -l, ls, cd, echo, md5sum

Outcome: Learned how to use grep and Linux commands to search and process text files efficiently.

Sad Servers


Task 19 — Express Resource Library Web App

Express is a web framework for Node.js used to build web servers and APIs. I built a MARVEL Resource Library website where users can browse articles and books and view their account.

Features:

  • Home page with resource statistics
  • Browse all resources
  • Filter by Articles or Books
  • My Account page with user details
  • REST API endpoints: /api/resources

How to run:

npm install express
node index.js
# Opens at http://localhost:3000

Routes built:

  • GET / — Home page
  • GET /resources — All resources
  • GET /resources/articles — Articles only
  • GET /resources/books — Books only
  • GET /account — User account page
  • GET /api/resources — JSON API endpoint

Outcome: Learned Express routing, serving HTML from Node.js and building REST APIs.

Express Web App


Prajwal Dhannur | D-P-001 Level 1 | UVCE MARVEL GitHub: https://github.com/prajwaldhannur4-code/MARVEL_LEVEL0

UVCE,
K. R Circle,
Bengaluru 01