IP Library Granted Patent US 12,711,810
Granted Patent B2
US 12,711,810 · App. 19/135,272 · Granted Aug 18, 2026

Method, apparatus and system for implementing fingerprint enrollment

Inventors: Baohua Ma (Beijing, CN); Zhou Lu (Beijing, CN)
Assignee: Feitian Technologies Co., Ltd.
G06V40/50G06V40/67
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,711,810
App. No.
19/135,272
Granted
Aug 18, 2026
Kind
B2
Abstract

A method for implementing fingerprint enrollment. Upon detecting a level change at a card presence detect pin of a card holder, an MCU controls to supply power to a fourth contact of a card holder after pulling down a fifth I/O pin, controls a second I/O pin and a third I/O pin to output low and high levels respectively. The MCU enables and resets a second timer when the first contact of the card holder outputs the high and low levels in sequence; delays a second preset duration when the first contact of the card holder outputs the high level and a count of the second timer is within a first preset range; prompts that the fingerprint enrollment is successful when the first contact of the card holder outputs the low level, and prompts a user to enroll his fingerprint when a first timer reaches the first preset duration.

Claims (130)

1 . An apparatus for implementing fingerprint enrollment, comprising:

at least one processor, a memory, and instructions stored on the memory and executable by the at least one processor, wherein the at least one processor executes the instructions to implement the following steps:

Step S 1 : upon detecting a level change at a card presence detect pin of a card holder, controlling, by a microcontroller unit (MCU), a MOSFET to turn on to supply power to a fourth contact of the card holder after pulling down a fifth I/O pin, and controlling, by the MCU, a second I/O pin to output a low level and a third I/O pin to output a high level;

Step S 2 : determining, by the MCU, whether an output level of a first contact of the card holder is a high level; if so, executing Step S 3 ; otherwise, returning to the Step S 2 ;

Step S 3 : determining, by the MCU, whether the output level of the first contact of the card holder is a low level; if so, enabling and resetting a second timer, and executing Step S 4 ; otherwise, returning to the Step S 3 ;

Step S 4 : determining, by the MCU, whether the output level of the first contact of the card holder is the high level; if so, executing Step S 6 ; otherwise, executing Step S 5 ;

Step S 5 : determining, by the MCU, whether a count of the second timer is less than a second preset duration; if so, returning to the Step S 4 ; otherwise, prompting that a fingerprint card is malfunctioning;

Step S 6 : determining, by the MCU, whether the count of the second timer is within a first preset range; if so, delaying the second preset duration and executing Step S 8 ; otherwise, executing Step S 7 ;

Step S 7 : determining, by the MCU, whether the count of the second timer is within a second preset range; if so, returning to the Step S 3 ; otherwise, prompting that the fingerprint card is malfunctioning;

Step S 8 : detecting, by the MCU, the output level of the first contact of the card holder; if the output level of the first contact of the card holder is the low level, prompting that the fingerprint enrollment is successful; if the output level of the first contact of the card holder is the high level, prompting that the fingerprint enrollment is failed;

between the Step S 1 and the Step S 2 , the at least one processor further executes the instructions to implement the following steps: initializing, by the MCU, a first timer, setting an interrupt time to a first preset duration, and enabling a timer interrupt; and

and the at least one processor further executes the instructions to implement the following steps: entering a timer interrupt processing when the first timer reaches the first preset duration, wherein the timer interrupt processing comprises prompting a user to enroll a fingerprint.

2 . The apparatus according to claim 1 , wherein the at least one processor further executes the instructions to implement the following steps:

writing, by the MCU, a first preset character into a display memory inside the MCU, driving, by the MCU, a drive pin to output a first drive signal;

after receiving the first drive signal, displaying, by a screen, the first preset character under drive of the first drive signal;

wherein the prompting that the fingerprint enrollment is failed, comprises:

writing, by the MCU, a second preset character into the display memory inside the MCU, driving, by the MCU, a drive pin to output a second drive signal;

