IP Library Granted Patent US 9,286,635
Granted Patent B2
US 9,286,635 · App. 13/298,534 · Granted Mar 15, 2016

Method of transmitting information from efficient communication protocol card readers to mobile devices

Inventors: Kartik Lamba (San Francisco, CA); Amish Babu (San Francisco, CA); Michael Shyh-yen Ho (San Francisco, CA); Adam David Peter Rothschild (San Francisco, CA); Gerald Thomas Ryle (San Francisco, CA); Jack Dorsey (San Francisco, CA); James M. McKelvey (Miami, FL)
Assignee: Square, Inc.
G06Q40/02G06Q20/3224G06Q20/347G06Q30/06G07F7/0886
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 9,286,635
App. No.
13/298,534
Granted
Mar 15, 2016
Kind
B2
Abstract

A method is provided of transmitting information with a communication protocol to a mobile device. A card reader is provided with a read head that has a slot for swiping a magnetic stripe of a card, an output jack and device electronics that includes a microcontroller. The read head is used to read data on a magnetic stripe of a card. A raw magnetic signal is produced indicative of data stored on the magnetic stripe. The raw magnetic head signal is converted into a processed digital signal that the microcontroller can interpret. A synchronous Manchester encoded stream is produced that makes a greater number of 0 crossings. A Manchester encoded stream output jack signal is delivered to the mobile device through the output jack.

Claims (54)

1. A method of transmitting information with a communication protocol to a mobile device, comprising:

reading data on a magnetic stripe of a card using a read head of a card reader, the card reader having a slot for swiping the card, a pathway subsystem, a communication subsystem, a power subsystem, an output jack and device electronics including a microcontroller, code and memory, wherein the code is configured to be executed by the microcontroller and the memory is configured to store the code, the memory also configured to store a unique identifier of the card reader, the output jack being coupled to the pathway subsystem, the communication subsystem, the power subsystem and the read head;

producing a raw magnetic signal indicative of the data stored on the magnetic stripe;

converting the raw magnetic head signal into a processed digital signal that the microcontroller can interpret,

encoding the processed digital signal, by the microcontroller within the card reader, to produce an encoded stream;

running periodic checksums on the code in the memory, by the microcontroller within the card reader to ensure that the code has not been modified; and

delivering the encoded stream, by the microcontroller within the card reader, as an output jack signal via the output jack of the card reader to the mobile device, the output jack signal including the unique identifier of the card reader.

2. The method of claim 1 , further comprising:

having a sufficient number of 0 crossings to simulate a signal with a sufficiently high frequency so that an active filter of the mobile device does not cut off the output jack signal.

3. The method of claim 1 , further comprising:

applying AC coupling/filtering to the output jack signal.

4. The method of claim 1 , further comprising:

recalculate a bit period on the fly by the microcontroller to capture variable-speed swipes of the card.

5. The method of claim 1 , further comprising:

parsing and error check card data by the microcontroller.

6. The method of claim 1 , further comprising:

using thresholds with the microcontroller to filter out spurious edges.

7. The method of claim 1 , further comprising:

using the microcontroller to determine 1′s and 0′s by checking a signal level at a start of each bit period.

8. The method of claim 1 , wherein the device electronics includes an analog to digital front-end.

9. The method of claim 8 , wherein the analog to digital front end is coupled to a processing element in the microcontroller, the analog to digital front end receiving a raw magnetic head signal and converting the raw magnetic head signal into a processed digital signal that the microcontroller can interpret, the microcontroller producing a signal.

10. The method of claim 8 , wherein the analog to digital front end includes, an amplifier/filter, differentiator and a comparator.

11. The method of claim 10 , wherein the analog to digital front end further includes wake-up electronics.

12. The method of claim 1 , wherein the output jack signal is a synchronous Manchester encoded stream.

13. The method of claim 1 , wherein the output jack signal is at a frequency that the output jack signal appears to look AC to a microphone input of the mobile device.

14. The method of claim 1 , wherein a frequency of the output jack signal is 2 KHz to 48 kHz.

15. The method of claim 1 , wherein a frequency of the output jack signal is 2.4kHz.

16. The method of claim 1 , wherein the microcontroller has a non-volatile memory with a size of 2-8 kbytes, and RAM with a size 128-512 bytes.

