There are three firmware applications:
smith: the main application that controls everything related to printing. In the diagram above, it encompasses the Event Handler, Print Engine, and Data Layer, and controls the motors and projector. If you want to change how Ember prints, this is the place to start hacking.
smith-server: the tiny embedded web server that hosts the Ember web interface at 192.168.7.2 via USB or your printer's network IP address.
smith-client: Ember's connection to EmberPrinter.com
All the Ember firmware is hosted on the Ember github.
The docs folder has a plethora of information related to Ember's entire firmware architecture and how to modify and build it.
The quickest way to get started is to download a development image, which will allow you to modify and build smith, which is contained in the C++ folder.
Other useful links:
If you have a write-up, paper, or Instructable to share, post it in this thread and we'll add it to the list above.