Ruwan Egodagamage is a software engineer at Amazon with a decade of experience building scientific and CAD/CAM applications that span computer vision, computational geometry, embedded firmware, and visualization. He holds a Ph.D. in Computer Science from Purdue, where he developed a collaborative monocular visual SLAM system and a low-cost high-resolution 3D impression device for forensic evidence capture—work that blends academic rigor with practical hardware integration. At Inventables he redesigned tool-path generation for Easel.com and implemented v-carving using medial-axis and Voronoi techniques, and he has contributed firmware-level support to the widely used Marlin 3D printer project. Comfortable across C/C++, Python, JavaScript and WebGL, he repeatedly bridges research, web-based CAD/CAM, and embedded systems to ship polished end-to-end products. Perpetually curious and hands-on, he pairs deep algorithmic expertise with experience in firmware, CAD/CAM, and open-source contributions.
10 years of coding experience
12 years of employment as a software developer
BSc Eng, Computer Science and Engineering, First Class Honors - GPA 3.81, BSc Eng, Computer Science and Engineering, First Class Honors - GPA 3.81 at University of Moratuwa
M.Sc., Computer Science, GPA 3.96, M.Sc., Computer Science, GPA 3.96 at Indiana University–Purdue University Indianapolis
High School, G.C.E. A/L in Mathematics, High School, G.C.E. A/L in Mathematics at Ananda College, Colombo
Ph.D., Computer Science, GPA 3.93, Ph.D., Computer Science, GPA 3.93 at Purdue University
Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
Role in this project:
Embedded Systems Engineer / IoT Developer
Contributions:12 commits, 3 PRs, 10 comments in 12 days
Contributions summary:Ruwan primarily contributed to supporting and enhancing the RigidBot LCD panel within the Marlin firmware. Their work involved modifying existing code and adding new code to incorporate support for specific hardware elements (buttons) and functionalities. The contributions included adjusting pin configurations, modifying LCD initialization processes, and incorporating SD card functionality adjustments for the RigidBot configuration. Several commits focused on cleaning up the code and optimizing the integration of the RigidBot panel within the overall Marlin firmware.
Contributions:4 PRs, 30 pushes, 9 branches in 7 days
javascriptindex-htmlindex
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.