The universal protocol may be implemented using a universal core module that is installed across a variety of power tools and other devices to enable communications therewith. Communications to and from the power tools are translated to a universal protocol once received. The translated communications are handled by the universal core module of a particular tool according to a set of rules. The universal core module outputs communications according to the universal protocol and rules, which may be translated to another protocol for receipt by components of the tool or an external device. The communications may be used, for example, to obtain tool performance data from the tools and to provide firmware updates. When sending write commands to the tool from an external device, a controller in the tool detects the command and places the tool in a safe mode so that the motor will not start during the write process. Safe mode may also but not necessarily be used for read commands.