after receiving the second drive signal, displaying, by the screen, the second preset character under drive of the second drive signal;

wherein the prompting that the fingerprint enrollment is successful, comprises:

writing, by the MCU, a number of successful fingerprint enrollments and a third preset character into the display memory inside the MCU, and driving, by the MCU, a drive pin to output a third drive signal; and

after receiving the third drive signal, displaying, by the screen, the number of successful fingerprint enrollments and the third preset character under drive of the third drive signal.

3 . The apparatus according to claim 1 , wherein the at least one processor further executes the instructions to implement the following steps between the Step S 1 and the Step S 2 : initializing, by the MCU, a number of times for which a fingerprint of each finger needs to be enrolled and/or a number of fingers that need to be enrolled;

before the prompting that the fingerprint enrollment is successful in the Step S 8 , the at least one processor further executes the instructions to implement the following steps: enrolling a fingerprint of a current finger multiple times and/or enrolling fingerprints of multiple fingers;

wherein the enrolling a fingerprint of a current finger multiple times comprises:

Step P 1 : updating, by the MCU, a number of successful fingerprint enrollments for the current finger and prompting an enrollment progress;

Step P 2 : determining, by the MCU, whether the enrollment of the current finger has been completed based on the number of successful fingerprint enrollments for the current finger and the number of times for which the fingerprint of each finger needs to be enrolled; if so, the enrollment for the current finger has been completed; otherwise, returning to the Step S 2 ;

wherein the enrolling fingerprints of multiple fingers comprises:

Step Q 1 : after the enrollment of the current finger has been completed, updating, by the MCU, a number of fingers whose enrollments have been completed, determining whether another finger needs to be enrolled based on the number of fingers whose enrollments have been completed and the number of fingers that need to be enrolled; if so, taking a next to-be-enrolled finger as the current finger, and executing Step Q 2 ; otherwise, executing Step Q 3 ;

Step Q 2 : prompting, by the MCU, a number of fingers currently being enrolled, and returning to the Step S 2 ; and

Step Q 3 : after pulling up the fifth I/O pin, controlling, by the MCU, the MOSFET to turn off to disconnect power to the fourth contact of the card holder, and controlling, by the MCU, the second I/O pin to output a high level and the third I/O pin to output a low level.

4 . The apparatus according to claim 3 , wherein the at least one processor further executes the instructions to implement the following steps:

updating, by the MCU, progress information based on the number of successful fingerprint enrollments for the current finger, writing the progress information into a display memory inside the MCU, and driving, by the MCU, a drive pinto output a progress drive signal;

after receiving the progress drive signal, displaying, by a screen, a fingerprint enrollment progress based on the progress information under drive of the progress drive signal;

wherein the prompting, by the MCU, a number of fingers currently being enrolled, comprises:

Step Q 21 : updating, by the MCU, the number of fingers currently being enrolled based on the number of fingers whose enrollments have been completed, writing the number of fingers currently being enrolled into the display memory inside the MCU, and driving, by the MCU, a drive pin to output a quantity drive signal; and

Step Q 22 : after receiving the quantity drive signal, displaying, by the screen, the number of fingers currently being enrolled under drive of the quantity drive signal.

5 . The apparatus according to claim 3 , wherein between Step S 1 and Step S 2 , the at least one processor further executes the instructions to implement the following steps: setting, by the MCU, to allow a fingerprint icon and a numeric icon to flash, and setting, by the MCU, to allow the fingerprint icon and the numeric icon to be displayed;

wherein the prompting the user to enroll the fingerprint, comprises:

Step A 1 : determining, by the MCU, whether the fingerprint icon is allowed to flash; if so, executing Step A 2 ; otherwise, executing Step A 7 ;

Step A 2 : determining, by the MCU, whether the fingerprint icon is allowed to be displayed; if so, executing Step A 3 ; otherwise, executing Step A 5 ;

Step A 3 : writing, by the MCU, the fingerprint icon into a display memory inside the MCU, and driving, by the MCU, a drive pin to output a fingerprint drive signal;

