Software Development

Developing a robust fully functional software is very time consuming and requires a lot of trail and error to ensure the program works as intended. It is also best to be done as a team. This is because each individual has their strength and weaknesses. Before developing the BlackBOX software, our team had a meeting where we discussed our ideas and the features for the BlackBOX project. During this time it is always easy to under estimate the true challenge ahead. Our team decided to split the program into 6 manageable sub programs and tasks were divided accordingly.

  1. The main program
  2. The PWM motor speed and direction control
  3. The motor ramp up/down transfer function
  4. The Servo control
  5. The 16 LED display
  6. The computer to controller serial communication connection link

This arrangement allowed each team members to work for most part independently but toward a common goal. Our team collaborated using the website called where each member can save their work and share it with the rest of the team. An unforeseen benefit of this arrangement was that as we compiled the main program later and encountered some programming bugs, having in essence a working subprogram for each section/drivers of the program allowed us to troubleshoot very effectively.

The complete code base can be viewed under Complete Code.