GPS Logger V – Full hardware

Having determined the battery and power requirements, a full schematic of the GPS logger was made. Buck regulators and Li-Ion battery chargers were investigated from a variety of manufacturers. The TC105 3.3V Buck regulator and the MCP73863 4.2V Li-Ion battery charger, both from Microchip, were chosen to provide the power needs for the project. The circuit is capable of detecting if a USB port is a Charging Port and adjusting the battery charge current to suit.

GPS Logger Schematic implementing battery charging and USB Charger Port Detection

The circuit consists of several sections, covering battery charging, voltage regulation, usb interface and the PIC and support components.

Battery Charger

Based around U1, a MCP73863 single cell Li+ battery charger from Microchip, the charging circuit allows for charging at up to 1.2A from a 5V power supply. While U1 is a single cell charger, it can be used in this application because BT1 is two 2800mAh cells connected in parallel, appearing to the charger as one large capacity single cell. R8 sets the charge current when powered from a standard USB port to 500mA. This current is also used to power the system so the actual charge current will be closer to 400mA. When a USB Charging Port is detected, R8 is bypassed by driving the gate of Q1, yielding a charge current of 1.2A.

R1, R9 and RT1 are used to monitor the temperature of the battery and will disable charging if the temperature is lower than -4°C or above 55°C. R2 and R3 are used as a voltage divider to allow the PIC to monitor the battery voltage for indicating a low battery condition.

The MCP73863 was chosen mainly for its availability and its SOIC packaging, as the GPS Logger will be hand soldered. There are other devices available which are a better suit to this application but QFN packages are difficult to populate on a board.

Voltage Regulation

A TC105 buck converter forms the heart of the voltage regulator, providing the rest of the circuit with a stable 3.3V independent of the battery voltage. A buck converter needed to be used here as standard linear regulators have a drop out voltage of ~1V, requiring the input voltage in this case to always be above 4.3V. Buck converters can operate down to the required voltage and are more efficient than linear regulators. Information on how buck converters work can be found on the wikipedia Buck Converter page.

USB Charge Port Detection

A recent addition to the USB class specifications allows for the implementation and detection of USB Charging Ports and Dedicated Chargers. The Battery Charging Specification(zip file) was released on 15th April 2009 and allows devices to draw up to 1.5A from a USB port under certain conditions. The detection of a charging port is covered in section 3 of the specification and is implemented in this circuit by Q2, Q3, R4, R10 and D2. Q3, R4 and D2 provide VDP_SRC to D+ which needs to be in the range of 0.5V – 0.7V. D2 provides a reference voltage 0f ~0.6V due to the conduction drop across it when Q3 is on. R4 limits the current flowing through the diode. Q2 and R10 are used to detect VDP_SRC on D-, which if present indicates that a charging port is available. R10 provides the current sink of IDM_SINK to pull D- down on a standard USB port. The PIC samples the voltage present on AN1 when both Q2 and Q3 are on. If the voltage is 0.4V – 0.8V a charge port is present and 1.2A can be used to charge the battery.

PIC Microcontroller

The PIC is very similar to the previous circuit, with the major addition of Q4 to power off the GPS module. R5 was added to pull up the Dout line from the SD card. R13 and C10 provide a low pass filter to debounce the pushbutton. This should be connected to a schmitt input on the PIC however none of the interrupt on change ports provide this capability and it was considered to costly in component count and PCB space to add another IC. The only time the button needs to be debounced is when it is released after being held in to put the logger to sleep. A contact bounce at this point will wake the system back up, at all other times the switch is debounced in software.

Bill of Materials

The following components will be used in the assembled version of the GPS Logger.

