The general purpose micro-controller board is based upon a Freescale (now NXP Semiconductor) MK20DX128VLF5 part. The part we believe provides the right balance in features, I/O, processing, and memory. A resident boot-loader occupies 16kB of the 128kB of program Flash. When the loader aspect is invoked the board appears to a USB connected host as a generic USB MSD and permits uploading an application to the board via a simple file copy. It is of note that being a 'DX' type part, there is also an additional 32kB of data Flash (aka Flex NVM) which is separate from, and not part of, the program Flash. The boot-loader is capable of supporting uploading to this area as well.
USB access is provided through a standard USB micro type B connector. For all other I/O, access is provided by way of plated through holes (aka PTH). The PTHs permit direct wire attachment if so inclined. Alternatively, they are arranged to support common 0.1" spacing headers. The bottom-side of the board provides easy identification of PTH I/O connectivity.
A crystal for the primary clock is provided. The main reason for this is to ensure a quality and compatible clock can be easily generated for the USB module within the part. It is possible to create a USB module clock from one of the resident internally generated clocks, however it is not straight forward as there are considerations that need to be taken into account. We feel the benefit of this crystal being on-board outweighs any cost/board-area penalty.
A (watch) crystal for the real-time clock module is also provided. We have found that the real-time clock module is being used more often than not so we feel it makes sense to have this capability right from the start.
The external reset is accessible via a PTH and also an on-board momentary push-button switch. The momentary push-button switch greatly eases use of the resident boot-loader (as opposed to the common tweezers shorting method of reset).
Power can be sourced in one of two ways. First from the USB connector. Second from a PTH (labeled VEXT). There is a diode in-line with the USB connector source. In the event power from both the USB connector and from the PTH (labeled VEXT) are present, the diode prevents any potential back powering into the USB connector source. The part has a wide operational voltage range. Depending upon the voltage of the power source, some features of the part may not be available (eg. USB).