Firmware split into classes for knob, button, and tcp. Multiple make files for different apps