Personal Projects

Web Design

Personal Website

I built this website using serveral resources such as skill share classes by Kalob Taulien and a book called "Learning Web Design" by Jennifer Niederst Robbins. The site uses NES.CSS which is a CSS frame work and Flexbox grid which is a grid system based on the flex display property. Flexbox grid is also very similar to bootstrap since it uses the conventions for breakpoint in columns and rows.I have also provided links to the resouces down below for use.
Tools used: HTML 5, CSS 3, VS Code, NES.CSS, Flexbox grid, GitHub pages

Skill Share Book

Sacramento Hackathon III

Winner Best Hardware Hack

Member of a 4-person team that won best hardware project for developing a capacity assistant that would record the amount of people entering and leaving a building and then update a website in real time. The project was constrained to 36 hours and used a raspberry pi 3 to measure the amount of people and to host the website. Responsible for helping develop the website by using python CGI and Apache 2.
Tools used: Apache, CGI, HTML, Python, Raspberry Pi 3

Dev Post GitHub

Python Projects and Fundamentals

Data Visualization Projects

During my free time I wanted to improve my python skills since there wasn't many courses taught in Python at my school. I started by learning the fundamentals of python by reading "Python Crash Course" by Eric Matthes and completing all the excercises and the data Visualization project it came with. Most of my progress can be tracked through the github link below along with Eric's website for reference.
Tools used: VSCODE, Git, GitHub, Python 3

GitHub Eric's site

School Projects

Senior Project Design

Pedestrain Safety Device Spring/Fall 2020

Member of a 4-person team that developed devices that will prevent the collisions of low-speed personal vehicles. The devices use a collision detection algorithm to use their location and velocity to calculate the time to collision from one device to the other. The devices communicate with each other by sending and receiving their location and velocity wirelessly through ESP- NOW. Personally, responsible for developing the communication aspect by using ESP-32’s own communication protocol and developed a 150-line C communication program that was integrated with other features.
Tools used: C, ESP-32, GPS-module, Arduimo IDE

SP Showcase

Operating Systems Pragmatics

Simple Operating System Fall 2020

Member of a 3-person team that designed and implemented a simple process scheduling operating system by using a special development operating environment called SPEDE. The operating system ran on Intel’s x86 CPU architecture where a MS DOS based environment was used for testing and Ubuntu Linux was used for development. These environments were run on a virtual machine due to the global pandemic. Topics covered and implemented in our operating system are the Kernel, Processes, and Interprocess Communication. The operating system used its own api and was programmed in C and inline assembly.
Tools Used: Ubuntu Linux, MS-DOS, VSCODE, C, Assembly, SPEDE, Virtual Machines

CMOS and VLSI Design

Chip Layout Design Spring 2020

Designed 0.18um chips (NAND, Inverter, and Ring Oscillator) that use CMOS and VLSI concepts, methodologies, and techniques. The project had requirements such as midpoint voltage values, rise, and fall time values while following the design rules of the CMOS process. The chips were tested and validated by going through and DRC and LVS chip layout verification.
Tools used: Cadence Virtouso, PSpice, remote desktop

View Project

Database & mangement Systems

Simple SQL Database Fall 2020

Formed a SQL database based on the relational and ER diagrams provided by the professor. Made sure to follow the constraints from the diagram and to populate the database for testing purposes. MySQL 5.6 was used when creating this database.
Tools used: Putty, SQL

Advanced Computer Orginization

16-bit MIPS Processor, Verilog Fall 2019

Led a two-person team through the design, development, and implementation phases of a 16-bit microprocessor with a 5-stage pipeline. The processor specifications were based on the professor’s criteria but followed MIPS format as a reference. Behavioral and combinational modeling in Verilog was used in the design of the processor’s components.
Tools used: Verilog, MobaXterm, Synopsis VCS

View Project

Computer Interfacing

Solar Tracker Project Fall 2018

Developed a solar tracker for a class final project with a team of 3. The final project was planned to take 5 weeks, but the CA fires disrupted the time set. The team finished in a record 3 weeks, meeting a tight schedule by ramping up meetings and delivery of code. Personally, built the foundation for the solar tracker and wrote a 40-line C script on a parallax board that was designed to detect light and rotate the servos from east to west depending on the sun light level. Convinced the team that we could streamline the development by using Bitbucket to manage our code and Slack to collaborate and communicate changes and updates with team members working remotely.
Tools used: C, Python, RPI 3, Paralax Propellor Board, Solar panels, servo motor

Programing Projects

Java and C Projects Fall 2017

  • - Developed a word count program with over 900 lines of code as a class final project with a team of 2. The user can obtain the number of words inside a txt file by frequency or by unique words and can choose the type of algorithm to perform the task. Responsible for developing AVL trees and binary search trees onto the program. Java program

  • - Implemented a GUI checkbook system with 400 lines of code, where the user can create accounts, make deposits, withdraw cash, save and load their transactions and store in a file. Java program

  • - Designed a kernel module with 135 lines of code that would store a person's birthday inside a linked list and then sort the list by oldest to youngest. The module would also allocate and deallocate memory to save space. C program

  • - Developed a mini shell with over 244 lines of code combined that handled Linux commands such as exit, pwd, or cd and handled redirection of files. C program
View Projects

Miguel Tirado's Personal Website