The software subteam is dedicated to developing the logic and testing of the hardware for the chip, ensuring hardware components communicate properly and executing any necessary programs needed for the custom chip's purpose. Currently, we're implementing projects that will help organize the teams' software development process and build a testing infrastructure for the future projects, which can be extended to C2S2's ASIC. One of our projects is a calculator, which performs calculations and maintains state for storing variables and past calculations. With this project, we used HiFive boards to help us understand how we'll run software on the ASIC. This has helped us define toolkits necessary for compilation and other missing parts needed to run C++ on HiFive boards. From these findings, we plan to design a software infrastructure based on Arduinos and then abstract away Arduino-specific functionality so that it can be applied to the boards and eventually C2S2's ASIC.