17. The method of claim 1 , wherein the analog to digital front end is configured to capture card readings that are swept at a rate of 5 inches to 50 inches per second.

18. The method of claim 1 , wherein the read head sends the output jack signal to the mobile device at a constant baud rate.

19. The method of claim 18 , wherein the constant baud rate is 2400 to 9200 baud.

20. The method of claim 18 , further comprising:

a power source coupled to the wake-up electronics.

21. The method of claim 20 , wherein the wake-up electronics signals the microcontroller, which in turn puts the device electronics into an active mode from a sleep mode, and back into the sleep mode when a card swipe signal stops.

22. The method of claim 21 , wherein the wake-up electronics is powered down by the microcontroller when the device electronics is in the active mode.

23. The method of claim 21 , wherein the wake-up electronics utilize an op-amp.

24. The method of claim 21 , wherein the wake-up electronics utilize an op-amp, a discrete transistor, and associated passive components.

25. The method of claim 21 , wherein the wake-up electronics are powered by a microphone bias of the mobile device.

26. The method of claim 21 , wherein the wake-up electronics detects when there is an edge from leading zeros of the card being swiped and alerts to wake up the microcontroller and device electronics.

27. The method of claim 21 , wherein the device electronics wakes up in enough time to process and encrypt a card swipe signal.

28. The method of claim 1 , further comprising:

using a digital circuit of the power subsystem to raise a first voltage level provided by a bias voltage of the mobile device to a second voltage level that is higher than the first voltage level.

29. The method of claim 1 , further comprising:

checking, by the communication subsystem, a status bit in a monitor subsystem of the card reader, wherein the status bit is initially not set;

sending the unique identifier to the mobile device;

setting, by the microcontroller, the status bit in the monitor subsystem.

30. A card reader comprising:

a read head configured to read data from a magnetic stripe of a card and produce a raw magnetic signal indicative of data stored on the magnetic stripe of the card;

a communication subsystem;

a power subsystem;

a pathway subsystem in communication with the read head that routes signals to an output jack of the card reader and sends power from a mobile device coupled to the output jack of the card reader to the power subsystem;

device electronics including a microcontroller, code and memory, wherein the code is configured to be executed by the microcontroller, wherein the memory is configured to store the code, and wherein the memory is configured to store a unique identifier of the card reader;

the output jack being coupled to the communication subsystem, the power subsystem, the pathway subsystem, and the read head; and

the microcontroller configured to run checksums on the code and the memory and deliver an encoded stream via the output jack to the mobile device, the microcontroller further configured to transmit the unique identifier to the output jack via the pathway subsystem.

Assignments (4)
CHANGE OF NAME Recorded Jan 18, 2022
From: SQUARE, INC.
To: BLOCK, INC.
Reel/Frame 058753/0503 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2012
From: HO, MICHAEL SHYH-YEN; ROTHSCHILD, ADAM DP; RYLE, GERALD T
To: MINDTRIBE PRODUCT ENGINEERING, INC.
Reel/Frame 028831/0162 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2012
From: MINDTRIBE PRODUCT ENGINEERING, INC.
To: SQUARE, INC.
Reel/Frame 028831/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2012
From: LAMBA, KARTIK; BABU, AMISH; HO, MICHAEL SHYH-YEN; ROTHSCHILD, ADAM D.P.; RYLE, GERALD T.; DORSEY, JACK; MCKELVEY, JAMES M.
To: SQUARE, INC.
Reel/Frame 027636/0247 →
Continuity (14)
Continuation In Part 13192147 · Jul 27, 2011
Division 13179836 · Jul 11, 2011
Continuation In Part 12903753 · Oct 13, 2010
Continuation In Part 12903823 · Oct 13, 2010
Continuation In Part 13005822 · Jan 13, 2011
Continuation In Part 12985982 · Jan 6, 2011
Continuation In Part 13010976 · Jan 21, 2011
Continuation In Part 13012495 · Jan 24, 2011
Continuation In Part 13043203 · Mar 8, 2011
Continuation In Part 13043258 · Mar 8, 2011
Continuation In Part 13043263 · Mar 8, 2011
Continuation In Part 13043268 · Mar 8, 2011
Continuation In Part 13043270 · Mar 8, 2011
Related Publication 20120118956A1 · May 17, 2012