Step A 4 : after receiving the fingerprint drive signal, displaying, by a screen, the fingerprint icon under drive of the fingerprint drive signal, and Step A 7 is executed;

Step A 5 : clearing, by the MCU, the fingerprint icon in the display memory inside the MCU and driving, by the MCU, a drive pin to output a clearing drive signal;

Step A 6 : after receiving the clearing drive signal, clearing, by the screen, the displayed fingerprint icon under drive of the clearing drive signal, and Step A 7 is executed;

Step A 7 : determining, by the MCU, whether the numeric icon is allowed to flash; if so, executing Step A 8 ; otherwise, exiting the timer interrupt;

Step A 8 : determining, by the MCU, whether the numeric icon is allowed to be displayed; if so, executing Step A 9 ; otherwise, executing Step A 11 ;

Step A 9 : writing, by the MCU, the numeric icon indicating the number of fingers currently being enrolled into the display memory inside the MCU, and driving, by the MCU, a drive pin to output a numeric drive signal;

Step A 10 : after receiving the numeric drive signal, displaying, by the screen, the numeric icon under drive of the numeric drive signal, and the timer interrupt is exited;

Step A 11 : clearing, by MCU, the numeric icon in the display memory inside the MCU and driving, by MCU, a drive pin to output a clearing drive signal;

Step A 12 : after receiving the clearing drive signal, clearing, by the screen, the displayed numeric icon under drive of the clearing drive signal, and the timer interrupt is exited;

when enrolling the fingerprint of each finger multiple times and enrolling the fingerprints of the multiple fingers, the Step P 1 further comprises: setting to disallow the fingerprint icon from flashing;

Step Q 2 further comprises: setting to allow the fingerprint icon to flash; and

Step Q 3 further comprises: disabling the timer interrupt.

6 . The apparatus according to claim 1 , wherein after prompting that the fingerprint card is malfunctioning and/or prompting that the fingerprint enrollment is successful, the at least one processor further executes the instructions to implement the following steps:

Step D 1 : enabling, by the MCU, a third timer, and driving, by the MCU, a drive pin to output a clearing drive signal when a count of the third timer reaches a third preset duration;

Step D 2 : after receiving the clearing drive signal, clearing, by a screen, displayed content under drive of the clearing drive signal, and returning, by the screen, a success signal to the MCU after the clearing is completed; and

Step D 3 : after receiving the success signal, executing, by the MCU, a sleep command, and enabling a device to enter a sleep state.

7 . A method for implementing fingerprint enrollment, comprising:

Step S 1 : upon detecting a level change at a card presence detect pin of a card holder, controlling, by a microcontroller unit (MCU), a MOSFET to turn on to supply power to a fourth contact of the card holder after pulling down a fifth I/O pin, and controlling, by the MCU, a second I/O pin to output a low level and a third I/O pin to output a high level;

Step S 2 : determining, by the MCU, whether an output level of a first contact of the card holder is a high level; if so, executing Step S 3 ; otherwise, returning to the Step S 2 ;

Step S 3 : determining, by the MCU, whether the output level of the first contact of the card holder is a low level; if so, enabling and resetting a second timer, and executing Step S 4 ; otherwise, returning to the Step S 3 ;

Step S 4 : determining, by the MCU, whether the output level of the first contact of the card holder is the high level; if so, executing Step S 6 ; otherwise, executing Step S 5 ;

Step S 5 : determining, by the MCU, whether a count of the second timer is less than a second preset duration; if so, returning to the Step S 4 ; otherwise, prompting that a fingerprint card is malfunctioning;

Step S 6 : determining, by the MCU, whether the count of the second timer is within a first preset range; if so, delaying the second preset duration and executing Step S 8 ; otherwise, executing Step S 7 ;

Step S 7 : determining, by the MCU, whether the count of the second timer is within a second preset range; if so, returning to the Step S 3 ; otherwise, prompting that the fingerprint card is malfunctioning;

