I am a roboticist and systems developer located in Rock Hill, SC.

Tooling Skills

Hardware Design Tools

Verilog and SystemVerilog
Altium Designer
Quartus, Modelsim, and Verilator


Python and Java
C, C++, and Rust
Haskell, Fortran, and Matlab
HTML5 and LaTeX

Example Code

These small programs are presented here
to showcase my general coding style.

For examples of languages not shown here, see the projects below,
or visit git.embermckinney.com/embers.

Project History

At The Addition

At The Addition is a concert livestream every other Sunday. I was a camera operator for the first two seasons.

Lambda Calculus Parser-Reducer [Haskell & Python] [View Source Code]

This is a parser and reducer program for the lambda calculus, a mathematical system at the foundations of much of computer science, which was introduced by Alonzo Church in the 1930s. This particular program includes some extensions to the syntax to aid using the lambda calculus as a basic programming language.



SC Trails Search [JavaScript & Python] [View Source Code]

The sctrails.net site search feature frustrates me to no end, so I created a new search page for the site by downloading the trail data with a Node.js scraper script, exporting it as JSON, and using Python to handle searches of the trail data.

Ticobot Project [ROS] [For Work]

The Ticobot is a robot designed to operate in sparsely wooded grasslands, collecting ticks to determine the disease profile of an area. I worked with Sam Dauchert (Dauway Robotics) from January 2019 through December 2020 to put together the navigation system for the Ticobot. The open-source components of the prototype will be published at some point in the future.



MIPS CPU [Verilog] [View Source Code]

This is a MIPS CPU design I originally made for CSCE 611 Advanced Digital Design, and updated to be simulated using Verilator.

VDex [Rust & Python] [View Source Code]

VDex is a Generation V online PokéDex and team building tool I made as part of a larger project to develop a new game AI.



Jetyak MTS/IEEE OCEANS Paper [For Work] [Download Paper]

[View Abstract, Video, and Referencing Information]

The jetyaks are autonomous surface vehicles based on the Mokai ES-Kape and Pixhawk autopilot. This paper, An Autonomous Surface Vehicle for Long Term Operations, was presented at the 2018 OCEANS conference in Charleston, describing the design of the vehicles. A number of other papers have been published using the jetyaks (many of which are related to the other coverage research I worked on at the AFRL), available at afrl.cse.sc.edu/afrl/publications.

Multi-MAV GCS [Python] [For Class] [View Source Code]

This was my senior design project. It is a ground-control station allowing the tracking and control of multiple robots connected over MAVLink (the protocol the jetyaks and many other robots use for GCS communication).

Absion Technologies [SystemVerilog & C] [For Work]

Absion was a startup developing low-power stream processing hardware and novel AI video compression technologies.



Coverage IEEE/RSJ IROS Paper [C++ & Python] [For Work] [View Source Code]

[View Abstract, Video, and Referencing Information]

I wrote the simulation code for Nare Karapetyan’s multi-robot coverage research, as well as assisted with the library code and build tools.

Blue Chip AI [Java] [For Work]

Blue Chip AI was a startup developing stock-trading and research-assistant AI systems that would actually generate human-readable programs.

Indoor Drones [C++ & MATLAB] [For Work]

I wrote networking, firmware, and navigation software code for indoor drone flight using a motion capture system for the Resilient Systems Laboratory at USC.

Advection-Dispersion Models [Fortran, Haskell, & MATLAB] [For Class]

These are programs and reports I wrote for GEOL 575 Numerical Modelling for Earth Science Applications, modelling advection and dispersion in one dimension.



Potential Fields [C++] [For Class]

This is a project I did for CSCE 574 Robotics using potential fields as a basic pathfinding algorithm for robots, tested in Stage simulator.



iRobot Create Library & Project Management Tools [C & Python] [For Class] [View Source Code]

I created a library and project management tools for programming the iRobot Create in CSCE 274 Intro Robotics.

Start of Jetyak Project [For Work]

The jetyak project started in May 2015 as part of my research assistantship at the CPSD lab, and was a continuous part of my research at the AFRL. For information about the first year of the project, you can consult this document, and you can also take a look at this initial drawing of the post-“reboot” jetyak design.

Swampfox Internship IVR Scripts [Java, Python, & PHP] [For Work]

At Swampfox, I worked with software engineers to automate aspects of telephony application design, and wrote data transformation scripts to streamline testing and communication.



Simplex Noise Terrain Generation [Python] [View Source Code]



Robotics Team Control System [Java]

I helped found a FIRST robotics team at my high school, and built all of the electrical and software components of our robot.



My First Real Program [Java] [View Source Code]

This is the first real program I ever wrote. It’s real bad. The code’s okay, or at least well-commented, but the protocol is an utter mess. I was very excited about XML, but had no idea what the point of it even was. So the protocol is a weird horrible melange of pseudo-XML and Java’s binary Serializable format. It has HTML 3.2 (kinda) support though.