Part Type Designator Footprint Supplier Code  Cost
2x 2800mAh BT1 RAD-0.2 Ebay *  $     6.30
270nF C1 0603 Mouser 80-C0603C274K8PACTU  $     0.26
1uF C10 0603 Mouser 80-C0603C105Z8VACTU  $     0.07
10uF C2 EIA-3216-18 Mouser 74-293D106X0016A2TE3  $     0.10
47uF C3 EIA-3528-21 Mouser 74-293D476X96R3B2TE3  $     0.31
100nF C4 0603 Mouser 81-GRM188F51C104ZA01D  $     0.04
100nF C5 0603 Mouser 81-GRM188F51C104ZA01D  $     0.04
100nF C6 0603 Mouser 81-GRM188F51C104ZA01D  $     0.04
33nF C7 TBD Mouser 77-VJ0603Y333KXXAC  $     0.05
22pF C8 0603 Mouser 581-06035A220JAT2A  $     0.04
22pF C9 0603 Mouser 581-06035A220JAT2A  $     0.04
10MQ100NPBF D1 SOD-523 Mouser 757-1SS421(TL3,F,T)  $     0.12
1N4148 D2 MINI-MELF Mouser 78-LL4148-GS18  $     0.07
Blue LED D3 RAD-0.1 Mouser 638-264-7SUBCC4704  $     0.81
Green LED D4 RAD-0.1 Mouser 638-EL-264-7VGC  $     0.23
Red LED D5 RAD-0.1 Mouser 638-EL-204HT  $     0.20
USB JP1 USB-MINIB Mouser 538-67503-1020  $     1.51
GPS Module JP2 SIP-4 Sparkfun GPS-00465  $   60.00
microSD JP3 TBD Mouser 517-2908-05WB-MG  $     1.67
22uH L1 0603 Mouser 810-GLFR1608T220M-LR  $     0.24
2N7002K Q1 SOT-32 Mouser 512-2N7002K  $     0.08
2N7002K Q2 SOT-32 Mouser 512-2N7002K  $     0.08
2N7002K Q3 SOT-32 Mouser 512-2N7002K  $     0.08
2N7002K Q4 SOT-32 Mouser 512-2N7002K  $     0.08
MMBF2202PT1G Q5 SC-07 Mouser 863-MMBF2202PT1G  $     0.22
7.87k 1% R1 0603 Mouser 302-7.87K-RC  $     0.05
4.64k R10 0603 Mouser 302-4.64K-RC  $     0.05
1M R11 0603 Mouser 302-1.0M-RC  $     0.05
30k R12 0603 Mouser 302-30K-RC  $     0.05
30k R13 0603 Mouser 302-30K-RC  $     0.05
10k R14 0603 Mouser 652-CR0603-JW-103GLF  $     0.04
10k R15 0603 Mouser 652-CR0603-JW-103GLF  $     0.04
100k R16 0603 Mouser 652-CR0603-JW-104GLF  $     0.04
100k R17 0603 Mouser 652-CR0603-JW-104GLF  $     0.04
10k R2 0603 Mouser 652-CR0603-JW-103GLF  $     0.04
10k R3 0603 Mouser 652-CR0603-JW-103GLF  $     0.04
10k R4 0603 Mouser 652-CR0603-JW-103GLF  $     0.04
10k R5 0603 Mouser 652-CR0603-JW-103GLF  $     0.04
470k R6 0603 Mouser 301-470K-RC  $     0.05
0 R7 0603 * *  $          –
1.6k 1% R8 0603 Mouser 71-CRCW06031K60FKEB  $     0.08
10k 1% R9 0603 Mouser 302-10K-RC  $     0.05
10k 5% RT1 0603 Mouser 81-NCP18XH103F03RB  $     0.18
Mode S1 TBD Mouser 611-KSC151JLFS  $     0.49
MCP73863-I/SL U1 SOIC-16 Mouser 579-MCP73863-I/SL  $     2.73
TC105333ECT U2 SOP-23-5 Mouser 579-TC105333ECTTR  $     2.43
PIC18F4550-44 U3 TQFP-44 Mouser 579-PIC18F4550-I/PT  $     7.09
20MHz Y1 HC49US Mouser 815-ABLS-20.000MHZ-B2-T  $     0.58

The total component cost is $87.00 (not including shipping) which will be larger once the cost of PCB manufacture is added.

Next Step

A case needs to be decided upon, components orderd and a PCB designed to fit. Once the PCB has been ordered the user software can be designed and written.

, , , , ,

  1. #1 by Richard on April 13, 2011 - 8:35 pm

    Hello nada, I find your article very interesting, nice work!
    I see you are using the TC105333ECT with an input of 3.7v coming from 2 Li-Ion connected in parallel. My question is: Does the TC105333ECT work well with such a low input? Could you tell me a little bit more about your test for this part of the circuit?
    Thanks in advance!

  2. #2 by nada on April 14, 2011 - 6:52 am

    Hi Richard,

    Yes it works well, I get 3.24V from the regulator, running off a 3.7V Li-Ion battery.
    The only testing I did was on the board, to ensure the voltage was correct. I understood that it would be capable through reading the datasheet, with an efficency of 92% the converter will work properly for any input voltage above 3.58V, although that may be simplifying matters somewhat.

    The reason it works, besides just being a great device, is that Li-Ion batteries have a fairly flat discharge curve. They start at 4.2V but spend most of their discharge cycle at 3.7V, only dropping below that after 80% discharge. See Battery Performance Characteristics for more information.

    I hope that tells you what you wanted to know.


  3. #3 by Robert on June 8, 2012 - 11:53 pm

    Hi Nada,

    I have a short question, why do you need the TC105333ECT? According the PIC datasheet, the PIC Operating Voltage Range is 2 to 5.5?


  4. #4 by nada on July 6, 2012 - 2:01 pm

    Hi Robert,

    While the PIC will happily operate from the battery voltage of 4.2V (nominal, it decreases as the battery discharges), the SD Card wouldn’t be too happy about it, requiring 3.3V.
    Also as the battery voltage changes depending on its current capacity, having a fixed, regulated supply ensures that the AD converters and other circuitry operates correctly. A switching regulator was used, instead of a low drop out linear regulator, as it can also boost the battery voltage up to 3.3V if needed.


(will not be published)