Step S 8 : detecting, by the MCU, the output level of the first contact of the card holder; if the output level of the first contact of the card holder is the low level, prompting that the fingerprint enrollment is successful; if the output level of the first contact of the card holder is the high level, prompting that the fingerprint enrollment is failed;

between the Step S 1 and the Step S 2 , the method comprises: initializing, by the MCU, a first timer, setting an interrupt time to a first preset duration, and enabling a timer interrupt; and

the method further comprises: entering a timer interrupt processing when the first timer reaches the first preset duration, wherein the timer interrupt processing comprises prompting a user to enroll a fingerprint.

8 . The method according to claim 7 , wherein prompting that the fingerprint card is malfunctioning, comprises:

writing, by the MCU, a first preset character into a display memory inside the MCU, driving, by the MCU, a drive pin to output a first drive signal;

after receiving the first drive signal, displaying, by a screen, the first preset character under drive of the first drive signal;

wherein the prompting that the fingerprint enrollment is failed, comprises:

writing, by the MCU, a second preset character into the display memory inside the MCU, driving, by the MCU, a drive pin to output a second drive signal;

after receiving the second drive signal, displaying, by the screen, the second preset character under drive of the second drive signal;

wherein the prompting that the fingerprint enrollment is successful, comprises:

writing, by the MCU, a number of successful fingerprint enrollments and a third preset character into the display memory inside the MCU, and driving, by the MCU, a drive pin to output a third drive signal; and

after receiving the third drive signal, displaying, by the screen, the number of successful fingerprint enrollments and the third preset character under drive of the third drive signal.

9 . The method according to claim 7 , wherein between Step S 1 and Step S 2 , the method comprises: initializing, by the MCU, a number of times for which a fingerprint of each finger needs to be enrolled and/or a number of fingers that need to be enrolled;

before the prompting that the fingerprint enrollment is successful in the Step S 8 , the method further comprises: enrolling a fingerprint of a current finger multiple times and/or enrolling fingerprints of multiple fingers;

wherein the enrolling a fingerprint of a current finger multiple times comprises:

Step P 1 : updating, by the MCU, a number of successful fingerprint enrollments for the current finger and prompting an enrollment progress;

Step P 2 : determining, by the MCU, whether the enrollment of the current finger has been completed based on the number of successful fingerprint enrollments for the current finger and the number of times for which the fingerprint of each finger needs to be enrolled; if so, the enrollment for the current finger has been completed; otherwise, returning to the Step S 2 ;

wherein the enrolling fingerprints of multiple fingers comprises:

Step Q 1 : after the enrollment of the current finger has been completed, updating, by the MCU, a number of fingers whose enrollments have been completed, determining whether another finger needs to be enrolled based on the number of fingers whose enrollments have been completed and the number of fingers that need to be enrolled; if so, taking a next to-be-enrolled finger as the current finger, and executing Step Q 2 ; otherwise, executing Step Q 3 ;

Step Q 2 : prompting, by the MCU, a number of fingers currently being enrolled, and returning to the Step S 2 ; and

Step Q 3 : after pulling up the fifth I/O pin, controlling, by the MCU, the MOSFET to turn off to disconnect power to the fourth contact of the card holder, and controlling, by the MCU, the second I/O pin to output a high level and the third I/O pin to output a low level.

10 . The method according to claim 9 , wherein prompting the enrollment progress comprises:

updating, by the MCU, progress information based on the number of successful fingerprint enrollments for the current finger, writing the progress information into a display memory inside the MCU, and driving, by the MCU, a drive pinto output a progress drive signal;

after receiving the progress drive signal, displaying, by a screen, a fingerprint enrollment progress based on the progress information under drive of the progress drive signal; and

wherein the prompting, by the MCU, a number of fingers currently being enrolled, comprises:

Step Q 21 : updating, by the MCU, the number of fingers currently being enrolled based on the number of fingers whose enrollments have been completed, writing the number of fingers currently being enrolled into the display memory inside the MCU, and driving, by the MCU, a drive pin to output a quantity drive signal;

