Supercapacitor Backup with Wireless Charging

Created by Taylor Roorda, last modified on Feb 09, 2016

Table of Contents

Project Overview

The goal of this project is to demonstrate IDT’s wireless charging technology and the use of supercapacitors as an alternative to battery backups. The device also uses an XBee wireless module to communicate with another identical device with each sending the state of charge to the other. The incoming data is then processed through a microcontroller and written to an LCD display via I2C.

Resources Used



Figure 1. Schematic view.

Figure 1 shows the schematic of the main PCB. Header JP1 is the +5V input from the IDT receiver which is fed into the input of the MIC29300 LDO regulator (U2). While the +5V from the wireless charger is present, the MIC29300 provides 3.3V to the rest of the board and acts as the input to the LTC3110 charger (U1). The voltage divider on the DIR pin of the LTC3110 will be set above its rising threshold and put in charging mode. The charge current can be programmed up to 2A with a resistor, but in this application we set it to 500mA. When the +5V is removed, DIR will become low and the capacitors will be used as the input. The 3.3V system voltage is then provided by the LTC3110. The Schottky diode (D1) prevents backward current flow during backup mode.

Meanwhile, the PIC16F1708 microcontroller (U3) reads the voltage at the midpoint of the capacitors on RA4 and converts it into a percentage. The percentage is written to the LCD display over I2C and sent over UART to the XBee module (U4) to be transmitted. The device is calibrated for the 100% point being 5.0V and the regulator cuts out around 0.25V. Therefore, the device will lose power when the display shows approximately 10% charge.


Figure 2. Layout view.

Figure 2 shows the layout of the main board. Pay special attention to the manufacturer’s recommended layout for the LTC3110 buck-boost converter to ensure stability and good thermal performance.

This board was fabricated by OSH Park and follows their design rules. It has two layers and measures 90.7mm x 69.5mm. The zip file below contains the Gerber and drill files necessary to reproduce this design. (59.0 KB)


XBee Configuration

First, let’s start with the settings of the XBee module. The settings can be programmed through Digi International’s XCTU software. For this project, a USB adapter board like Sparkfun’s WRL-11812 was used to program the device. I have left all the settings at the default values aside from the addresses, which can be seen below in Figure 3.

Figure 3. XCTU settings.

Note that the destination and source addresses would need to be flipped on the other unit. This application doesn’t require very long distance transmission, so the lowest power setting is okay, but since we have plenty of power to spare I left it at the highest. This can be scaled as necessary.

Note: You may notice that there is an I/O line from the microcontroller (RC2) to the SLEEP_RQ pin on the XBee module. The pin hibernate or sleep functions can be used, but be warned that the devices can become out of sync and miss data packets. No sleep function is used in the final build of this project.


Since this project uses multiple peripherals on the PIC16, Microchip’s Code Configurator extension for MPLAB X is very useful for getting everything up and running quickly. The individual settings and API definitions can be found in the full project below, but I will highlight the main settings here:

  • Clock set as INTOSC 16MHZ_HF
  • I2C at 100kHz with 7-bit slave addresses
  • USART with transmit enabled and continuous receive at 9600 baud
  • ADC using VDD as positive Vref and clock set at FOSC/64, using channels AN3 and AN7
  • TMR0 with 10ms period using a prescaler of 256, callback rate of 1000ms, interrupts enabled
  • TMR1 with 1ms period from FOSC/4, interrupts enabled

Important: The I2C slave address for the LCD of 0x78 that is given in the data sheet will not work as is. It has been pre-shifted to include the R/W bit and will not translate correctly if passed to the Microchip I2C APIs. It needs to be shifted right one bit. So the correct 7-bit address is 0x3C.

Full MPLABX project: Embedded World (872.3 KB)

Bill of Materials

Quantities provided are for making one complete project with two boards.

Table 1. Bill of Materials
Qty Designator Digi-Key P/N Manufacturer P/N Description
2 U2 576-1120-ND MIC29300-3.3WU IC REG LDO 3.3V 3A TO263-3
2 U3 PIC16F1708-I/P-ND PIC16F1708-I/P IC MCU 8BIT 4K FLASH 20DIP
2 U4 602-1273-ND XB24-API-001 MOD XBEE 802.15.4 1MW W/PCB ANT
4 N/A SAM1230-10-ND MMS-110-01-L-SV CONN RCPT 10 POS 2MM PITCH TH - Xbee headers
2 L1 587-1997-1-ND NR8040T2R0N FIXED IND 2UH 6.3A 11.7 MOHM SMD
2 Q1 478-7808-1-ND SD1206T020S1R0 DIODE SCHOTTKY 20V 1A 1206
2 Csys 399-5506-1-ND C0805C476M9PACTU CAP CER 47UF 6.3V X5R 0805
2 Cin 399-9155-1-ND C0805C104K9RACTU CAP CER 0.1UF 6.3V X7R 0805
6 Ccap, C3, C4 399-1284-1-ND C0805C105K4RACTU CAP CER 1UF 16V X7R 0805
2 Cout 399-8014-1-ND C0805C106M9PACTU CAP CER 10UF 6.3V X5R 0805
2 Cvsys 445-8199-1-ND CGJ4J2X7R0J224K125AA CAP CER 0.22UF 6.3V X7R 0805
4 C1, C2 JUK0E276MHD-ND JUK0E276MHD CAP 27UF 2.5V 20%
2 Rprog 311-12.1KCRCT-ND RC0805FR-0712K1L RES SMD 12.1K OHM 1% 1/8W 0805
2 R2 311-536KCRCT-ND RC0805FR-07536KL RES SMD 536K OHM 1% 1/8W 0805
2 R1 311-1.91MCRCT-ND RC0805FR-071M91L RES SMD 1.91M OHM 1% 1/8W 0805
2 Rsvsys 311-51.1CRCT-ND RC0805FR-0751R1L RES SMD 51.1 OHM 1% 1/8W 0805
2 R3 311-976KCRCT-ND RC0805FR-07976KL RES SMD 976K OHM 1% 1/8W 0805
2 R4 311-221KCRCT-ND RC0805FR-07221KL RES SMD 221K OHM 1% 1/8W 0805
2 R5 311-7.50KCRCT-ND RC0805FR-077K5L RES SMD 7.5K OHM 1% 1/8W 0805
2 R6 311-2.49KCRCT-ND RC0805FR-072K49L RES SMD 2.49K OHM 1% 1/8W 0805
4 R7, R8 311-4.70KCRCT-ND RC0805FR-074K7L RES SMD 4.7K OHM 1% 1/8W 0805
2 R9 311-150CRCT-ND RC0805FR-07150RL RES SMD 150 OHM 1% 1/8W 0805
Table 2. External Components.
1 External 800-2975-ND P9038-R-EVK EVAL KIT FOR P9038 - Transmitter
2 External 800-2977-ND P9025AC-R-EVK EVAL KIT FOR P9025 - Receiver
2 Enclosure SRB53-TCBC-ND RB53-1TC1BC BOX PLSTC CLEAR 4.72"L X 3.15"W
4 Standoffs 36-8431-ND 8431 HEX STANDOFF 8-32 ALUMINUM 1"
4 Screws 335-1101-ND R8-32X5/16 2701 MACHINE SCREW PAN PHILLIPS 8-32