Sam Michelsen

~
View projects chevron down

Some projects I've worked on

sorting visualizer picture

Sorting Visualizer

This is a sorting visualizer that I extended from this online tutorial. I added more algorithms, a way to pause/resume algorithm execution, and a way to stop the execution of an algorithm. This project is written using just HTML, CSS, and JavaScript. It features 5 sorting algorithms: selection sort, bubble sort, insertion sort, merge sort, and quick sort.

Click here to open!


automated cat feeder

catFeed: Automated Cat Feeder

This is an automated cat feeding device that I built, powered by a Raspberry Pi. The project features a Flask web application hosted with Apache to allow for easy programming and use of the feeder via a network connection. The feeder also tracks feeds so you can ensure your cat is being fed regularly. There is also an easy to read LCD screen on the feeder that tells you the scheduled feed times, as well as roughly how much food remains in the feeder.

More information
GitHub Repository




motion activated laser toy

Motion Activated Cat Laser Toy

This is a simple device designed to entertain cats and humans alike. When it detects motion it will turn the laser on and begin pseudo-randomly moving the laser in different patterns.

Check it out
GitHub Repository





profile picture

I attended and graduated from the Illinois Institute of Technology with a Bachelor's of Science degree in Computer Engineering. I am interested in topics surrounding embedded software, digital signal processing, operating systems, and software architecture.

I am currently an embedded software engineer at Northrop Grumman, developing embedded software for RF platforms.

I program primarily in C/C++, Python, and MATLAB, with a focus on embedded software development and signal processing. I also have experience with HTML, CSS, JavaScript, SQL, Bash/sh scripting, cmake and Makefiles. I am familiar with Linux/Linux based operating systems and using the Linux command line environment for development and basic system administration, in both native and containerized contexts. I am comfortable with using Git for version control and working with GitHub for collaborative development.

Outside of work, I enjoy playing video games, watching movies, lifting weights, golfing, playing with my dog and cats, and learning about technical, philosophical, and historical topics.