Step Q 22 : after receiving the quantity drive signal, displaying, by the screen, the number of fingers currently being enrolled under drive of the quantity drive signal.

11 . The method according to claim 9 , wherein between Step S 1 and Step S 2 , the method further comprises: setting, by the MCU, to allow a fingerprint icon and a numeric icon to flash, and setting, by the MCU, to allow the fingerprint icon and the numeric icon to be displayed;

wherein the prompting the user to enroll the fingerprint, comprises:

Step A 1 : determining, by the MCU, whether the fingerprint icon is allowed to flash; if so, executing Step A 2 ; otherwise, executing Step A 7 ;

Step A 2 : determining, by the MCU, whether the fingerprint icon is allowed to be displayed; if so, executing Step A 3 ; otherwise, executing Step A 5 ;

Step A 3 : writing, by the MCU, the fingerprint icon into a display memory inside the MCU, and driving, by the MCU, a drive pin to output a fingerprint drive signal;

Step A 4 : after receiving the fingerprint drive signal, displaying, by a screen, the fingerprint icon under drive of the fingerprint drive signal, and Step A 7 is executed;

Step A 5 : clearing, by the MCU, the fingerprint icon in the display memory inside the MCU and driving, by the MCU, a drive pin to output a clearing drive signal;

Step A 6 : after receiving the clearing drive signal, clearing, by the screen, the displayed fingerprint icon under drive of the clearing drive signal, and Step A 7 is executed;

Step A 7 : determining, by the MCU, whether the numeric icon is allowed to flash; if so, executing Step A 8 ; otherwise, exiting the timer interrupt;

Step A 8 : determining, by the MCU, whether the numeric icon is allowed to be displayed; if so, executing Step A 9 ; otherwise, executing Step A 11 ;

Step A 9 : writing, by the MCU, the numeric icon indicating the number of fingers currently being enrolled into the display memory inside the MCU, and driving, by the MCU, a drive pin to output a numeric drive signal;

Step A 10 : after receiving the numeric drive signal, displaying, by the screen, the numeric icon under drive of the numeric drive signal, and the timer interrupt is exited;

Step A 11 : clearing, by MCU, the numeric icon in the display memory inside the MCU and driving, by MCU, a drive pin to output a clearing drive signal;

Step A 12 : after receiving the clearing drive signal, clearing, by the screen, the displayed numeric icon under drive of the clearing drive signal, and the timer interrupt is exited;

when enrolling the fingerprint of each finger multiple times and enrolling the fingerprints of the multiple fingers, the Step P 1 further comprises: setting to disallow the fingerprint icon from flashing;

Step Q 2 further comprises: setting to allow the fingerprint icon to flash; and

Step Q 3 further comprises: disabling the timer interrupt.

12 . The method according to claim 7 , wherein after the prompting that the fingerprint card is malfunctioning and/or prompting that the fingerprint enrollment is successful, the method further comprises:

Step D 1 : enabling, by the MCU, a third timer, and driving, by the MCU, a drive pin to output a clearing drive signal when a count of the third timer reaches a third preset duration;

Step D 2 : after receiving the clearing drive signal, clearing, by a screen, displayed content under drive of the clearing drive signal, and returning, by the screen, a success signal to the MCU after the clearing is completed;

Step D 3 : after receiving the success signal, executing, by the MCU, a sleep command, and enabling a device to enter a sleep state.

13 . A non-transitory computer-readable storage medium comprising a computer program, wherein the computer program enables an electronic device to perform the method according to claim 7 when run on the electronic device.

14 . A method for implementing fingerprint enrollment, applicable for a system comprising a device and a fingerprint card, wherein the device comprises a microcontroller unit (MCU), a screen, a battery, a card power control module, and a card holder; a fifth I/O pin of the MCU is connected to a MOSFET of the card power control module, and the MOSFET of the card power control module is connected to a fourth contact of the card holder; a first I/O pin, a second I/O pin, a third I/O pin, and a fourth I/O pin of the MCU are respectively connected to a first contact, a second contact, a third contact and a card presence detect pin of the card holder; the first contact, the second contact, the third contact, the fourth contact, and a fifth contact of the card holder are respectively connected to a first pin, a second pin, a third pin, a fourth pin, and a fifth pin of a chip on the fingerprint card, and the method comprises:

