Prosecution Insights
Last updated: October 02, 2026
Application No. 18/912,099

POWER TOOL INCLUDING A MACHINE LEARNING BLOCK

Non-Final OA §112§DP
Filed
Oct 10, 2024
Priority
Jan 24, 2018 — provisional 62/621,095 +2 more
Examiner
CHOI, ALICIA M
Art Unit
Tech Center
Assignee
MILWAUKEE ELECTRIC TOOL Corporation
OA Round
1 (Non-Final)
79%
Grant Probability
Favorable
1-2
OA Rounds
6m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
298 granted / 376 resolved
+19.3% vs TC avg
Strong +29% interview lift
Without
With
+28.6%
Interview Lift
resolved cases with interview
Typical timeline
2y 6m
Avg Prosecution
18 currently pending
Career history
394
Total Applications
across all art units

Statute-Specific Performance

§101
17.2%
-22.8% vs TC avg
§103
42.3%
+2.3% vs TC avg
§102
20.0%
-20.0% vs TC avg
§112
16.5%
-23.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 376 resolved cases

Office Action

§112 §DP
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claims 1-24 are pending, of which claims 1, 12, and 20 are independent claims. Priority This application is a CON of US Patent Application No. 17/572,109 filed on March 26, 2021, now Patent No. 12,153,402 B2; a CON of US Patent Application No. 16/254,910 filed on January 23, 2019, now Patent No. 11,221,611 B2; and US provisional application No. 62/621,095 filed on January 24, 2018. Information Disclosure Statement The references cited in the information disclosure statements (IDS) submitted on December 16, 2024 and January 9, 2025 have been considered by the examiner. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter, which the inventor or a joint inventor regards as the invention. Claims 2 and 13 are rejected under 35 U.S.C. 112(b), as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor regards as the invention. Claim 2 recites “wherein the machine learning control program is generated on an external system device through training based on example sensor data and associated outputs and is received by the power tool from the external system device” and claim 13 recites “further comprising: receiving, by the electronic control assembly, the machine learning control program from an external system device, wherein the machine learning control program is generated on the external system device through training based on example sensor data and associated outputs.” The intended meaning of “example sensor data” is not clear from the claimed recitations. The Specification does not offer an explanation or meaning to “example sensor data”. The Office respectfully recommends that “example sensor data” be amended to “the sensor data”. Appropriate correction through claim amendment is respectfully requested. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claims 1-9, 12-19, and 20-24 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-8, 10-15, and 17-20 of US Patent No. 11,221,611 B2 to Abbott et al. (US Patent Application No. 16/254,910). This is a nonstatutory double patenting rejection. Although the claims at issue are not identical, they are not patentably distinct from each other because the claims of US Patent No. 11,221,611 B2 recite very similar structure and functionality. Present US Patent Application No. 18/912,099 US Patent No. 11,221,611 B2 Claim 1 A power tool comprising: a housing; a motor supported by the housing; a sensor supported by the housing and configured to generate sensor data associated with the power tool, wherein the sensor data indicates one or more of motor speed data, motor position data, motor acceleration data, motor current data, temperature data, impact data, sound data, torque data, spindle position data, spindle speed data, battery voltage data, tool position data, and motion data of the power tool; an electronic control assembly including a processor and a memory, the electronic control assembly supported by the housing and connected to the motor, the electronic control assembly configured to: receive the sensor data, process the sensor data, using a machine learning control program executed on the processor, wherein the machine learning control program is a trained machine learning control program, and generate, using the machine learning control program, an output based on the sensor data, wherein the output includes an indication of a detected application of the power tool, the detected application corresponding to at least one selected from a group of a type of fastener, a type of implement driven by the power tool, and a type of material on which the power tool is working; and control the motor based on the output. Claim 1 A power tool comprising: a housing; …a motor supported by the housing; and… a sensor supported by the housing and configured to generate sensor data associated with the power tool, wherein the sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool; a machine learning controller including a first processor and a first memory, the machine learning controller supported by the housing, coupled to the sensor, and including a machine learning control program, the machine learning controller configured to: receive the sensor data, process the sensor data, using the machine learning control program, wherein the machine learning control program is a trained machine learning control program, and generate, using the machine learning control program, an output based on the sensor data, wherein the output includes an indication of a detected application of the power tool, the application corresponding to at least one selected from the group of a type of fastener, a type of implement driven by the power tool, and a type of material on which the power tool is working;… an electronic controller including a second processor and a second memory, the electronic controller supported by the housing, coupled to the motor and to the machine learning controller, the electronic controller configured to: receive the output from the machine learning controller, and control the motor based on the output. Claim 2 The power tool of claim 1, wherein the machine learning control program is generated on an external system device through training based on example sensor data and associated outputs and is received by the power tool from the external system device. Claim 2 The power tool of claim 1, wherein the machine learning control program is generated on an external system device through training based on example sensor data and associated outputs and is received by the power tool from the external system device. Claim 3 The power tool of claim 2, wherein the machine learning control program is a static machine learning control program. Claim 3 The power tool of claim 2, wherein the machine learning control program is a static machine learning control program. Claim 4 The power tool of claim 1, further comprising a wireless communication device configured to receive a machine learning control program update wirelessly from an external system device, wherein the machine learning control program is an adjustable machine learning control program and the electronic control assembly is configured to update the machine learning control program based on the machine learning control program update. Claim 4 The power tool of claim 1, further comprising a wireless communication device configured to receive a machine learning control program update wirelessly from an external system device, wherein the machine learning control program is an adjustable machine learning control program and the machine learning controller is configured to update the machine learning program based on the machine learning control program update. Claim 5 The power tool of claim 4, wherein the power tool is configured to receive feedback regarding the control of the motor based on the output and to provide the feedback and the sensor data to the external system device via the wireless communication device, and wherein the machine learning control program update is generated by the external system device through further training based on the feedback and the sensor data. Claim 5 The power tool of claim 4, wherein the power tool is configured to receive feedback regarding the control of the motor based on the output and to provide the feedback and the sensor data to the external system device via the wireless communication device, and wherein the machine learning control program update is generated by the external system device through further training based on the feedback and the sensor data. Claim 6 The power tool of claim 1, wherein the electronic control assembly is further configured to: receive feedback regarding the control of the motor based on the output, provide the feedback to the machine learning control program to train the machine learning control program, receive further sensor data from the sensor, process the further sensor data, using the machine learning control program trained with the feedback, and generate, using the machine learning control program trained with the feedback, a further output based on the further sensor data. Claim 6 The power tool of claim 1, wherein the machine learning controller is further configured to: receive feedback regarding the control of the motor based on the output, provide the feedback to the machine learning control program to train the machine learning control program, receive further sensor data from the sensor, process the further sensor data, using the machine learning control program trained with the feedback, and generate, using the machine learning control program trained with the feedback, a further output based on the further sensor data. Claim 7 The power tool of claim 1, wherein the electronic control assembly is further configured to: receive feedback from another power tool, provide the feedback to the machine learning control program to train the machine learning control program, receive further sensor data from the sensor, process the further sensor data, using the machine learning control program trained with the feedback, and generate, using the machine learning control program trained with the feedback, a further output based on the further sensor data. Claim 7 The power tool of claim 1, wherein the machine learning controller is further configured to: receive feedback from another power tool, provide the feedback to the machine learning control program to train the machine learning control program, receive further sensor data from the sensor, process the further sensor data, using the machine learning control program trained with the feedback, and generate, using the machine learning control program trained with the feedback, a further output based on the further sensor data. Claim 8 The power tool of claim 1, wherein the electronic control assembly is further configured to: receive a request to adjust, from user input, at least one selected from a group of a learning rate and a switching rate, and adjust the at least one selected from a group of the learning rate and the switching rate of the machine learning control program based on the request. Claim 8 The power tool of claim 1, wherein the machine learning controller is further configured to receive a request to adjust, from user input, at least one selected from the group of a learning rate and a switching rate, and to adjust the at least one selected from the group of the learning rate and the switching rate of the machine learning control program based on the request. Claim 9 The power tool of claim 1, wherein the electronic control assembly comprises: a machine learning controller with the processor and the memory, wherein the machine learning controller is configured to execute the machine learning control program to generate the output, and an electronic controller with a second processor and a second memory, wherein the electronic controller is configured to provide the sensor data to the machine learning controller and controls the motor based on the output. Claim 1 A power tool comprising: a housing; a sensor supported by the housing and configured to generate sensor data associated with the power tool, wherein the sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool; a machine learning controller including a first processor and a first memory, the machine learning controller supported by the housing, coupled to the sensor, and including a machine learning control program, the machine learning controller configured to: receive the sensor data, process the sensor data, using the machine learning control program, wherein the machine learning control program is a trained machine learning control program, and generate, using the machine learning control program, an output based on the sensor data, wherein the output includes an indication of a detected application of the power tool, the application corresponding to at least one selected from the group of a type of fastener, a type of implement driven by the power tool, and a type of material on which the power tool is working; a motor supported by the housing; and an electronic controller including a second processor and a second memory, the electronic controller supported by the housing, coupled to the motor and to the machine learning controller, the electronic controller configured to: receive the output from the machine learning controller, and control the motor based on the output. Claim 12 A method of operating a power tool comprising: generating, by a sensor of the power tool, sensor data associated with the power tool, wherein the sensor data indicates one or more of motor speed data, motor position data, motor acceleration data, motor current data, temperature data, impact data, sound data, torque data, spindle position data, spindle speed data, battery voltage data, tool position data, and motion data of the power tool; receiving, by an electronic control assembly of the power tool, the sensor data, the electronic control assembly including a memory and a processor configured to execute instructions stored on the memory; processing, by the electronic control assembly, the sensor data using a machine learning control program of the electronic control assembly; generating, using the machine learning control program, an output based on the sensor data, wherein the output includes a condition of at least one selected from a group of a fastener being driven by the power tool, an accessory of the power tool, and a workpiece on which the power tool is working; and controlling, by the electronic control assembly, a motor of the power tool based on the output. Claim 10 A method of operating a power tool comprising: generating, by a sensor of the power tool, sensor data associated with the power tool, wherein the sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool; receiving, by a machine learning controller of the power tool, the sensor data, the machine learning controller including a first memory and a first processor configured to execute instructions stored on the first memory; processing the sensor data, using a machine learning control program of the machine learning controller; generating, using the machine learning control program, an output based on the sensor data, wherein the output data includes a condition of at least one selected from the group of a fastener being driven by the power tool, an accessory of the power tool, and a workpiece on which the power tool is working; receiving, by an electronic controller of the power tool, the output from the machine learning controller, the electronic controller including a second memory and a second processor configured to execute instructions stored on the second memory; and controlling, by the electronic controller, a motor of the power tool based on the output. Claim 13 The method of claim 12, further comprising: receiving, by the electronic control assembly, the machine learning control program from an external system device, wherein the machine learning control program is generated on the external system device through training based on example sensor data and associated outputs. Claim 11 The method of claim 10, further comprising: receiving, by the machine learning controller, the machine learning control program from an external system device, wherein the machine learning control program is generated on the external system device through training based on example sensor data and associated outputs. Claim 14 The method of claim 12, further comprising: receiving, by a wireless communication device of the power tool, a machine learning control program update wirelessly from an external system device; and updating, by the electronic control assembly, the machine learning control program based on the machine learning control program update. Claim 12 The method of claim 10, further comprising: receiving, by a wireless communication device of the power tool, a machine learning control program update wirelessly from an external system device; and updating, by the machine learning controller, the machine learning program based on the machine learning control program update. Claim 15 The method of claim 14, further comprising: receiving, by the power tool, feedback regarding the controlling of the motor based on the output; and providing the sensor data and the feedback to the external system device via the wireless communication device, wherein the machine learning control program update is generated by the external system device through further training based on the sensor data and the feedback. Claim 13 The method of claim 12, further comprising: receiving, by the power tool, feedback regarding the control of the motor based on the output; and providing the sensor data and the feedback to the external system device via the wireless communication device, wherein the machine learning control program update is generated by the external system device through further training based on the sensor data and the feedback. Claim 16 The method of claim 12, further comprising: receiving, by the electronic control assembly, feedback regarding the controlling of the motor based on the output; providing, by the electronic control assembly, the feedback to the machine learning control program to train the machine learning control program; receiving, by the electronic control assembly, further sensor data from the sensor; processing the further sensor data, using the machine learning control program trained with the feedback; and generating, using the machine learning control program trained with the feedback, a further output based on the further sensor data; and controlling, by the electronic control assembly, the motor based on the output. Claim 14 The method of claim 10, further comprising: receiving, by the machine learning controller, feedback regarding the control of the motor based on the output; providing, by the machine learning controller, the feedback to the machine learning control program to train the machine learning control program; receiving, by the machine learning controller, further sensor data from the sensor; processing the further sensor data, using the machine learning control program trained with the feedback; and generating, using the machine learning control trained with the feedback, a further output based on the further sensor data; and controlling, by the electronic controller, the motor based on the output. Claim 17 The method of claim 16, further comprising: receiving, by the electronic control assembly, a request to adjust at least one selected from a group of a learning rate and a switching rate; and adjusting the at least one selected from a group of the learning rate and the switching rate of the machine learning control program based on the request. Claim 15 The method of claim 14, further comprising: receiving, by the machine learning controller, a request to adjust at least one selected from the group of a learning rate and a switching rate; and adjusting the at least one selected from the group of the learning rate and the switching rate of the machine learning control program based on the request. Claim 18 The method of claim 12, wherein the electronic control assembly comprises a machine learning controller with the processor and the memory, and an electronic controller with a second processor and a second memory, wherein generating, using the machine learning control program, the output comprises the machine learning controller executing the machine learning control program to generate the output, and wherein controlling, by the electronic control assembly, the motor based on the output comprises the electronic controller controlling the motor based on the output. Claim 18 A method of operating a power tool comprising: generating, by a sensor of the power tool, sensor data associated with the power tool, wherein the sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool; receiving, by a machine learning controller of the power tool, the sensor data, the machine learning controller including a first memory and a first processor configured to execute instructions stored on the first memory; processing the sensor data, using a machine learning control program of the machine learning controller; generating, using the machine learning control program, an output based on the sensor data, wherein the output data includes a condition of at least one selected from the group of a fastener being driven by the power tool, an accessory of the power tool, and a workpiece on which the power tool is working; receiving, by an electronic controller of the power tool, the output from the machine learning controller, the electronic controller including a second memory and a second processor configured to execute instructions stored on the second memory; and controlling, by the electronic controller, a motor of the power tool based on the output. Claim 19 The method of claim 12, further comprising: receiving an input, via an activation switch, disabling the machine learning control program. Claim 17 The method of claim 10, further comprising: receiving an input, via an activation switch, disabling the machine learning program. Claim 20 An external system device in communication with a power tool, the external system device comprising: a first transceiver for wirelessly communicating with a second transceiver positioned within a housing of the power tool; and a first machine learning controller in communication with the first transceiver, the first machine learning controller including an electronic processor and a memory, the first machine learning controller configured to: receive, via the first transceiver, tool usage data from the power tool from the second transceiver including feedback collected by the power tool, train a machine learning control program using the tool usage data to generate an updated machine learning control program, the updated machine learning control program configured to be executed by an electronic control assembly of the power tool to cause the electronic control assembly of the power tool to: receive power tool sensor data as input, wherein the power tool sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool, process the power tool sensor data, using the machine learning control program, and generate an output, on which motor control by the electronic control assembly is to be based, that is based on the processed power tool sensor data, wherein the output includes a detected application of the power tool; and transmit, via the first transceiver, the updated machine learning control program to the power tool. Claim 18 An external system device in communication with a power tool, the external system device comprising: a first transceiver for wirelessly communicating with a second transceiver positioned within a housing of the power tool; and a first machine learning controller in communication with the first transceiver, the machine learning controller including an electronic processor and a memory, the first machine learning controller configured to: receive, via the first transceiver, tool usage data from the power tool from the second transceiver including feedback collected by the power tool, train a machine learning control program using the tool usage data to generate an updated machine learning control program, the updated machine learning control program configured to be executed by a second machine learning controller of the power tool to cause the second machine learning controller of the power tool to: receive power tool sensor data as input, wherein the sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool, process the power tool sensor data, using the machine learning control program, and provide an output, on which motor control is to be based, to a power tool electronic controller that controls a motor of the power tool based on the processed sensor data, wherein the output includes a detected application of the power tool; and transmit, via the transceiver, the updated machine learning control program to the power tool. Claim 21 The external system device of claim 20, wherein the external system device is at least one selected from a group of a server, a smart telephone, a tablet computer, a laptop computer, and a wireless hub. Claim 19 The external system device of claim 18, wherein the external system device is at least one selected from the group of a server, a smart telephone, a tablet computer, a laptop computer, and a wireless hub. Claim 22 The external system device of claim 20, wherein the feedback is at least one selected from a group of positive feedback indicating a correct classification by the machine learning control program and negative feedback indicating an incorrect classification by the machine learning control program. Claim 20 The external system device of claim 18, wherein the feedback is at least one selected from the group of positive feedback indicating a correct classification by the machine learning program and negative feedback indicating an incorrect classification by the machine learning program. Claim 23 The external system device of claim 20, wherein the first machine learning controller is further configured to: receive, via the first transceiver, further tool usage data from another power tool including further feedback collected by the power tool, and train the machine learning control program using the further tool usage data to generate the updated machine learning control program that is transmitted to the power tool. Claim 18 An external system device in communication with a power tool, the external system device comprising: a first transceiver for wirelessly communicating with a second transceiver positioned within a housing of the power tool; and a first machine learning controller in communication with the first transceiver, the machine learning controller including an electronic processor and a memory, the first machine learning controller configured to: receive, via the first transceiver, tool usage data from the power tool from the second transceiver including feedback collected by the power tool, train a machine learning control program using the tool usage data to generate an updated machine learning control program, the updated machine learning control program configured to be executed by a second machine learning controller of the power tool to cause the second machine learning controller of the power tool to: receive power tool sensor data as input, wherein the sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool, process the power tool sensor data, using the machine learning control program, and provide an output, on which motor control is to be based, to a power tool electronic controller that controls a motor of the power tool based on the processed sensor data, wherein the output includes a detected application of the power tool; and transmit, via the transceiver, the updated machine learning control program to the power tool. Claim 24 The external system device of claim 20, wherein the electronic control assembly comprises: a second machine learning controller with a second processor and a second memory, wherein the second machine learning controller is configured to execute the machine learning control program to generate the output, and an electronic controller with a third processor and a third memory, wherein the electronic controller is configured to provide the power tool sensor data to the second machine learning controller and to control a motor of the power tool based on the output. Claim 18 An external system device in communication with a power tool, the external system device comprising: a first transceiver for wirelessly communicating with a second transceiver positioned within a housing of the power tool; and a first machine learning controller in communication with the first transceiver, the machine learning controller including an electronic processor and a memory, the first machine learning controller configured to: receive, via the first transceiver, tool usage data from the power tool from the second transceiver including feedback collected by the power tool, train a machine learning control program using the tool usage data to generate an updated machine learning control program, the updated machine learning control program configured to be executed by a second machine learning controller of the power tool to cause the second machine learning controller of the power tool to: receive power tool sensor data as input, wherein the sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool, process the power tool sensor data, using the machine learning control program, and provide an output, on which motor control is to be based, to a power tool electronic controller that controls a motor of the power tool based on the processed sensor data, wherein the output includes a detected application of the power tool; and transmit, via the transceiver, the updated machine learning control program to the power tool. Therefore, independent claims 1, 12, and 20 of the instant application are rejected on the grounds of nonstatutory double patenting. In view of their dependencies to a rejected base independent claim, dependent claims 2-9, 13-19, and 21-24 are also rejected. Claims 10 and 11 are rejected on the ground of nonstatutory double patenting as being unpatentable over independent claim 1 of U.S. Patent No. 11,221,611 B2 in view of Cella et al. (US Patent Publication No. 2020/0089214 A1) (“Cella”). Claim 10 recites “wherein the sensor is one of a plurality of sensors of the power tool that generate the sensor data, and wherein the plurality of sensors include two or more selected from a group of: a Hall effect sensor, a current sensor, a voltage sensor, a gyroscope, an accelerometer, a torque sensor, a sound sensor, or an impact sensor.” Claim 11 recites “wherein, to process the sensor data, using the machine learning control program executed on the processor, the machine learning control program is configured to process, intermediary data derived from raw sensor data output by the sensor.” Cella describes in Paragraph [0631] (“Depending on the type of equipment, the component being measured, the environment in which the equipment is operating, and the like, sensors 8106 may comprise one or more of, without limitation, a vibration sensor, a thermometer, a hygrometer, a voltage sensor and/or a current sensor (for the component and/or other sensors measuring the component), an accelerometer, a velocity detector, a light or electromagnetic sensor (e.g., determining temperature, composition, and/or spectral analysis, and/or object position or movement), an image sensor, a structured light sensor, a laser-based image sensor, a thermal imager, an acoustic wave sensor, a displacement sensor, a turbidity meter, a viscosity meter, an axial load sensor, a radial load sensor, a tri-axial sensor, an accelerometer, a speedometer, a tachometer, a fluid pressure meter, an air flow meter, a horsepower meter, a flow rate meter, a fluid particle detector, an optical (laser) particle counter, an ultrasonic sensor, an acoustical sensor, a heat flux sensor, a galvanic sensor, a magnetometer, a pH sensor, and the like, including, without limitation, any of the sensors described throughout this disclosure and the documents incorporated by reference.) Cella also describes in Paragraph [1102] (“sensor may, additionally or alternatively, provide a processed value (e.g., a de-bounced, filtered, and/or compensated value) and/or a raw value, with processing downstream (e.g., in a data collector, controller, plant computer, and/or on a cloud-based data receiver). In certain embodiments, a sensor provides a voltage, current, data file (e.g., for images), or other raw data output, and/or a sensor provides a value representative of the intended sensed measurement (e.g., a temperature sensor may communicate a voltage or a temperature value). Additionally or alternatively, a sensor may communicate wirelessly, through a wired connection, through an optical connection, or by any other mechanism. The described examples of sensor types and/or communication parameters are non-limiting examples for purposes of illustration.”) Accordingly, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of U.S. Patent No. 11,221,611 B2 and Cella before them, for the sensor to be one of a plurality of sensors of the power tool that generate the sensor data, and wherein the plurality of sensors include two or more selected from a group of: a Hall effect sensor, a current sensor, a voltage sensor, a gyroscope, an accelerometer, a torque sensor, a sound sensor, or an impact sensor and for the machine learning control program to be configured to process, intermediary data derived from raw sensor data output by the sensor as taught in Cella because the reference is in the same field of endeavor as the claimed invention and it is focused on data monitoring and processing. One of ordinary skill in the art before the effective filing date of the claimed invention would have been motivated to do this modification because it would enable industrial machine sensor data streaming, collection, processing, and storage to operate and integrate with existing data collection, processing and storage systems by receiving first data from sensors deployed to monitor aspects of an industrial machine associated with at least one moving part of the machine. Cella: Paragraph [0059] Therefore, claims 10 and 11 of the instant application are rejected on the grounds of nonstatutory double patenting. Claims 1-19 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-16 of US Patent No. 12,153,402 B2 to Abbott et al. (US Patent Application No. 17/572,109). This is a nonstatutory double patenting rejection. Although the claims at issue are not identical, they are not patentably distinct from each other because the claims of US Patent No. 12,153,402 recite very similar structure and functionality. Present US Patent Application No. 18/912,099 US Patent No. 12,153,402 B2 Claim 1 A power tool comprising: a housing; a motor supported by the housing; a sensor supported by the housing and configured to generate sensor data associated with the power tool, wherein the sensor data indicates one or more of motor speed data, motor position data, motor acceleration data, motor current data, temperature data, impact data, sound data, torque data, spindle position data, spindle speed data, battery voltage data, tool position data, and motion data of the power tool; an electronic control assembly including a processor and a memory, the electronic control assembly supported by the housing and connected to the motor, the electronic control assembly configured to: receive the sensor data, process the sensor data, using a machine learning control program executed on the processor, wherein the machine learning control program is a trained machine learning control program, and generate, using the machine learning control program, an output based on the sensor data, wherein the output includes an indication of a detected application of the power tool, the detected application corresponding to at least one selected from a group of a type of fastener, a type of implement driven by the power tool, and a type of material on which the power tool is working; and control the motor based on the output. Claim 1 power tool comprising: a housing; a motor supported by the housing; one or more sensors supported by the housing and configured to generate sensor data associated with the power tool, wherein the sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool; a machine learning controller including a first processor and a first memory, the machine learning controller supported by the housing, coupled to the one or more sensors, and including a machine learning control program, the machine learning controller configured to: receive the sensor data, process the sensor data using the machine learning control program, generate, using the machine learning control program, an output based on the sensor data, wherein the output includes an indication of a detected application of the power tool, and … Claim 6 The power tool of claim 1, wherein the machine learning controller is further configured to: receive feedback regarding the control of the motor based on the output; provide the feedback to the machine learning control program to train the machine learning control program; receive further sensor data from the sensor; process the further sensor data using the machine learning control program trained with the feedback; and generate, using the machine learning control program trained with the feedback, a further output based on the further sensor data. Claim 1 …generate, using the machine learning control program, a suggested operating mode change based on the output; and an electronic controller including a second processor and a second memory, the electronic controller supported by the housing and connected to the machine learning controller, the electronic controller configured to: receive the output and the suggested operating mode change from the machine learning controller, store the suggested operating mode in the second memory, and… Claim 2 The power tool of claim 1, wherein the detected application is at least one selected from the group of a type of fastener, a type of implement driven by the power tool, and a type of material on which the power tool is working. Claim 1 control the motor based on the output and the stored suggested operating mode change. Claim 12 A method of operating a power tool comprising: generating, by a sensor of the power tool, sensor data associated with the power tool, wherein the sensor data indicates one or more of motor speed data, motor position data, motor acceleration data, motor current data, temperature data, impact data, sound data, torque data, spindle position data, spindle speed data, battery voltage data, tool position data, and motion data of the power tool; receiving, by an electronic control assembly of the power tool, the sensor data, the electronic control assembly including a memory and a processor configured to execute instructions stored on the memory; processing, by the electronic control assembly, the sensor data using a machine learning control program of the electronic control assembly; generating, using the machine learning control program, an output based on the sensor data, wherein the output includes a condition of at least one selected from a group of a fastener being driven by the power tool, an accessory of the power tool, and a workpiece on which the power tool is working; and controlling, by the electronic control assembly, a motor of the power tool based on the output. Claim 10 A method of operating a power tool, the method comprising: generating, by a sensor of the power tool, sensor data associated with the power tool, wherein the sensor data includes one or more motor speed data, motor current data, battery voltage data, and motion data of the power tool; receiving, by an electronic controller, the sensor data, the electronic controller including a first memory and a first processor configured to execute instructions stored on the first memory; calculating, by the electronic controller, one or more metrics based on the received sensor data; receiving, by a machine learning controller, the sensor data and the metrics; determining, using a machine learning control program of a machine learning controller, an abnormal operating condition of an accessory coupled to an output of a motor of the power tool based on the sensor data and the metrics; generating an output by the machine learning controller, wherein the output includes the determined abnormal operating condition of the accessory; receiving, by the electronic controller, the output from the machine learning controller; and controlling, by the electronic controller, a motor of the power tool based on the output. Therefore, independent claims 1 and 12 of the instant application are rejected on the grounds of nonstatutory double patenting. In view of their dependencies to a rejected base independent claim, dependent claims 2-9 and 11-19 are also rejected. Allowable Subject Matter The subject matter of independent claims 1, 12, and 20 is found to be allowable over the prior art of record and would be considered allowable pending the nonstatutory double patenting rejection given above. EP1398119B1 to Jacubasch et al. (“Jacubasch”) teaches: A power tool comprising: a housing; a motor supported by the housing; Jacubasch: Paragraph [0015] (“Figure 1 shows schematically a rotary hammer having a main housing (2), a rear handle (4) and a tool holder (6) which latter is located at the front end of the hammer. A tool or bit (8) can be non-rotatably and releasably locked within the tool holder so as to reciprocate to a limited extent within the tool holder, as is well known in the art. The hammer is powered by an electric motor (10) which is connected to an external electricity supply and is actuated when a trigger switch (12) mounted adjacent to the rear handle is depressed.”) [The rotary hammer reads on “a power tool”.] a sensor supported by the housing and configured to generate sensor data associated with the power tool, Jacubasch: Paragraph [0019] (“The hammer shown in Figure 1 also incorporates a safety cut-off system, a block diagram of which is shown in Figure 2, for detecting blocking events when the tool or bit (8) becomes blocked in the workpiece and the hammer housing (2) starts to rotate in the hands of the user. The safety cut-off system comprises a central processing unit (42) comprising signal conditioning units (44, 46, 48), neural network unit (50), adder unit (52) and presentable comparator unit (54). In addition, the safety cut-off system comprises a current sensor (56) for detecting the amount of current drawn by the motor (10); an r.p.m. sensor (58) for detecting the number of rotations per minute of the motor (10); a torque sensor (60) for detecting the torque between the rear handle (4) of the hammer and the main housing (2) of the hammer; a first linear accelerometer (62) for detecting acceleration of the hammer housing (2) in a first direction; and a second linear accelerometer (64) for detecting acceleration of the hammer housing (2) in a second direction, perpendicular to the first. The sensors (56, 58, 60, 62, 64) are connected to the central processing unit (42) and the outputs of each sensor are sampled periodically by the central processing unit (42) ...”) wherein the sensor data indicates one or more of motor speed data, motor position data, motor acceleration data, motor current data, temperature data, impact data, sound data, torque data, spindle position data, spindle speed data, battery voltage data, tool position data, and motion data of the power tool; Jacubasch: Paragraph [0019] [As described above.] [The r.p.m. sensor detecting the number of rotations per minute of the motor reads on “motor speed data”. The current sensor detecting the amount of current drawn by the motor reads on “motor current data”. The torque sensor detecting the torque reads on “torque data”. The first and second linear accelerometer detecting acceleration reads on “motor acceleration data”.] an electronic control assembly including a processor and a memory, the electronic control assembly supported by the housing and connected to the motor, the electronic control assembly configured to: Jacubasch: Paragraph [0019] [As described above.] [The central processing unit reads on “an electronic control assembly”.] receive the sensor data, process the sensor data, using a machine learning control program executed on the processor, wherein the machine learning control program is a trained machine learning control program, and … Jacubasch: Paragraph [0021] (“The neural network (50) is separately trained for each different model of hammer to which it is applied. The neural network (50) used in the hammer of Figure 1 will be trained to associate a set of signals each representing a probability of a blocking event with the input into it from the sensor (56, 58, 60, 62, 64). The set of probability signals (66, 68, 70, 72, 74) are output from the neural network and input into the adder unit (52). In Figure 2 the number of output probability signals (77-74) is equal to the number input sensor signals, but this is not essential.”) Jacubasch: Paragraph [0028] (“The neural network (50) of Figure 2, may alternatively be a wavelet neural network of the type shown in Figure 3, which includes a wavelet transformation unit (80) and a neural network unit (82). A set of sampled signals from each sensor over a preset time interval will be input into the transformation unit (80). For example a set of sampled signals from one of the sensors could be in the form of the attached Figure 4a. Each signal input into the transformation unit (80) will be transformed using a linear one-dimensional wavelet transform, of the form set out below, into the signal form shown in Figure 4c.”) Jacubasch: Paragraph [0033] (“The portion of the wavelet layer (80) is composed of wavelet nodes (W) for preprocessing the input signal s(t) and extracting features which are passed to a multilayer perceptron (MLP) (81) which is forms the first processing stage of the neural network (82) of Figure 3. The wavelet nodes (W) apply to the input signal s(t) shifted and modulated versions of a mother wavelet function.”) control the motor based on the output. Jacubasch: Paragraph [0022] (“Thus, for each predetermined time interval (between successive sampling of the sensors) the neural network (50) receives an input from each sensor (56, 58, 60, 62, 64) (via signal conditioning (44, 46, 48) where used) and generates a set of probability signals. Each probability signal (66-74) represents a probability of blocking event dependent on the input sensor signals and the membership function applied to the input signals by the neural network (50) to generate the output probability signal. Then all the probability signals (66-74) output from neural network (50) are summed by the adder unit (52) to generate an overall probability of a blocking event. This probability is then compared with a preset threshold in comparator unit (54). Then, if the preset threshold is exceeded the comparator unit (50) outputs a blocking signal via relay (78) which causes de-coupling of the electromagnetic clutch (38) to disconnect rotary drive to the hollow spindle (32) and thus to the bit or tool (8) and also causes a unit (80) to cut power to and brake the motor (10).” Which reads on “control the motor based on the output”.) US Patent Publication No. 2020/0089214 A1 to Cella et al. describes in Paragraph [0279] “In embodiments, the machine 2020 can further include a housing 2100 that can contain a drive motor 2110 that can drive a shaft 2120. The shaft 2120 can be supported for rotation or oscillation by a set of bearings 2130, such as including a first bearing 2140 and a second bearing 2150. A data collection module 2160 can connect to (or be resident on) the machine 2020. In one example, the data collection module 2160 can be located and accessible through a cloud network facility 2170, can collect the waveform data 2010 from the machine 2020, and deliver the waveform data 2010 to a remote location. A working end 2180 of the drive shaft 2120 of the machine 2020 can drive a windmill, a fan, a pump, a drill, a gear system, a drive system, or other working element, as the techniques described herein can apply to a wide range of machines, equipment, tools, or the like that include rotating or oscillating elements. In other instances, a generator can be substituted for the motor 2110, and the working end of the drive shaft 2120 can direct rotational energy to the generator to generate power, rather than consume it.” Paragraph [0280] describes “In embodiments, the waveform data 2010 can be obtained using a predetermined route format based on the layout of the machine 2020. The waveform data 2010 may include data from the single axis sensor 2030 and the three-axis sensor 2050. The single-axis sensor 2030 can serve as a reference probe with its one channel of data and can be fixed at the unchanging location 2040 on the machine under survey. The three-axis sensor 2050 can serve as a tri-axial probe (e.g., three orthogonal axes) with its three channels of data and can be moved along a predetermined diagnostic route format from one test point to the next test point. In one example, both sensors 2030, 2050 can be mounted manually to the machine 2020 and can connect to a separate portable computer in certain service examples. The reference probe can remain at one location while the user can move the tri-axial vibration probe along the predetermined route, such as from bearing-to-bearing on a machine. In this example, the user is instructed to locate the sensors at the predetermined locations to complete the survey (or portion thereof) of the machine.” US Patent Publication No. 2019/0034803 A1 to Gotou (“Gotou”) describes information processing apparatus generates multiple combinations of sensor data inputted to a machine learning apparatus, inputs the combinations of sensor data to the machine learning apparatus, and generates a recognizer corresponding to each of the combinations of sensor data. Further, the performance of the recognizers is evaluated in accordance with expected performance required for the recognizers, and the combinations of sensor data corresponding to the recognizers satisfying the expected performance are outputted. Thus, the rates of contribution of two or more pieces of sensor data inputted to the machine learning apparatus are evaluated, and the configuration of sensors is optimized. Paragraph [0031] provides “Sensor data 60 are measured values (sensor data) outputted by sensors that measure various states of an environment. For example, a temperature sensor, a displacement sensor, a pressure sensor, a current sensor, a speed sensor, an acceleration sensor, a camera, an illuminance sensor, a microphone, a smell sensor, a length measure, and the like output the sensor data 60. The present embodiment includes two or more sensors, and the sensors each output different types of sensor data. For example, the sensor data 60 can be a combination of audio data outputted by a microphone, acceleration data outputted by an acceleration sensor, image data outputted by a camera for capturing an image of a top surface of a workpiece, and image data outputted by a camera for capturing an image of a side surface of the workpiece. The information processing apparatus 100 receives the sensor data 60 through an interface 18, and passes the sensor data 60 to the CPU 11.” Gotou describes in Paragraph [0032] “Determination data 70 are data learned in association with the sensor data 60 in machine learning. For example, in the case where a machine learning model for performing motor anomaly detection using the sensor data 60 is generated, when the sensor data 60 is inputted to the interface 18, data indicating the normality or abnormality of a motor, which are the determination data 70, are inputted to the interface 19. For example, in the case where an operator recognizes the normality or abnormality of the motor and inputs the result of recognition to a keyboard, the information processing apparatus 100 receives data outputted from the keyboard as the determination data 70 through the interface 19, and passes the determination data 70 to the CPU 11.” Paragraph [0033] describes “An interface 21 is an interface for connecting the information processing apparatus 100 and a machine learning apparatus 300. The machine learning apparatus 300 includes a processor 301 for controlling the entire machine learning apparatus 300, a ROM 302 storing system programs and the like, a RAM 303 for storing temporary data in processes involved in machine learning, and a non-volatile memory 304 for storing a learning model and the like. The machine learning apparatus 300 can observe, through the interface 21, various kinds of sensor data that the information processing apparatus 100 can acquire. It should be noted that the processor and the ROM of the machine learning apparatus 300 may be the same as those of the information processing apparatus 100. Further, the processor may have a GPU or an FPGA or both to increase the processing speed.” US Patent Publication No. 2026/0001181 A1 to Baratta describes machine tools are described having microchip packages with powered electronic circuits and sensors for sensing data relative to operation of the tool, where the sensors are embedded in the microchip packages and/or remote on the tool from the microchip packages. In Paragraph [0128], the reference describes multiple temperature sensors can be used to map a temperature profile of the tool, with or without approximating or mapping algorithms. Data from any one or several of the temperature sensors can be used to adjust coolant supply, tool speed, rate of advance or feed rate, as well as other operating conditions. The data can also be used for tool and machine analysis for example through calculations on remote machines or servers. Such data can then be used to better operate machines, set operating parameters for such tools, as well as possibly improved tool design. Similarly, data from any other sensors associated with any of the microchip packages can be used for adjusting machine operation and other operating conditions for tool and machine analysis, and for setting operating data for machines and tools as well as for possible improved tool design. However, individually or combined, the prior art of record (see Jacubasch et al. (EP 1398119 A1) [Cited in IDS filed December 16, 2024]; US Patent Publication No. 2018/0026573 A1 to Akashi et al.; US Patent Publication No. 2020/0089214 A1 to Cella et al.; US Patent Publication No. 2019/0034803 A1 to Gotou; US Patent Publication No. 2026/0001181 A1 to Baratta) does not teach or suggest “wherein the sensor data indicates one or more of motor speed data, motor position data, motor acceleration data, motor current data, temperature data, impact data, sound data, torque data, spindle position data, spindle speed data, battery voltage data, tool position data, and motion data of the power tool…generate, using the machine learning control program, an output based on the sensor data, wherein the output includes an indication of a detected application of the power tool, the detected application corresponding to at least one selected from a group of a type of fastener, a type of implement driven by the power tool, and a type of material on which the power tool is working,” as recited in independent claim 1; “wherein the sensor data indicates one or more of motor speed data, motor position data, motor acceleration data, motor current data, temperature data, impact data, sound data, torque data, spindle position data, spindle speed data, battery voltage data, tool position data, and motion data of the power tool…generating, using the machine learning control program, an output based on the sensor data, wherein the output includes a condition of at least one selected from a group of a fastener being driven by the power tool, an accessory of the power tool, and a workpiece on which the power tool is working”, as recited in independent claim 12; and “wherein the power tool sensor data includes one or more of motor speed data, motor current data, battery voltage data, and motion data of the power tool, process the power tool sensor data, using the machine learning control program, and generate an output, on which motor control by the electronic control assembly is to be based, that is based on the processed power tool sensor data, wherein the output includes a detected application of the power tool”, as recited in independent claim 20. It is this concept that defines the present application over the prior art of record. In view of their dependencies to an allowable claim, claims 3-11, 14-19 and 21-24 are found to be allowable over prior art. Pending the indefiniteness rejection, claims 2 and 13 are found allowable over prior art. As allowable subject matter has been indicated, applicant's reply must either comply with all formal requirements or specifically traverse each requirement not complied with. See 37 CFR 1.111(b) and MPEP § 707.07(a). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US Patent Publication No. 2018/0026573 A1 to Akashi et al. (“Akashi”) describes a machine learning device which learns a current command for a motor, the machine learning device including a state observation unit which observes a state variable including a motor rotation speed or a motor torque command of the motor and at least one of a motor torque, a motor current, and a motor voltage of the motor; and a learning unit which learns the current command for the motor based on the state variable. Akashi describes in Paragraph [0028] “The state variable observed by the state observation unit 21, such as a motor rotation speed (or motor torque command) of the motor 11 and a motor torque, a motor current, and a motor voltage of the motor 11 is inputted from, for example, a sensor (unillustrated) provided to the motor control unit 12, the motor drive unit 3, or the motor 11 to the state observation unit 21. Further, as the motor 11, for example, a three-phase alternating-current synchronous motor, such as a PMSM (three-phase alternating-current permanent magnet synchronous motor using a d-q three-phase coordinate transformation) can be employed, and the current command for the motor 11 which is learned by the learning unit 22 may include, for example, a d-axis current command id* and a q-axis current command iq* which are electrically and magnetically orthogonal to each other.” Paragraph [0043] describes “Note that the machine learning device 2 as described with reference to FIG. 1 employs “reinforcement learning”, and the machine learning device 4 as described later with reference to FIG. 7 employs “supervised learning”. Such machine learning devices 2 and 4 may use a general-purpose computer or a processor, but if, for example, general-purpose computing on graphics processing units (GPGPU), large-scale PC clusters or the like is applied, higher processing is possible.” Paragraph [0044] provides “First, supervised learning is a model (error model) in which supervised data, i.e., a large quantity of data sets of certain inputs and results (labels) are provided to the machine learning device 4 to learn features in the data sets and a model (error model) for estimating the results from the input, in other words, their relationship is inductively acquired. For example, it can be implemented using an algorithm, such as a neural network as described below.” Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALICIA M. CHOI whose telephone number is (571)272-1473. The examiner can normally be reached on Monday - Friday 7:30 am to 5:00 pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Robert Fennema can be reached on 571-272-2748. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ALICIA M. CHOI/Primary Patent Examiner, Art Unit 2117
Read full office action

Prosecution Timeline

Oct 10, 2024
Application Filed
Sep 16, 2026
Non-Final Rejection mailed — §112, §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12742562
INDOOR ENVIRONMENT CONTROL SYSTEM AND OPERATION METHOD THEREOF
2y 10m to grant Granted Sep 22, 2026
Patent 12736936
METHOD FOR OPERATING A FIELD DEVICE, AND SYSTEM FOR OPERATING FIELD DEVICES
3y 1m to grant Granted Sep 15, 2026
Patent 12729870
VARIABLE REFRIGERANT FLOW SYSTEM WITH ZONE GROUPING
3y 3m to grant Granted Sep 08, 2026
Patent 12725210
SYSTEM AND METHOD FOR CULTIVATING ROUGHAGE
2y 10m to grant Granted Sep 01, 2026
Patent 12716604
INTEGRATED HVAC CONTROL SYSTEM FOR HYBRID HVAC SYSTEMS HAVING DUCTED AND/OR DUCTLESS HVAC SYSTEMS
3y 4m to grant Granted Aug 25, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
79%
Grant Probability
99%
With Interview (+28.6%)
2y 6m (~6m remaining)
Median Time to Grant
Low
PTA Risk
Based on 376 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month