Other ideas worth considering Be friendly to your software mate (who might be yourself :) Add I/O channels if possible Provide means for logging Add test-points whenever possible Remember debugging (jtag and/or something creative) If it fits, add new components to test you might save the cost of an evaluation board later on Surprise your client, by guessing their next moves They didn't ask for storage, but you know better Won't they need a thermometer sooner or later? Doesn't the application benefit from a light sensor? And why not, always offer a UEXT expansion