Step Y 1 : when the MCU detects a level change at the card presence detect pin of the card holder, controlling, by the MCU, the MOSFET to turn on to supply power to the fourth contact of the card holder after pulling down the fifth I/O pin, and controlling, by the MCU, the second I/O pin to output a low level and the third I/O pin to output a high level;

Step Y 2 : waiting, by the fingerprint card, for a user to enroll a fingerprint after detecting that the second pin and the third pin are at the low level and the high level respectively;

Step Y 3 : determining, by the fingerprint card, whether the fingerprint enrolled by the user is received within a preset time; if so, outputting a square wave with a frequency of a first preset Hertz value through the first pin, and executing Step Y 4 ; otherwise, outputting a square wave with a frequency of a second preset Hertz value through the first pin, and Step Y 5 is executed;

Step Y 4 : determining, by the fingerprint card, whether the received fingerprint is valid; if so, outputting a low level through the first pin, and Step Y 5 is executed; otherwise, outputting a high level through the first pin, and Step Y 5 is executed;

Step Y 5 : determining, by the MCU, whether an output level of the first contact of the card holder is a high level; if so, executing Step Y 6 ; otherwise, returning to the Step Y 5 ;

Step Y 6 : determining, by the MCU, whether the output level of the first contact of the card holder is a low level; if so, enabling and resetting a second timer, and executing Step Y 7 ; otherwise, returning to the Step Y 6 ;

Step Y 7 : determining, by the MCU, whether the output level of the first contact of the card holder is the high level; if so, executing Step Y 9 ; otherwise, executing Step Y 8 ;

Step Y 8 : determining, by the MCU, whether a count of the second timer is less than a second preset duration; if so, returning to the Step Y 7 ; otherwise, prompting that the fingerprint card is malfunctioning;

Step Y 9 : determining, by the MCU, whether the count of the second timer is within a first preset range; if so, delaying the second preset duration, and executing Step Y 11 ; otherwise, executing Step Y 10 ;

Step Y 10 : determining, by the MCU, whether the count of the second timer is within a second preset range; if so, returning to the Step Y 6 ; otherwise, prompting that the fingerprint card is malfunctioning;

Step Y 11 : detecting, by the MCU, the output level of the first contact of the card holder; if the output level of the first contact of the card holder is the low level, prompting that the fingerprint enrollment is successful; if the output level of the first contact of the card holder is the high level, prompting that the fingerprint enrollment is failed;

the Step Y 1 further comprises: initializing, by the MCU, a first timer, setting an interrupt time to a first preset duration, and enabling a timer interrupt; and

the method further comprises: entering a timer interrupt processing when the first timer reaches the first preset duration, wherein the timer interrupt processing comprises prompting the user to enroll a fingerprint.

15 . A system for implementing fingerprint enrollment, comprising a device and a fingerprint card; the device comprises a microcontroller unit (MCU), a screen, a battery, a card power control module, and a card holder; a fifth I/O pin of the MCU is connected to a MOSFET of the card power control module, and the MOSFET of the card power control module is connected to a fourth contact of the card holder; a first I/O pin, a second I/O pin, a third I/O pin, and a fourth I/O pin of the MCU are respectively connected to a first contact, a second contact, a third contact and a card presence detect pin of the card holder; the first contact, the second contact, the third contact, the fourth contact, and a fifth contact of the card holder are respectively connected to a first pin, a second pin, a third pin, a fourth pin, and a fifth pin of a chip on the fingerprint card; wherein the device and the fingerprint card are configured to implement the method according to claim 14 .

16 . A non-transitory computer-readable storage medium comprising a computer program, wherein the computer program enables an electronic device to perform the method according to claim 14 when run on the electronic device.