© 2025 Aswin Pandeya
Peak of Mt.Fuji (3,776 m)
Sum quae esse volo
Hello! My name is Aswin Pandeya (uh-swin pahn-day-ya). I'm currently a Computer Engineering student at McMaster University, passionate about solving problems that blend creativity, technology, and abstract thinking.
My hobbies/passions show my love of creativity and problem solving, through: programming, 3D modelling, game development, DIY electronics, tinkering, cardistry (what you saw in the intro), magic, mountain hiking, and creating/playing music (piano, flute, guitar). I also dabble heavily in Legend of Zelda, Kirby, and contemporary/fusion jazz (click on the ocarina on the bottom right, has my playlist).
Currently looking for an internship... I'm particularly interested in roles involving circuit design, embedded systems, and hardware-software integration where I can collaborate with other people, I love meeting and working with new people!
Do I seem really cool and awesome and really cool? Preferably email me or check out my links page to get in touch!
Click on these to be sent to my other platforms!
Check out what I've done
(Also I have yet to add the repos of each project, that will come soon dont worry)
Made a physical audio visualizer using ferrofluid suspended in water, a python script that used serial communication with an arduino, the fast fourier transform that creates an audio frequency spectrum, and the basic principle of Electromagnetism.
A 3D model was made to hold the ferrofluid, with a circle underneath it to fit a solenoid, which would create a magnetic field when current was passed through it. The ferrofluid would then move in response to the changing magnetic field, creating a visual representation of audio signal.
The Python script would read audio data using PyAudio, which would request and retrieve data from the user's stereo mixer. This data would provide the waveform of the audio signal coming from the music played in realtime, using the Fast Fourier Transform (FFT), a mathematical algorithm that converts a wave signal to a representation in the frequency domain, a frequency spectrum is made.
The Python script would detect when a kick drum hit occured (by detecting peaks in the lower frequency range), and send a signal to the Arduino via serial communication. The Arduino would take this signal and send a current through the solenoid, creating a magnetic field that would cause the ferrofluid to move in response to the audio signal.
Using only transistors and a power source, created an 8 bit adder circuit that adds and outputs binary numbers. Also created a video explaining all of the logic gates used in the circuit, and how they work together to create the adder.
Researched how transistors work as switches and diodes, then created basic logic gates such as AND, OR, and NOT gates using transistors.
Researched how to add binary numbers using logic gates, and how to put logic gates together in sequence to create more complex logic gates on a breadboard (XOR, NOR, NAND). Took those new logic gates and combined them to create an adder circuit that could add two bits together, outputting a sum and carry bit.
Put all of the logic gates together to stimulate the same logic as adding binary numbers, then made a video how it all works:
Watch the video here.
Here are the logic gate stimulations I made to create the adder circuit (all made by me using everycircuit.com):
XOR Gate |
NAND Gate |
NOR Gate |
AND Gate |
Bit Adder (with only logic gates)
Created this entire website from scratch using HTML, CSS, and Javascript by myself.
Brainstormed across multiple ideas, and stuck with a cardistry and legend of zelda theme, two things I adore. I recorded me doing cardistry, photoshopped elements to make them fit with the website theme.
(1900 Lines of code) Used HTML and CSS to create the structure and style of the website, ensuring a responsive design that works well on both desktop and not so much mobile devices (yet!). Implemented Javascript to add interactivity, such as dropdown menus, animations, transitions between each page, and dynamic content loading. Everything you see on this page was curated by me, except the music, otherwise all footage and icons are from me.
Learned how to use GIT bash, handle repos, generate SSH keys, and set up DNS records to host the website on a custom domain.
Collaborated with 4 people to create and program an end effector arm for a mock-ecommerce company that could pick and place a variety of different shaped objects.
Formed a 3D model of the arm using Autodesk Inventor, ensuring gears mesh together properly, and that the claw is able to grip objects of various shapes and sizes efficiently. Went through 5 prototypes before finalizing the design to ensure optimal performance. Originally, we made a claw that used a single servo to open and close, but found that it was not strong enough to grip certain objects. Thus, we redesigned the claw to obtain more surface area across the object it was grippping, hoping it would increase the friction and grip strength. This worked only to an extent, as the arm would come down at an angle, and this would make it hard for the claw to grip it straight up, so we redesigned the claw again to have a more angular approach when picking up objects. To add a final touch, we added a block at the ends to allow for pinching, this allows us to say our design is versatile, being able to pick up objects with different techniques if needed. I brainstormed and 3D modelled the last 2 designs and the final build. These iterations Showed me the importance of prototyping and testing designs before finalizing them, as small changes can have a big impact on performance. Also showed me the value of teamwork and collaboration, as we were able to bounce ideas off each other and come up with a better design together.
Prototypes in chronological order
Used python to program the arm to pick and place objects, allow the user to create an account (using Bcrypt for password hashing), scan a barcode and read an external file to determine if the object associated with that barcode is available, and log data such as number of items picked, time taken, and errors made. I was in charge of creating a reciept for the customer after placing orders, it required me to read a text file that contained users current and previous orders to tally up and calculate what is owed (with taxes and additional discounts). This bit was tricky as I had to communicate with my team members to ensure that the variable names and format was consistent, as well as test the code multiple times to ensure accuracy. As a result, it taught me the importance of clear communication and collaboration when working on a team project.
Protos 3D Printed
Laser cutting a gear
Final 3D Model Build
Used 3D printing and laser cutting to manufacture the parts of the arm, ensuring that all parts fit together properly and function as intended. Specific materials were chosen for certain gears to ensure durability and strength (e.g: the gear connecting to the servo was acrylic, where the other gears were PLA). I created engineering drawings that had specific formalities such as dimensions, tolerances, and material specifications to ensure accurate manufacturing of parts and method of cuttings. This bit taught me the importance of attention to formalities within engineering designs, as small mistakes can lead to big problems down the line during manufacturing or assembly.
Collaborated with 3 people to create a 3D 8 ball pool game using Unity. Implemented physics for realistic ball movement, user interface for game controls, and local multiplayer functionality.
Used Unity built-in physics system to stimulate realistic ball movement and collisions. Adjusted physics materials to achieve desired friction and bounciness for the balls and table. Programmed a menu screen, spin ball function, free-roam/fixed camera options, and faithful win/lose conditions to enhance user experience.
Cue ball sinking mechanics
Game assigning player correct balls
Used C# scripting to handle game mechanics such as ball collisions, scoring system, and player turns. Implemented a user-friendly interface for players to interact with the game. Used Raycasting in order to determine where the player is aiming, and applied force to the cue ball based on user input using vector computing.
Used 3D models found online to design the environment and pool table. Found 3D Textures online to implement realistic materials for the table, balls, and cues. Used Unity Cloud to work with version control, allowing multiple people to work on the repo simultaneously without conflicts, and when there were conflicts, resolve them using merging.
Here are just some extra stuff that I have done that I can show.
Created a 1D physics kinematic calculator using Python that can solve for any variable given the other variables.
Programmed a replica of the online game Mastermind using Python, allowing the user to guess a sequence of colors with feedback on correct colors and positions.
Using my knowledge of music theory, composed music using tonal and modal harmony, substitute dominants, modal interchange, and polytonality.