Contacts & links

Designer

Name days

Today:
Tomorrow:

Weather

Počasí Hradec Králové - Slunečno.cz

Other

Actual date:

LiXXX battery monitor & altimeter + vario for JETI DUPLEX with ATmega328P and BMP280

This design is a rework of my monitor, published already in 2017. I decreased the size of the sensor through creating a special PCB with all the components. In this way, I achieved approximately the same dimensions, but with just one PCB populated, i.e. height of sensor is less.

Both designs signalize voltages of three cells in LiPol / LiIon / LiFePo battery by displaying them on JETIBOX LCD and beeping through JETI Tx module as well display vario and altitude data on screen.

I am using a cheap pressure sensor BMP280 and an internal analog digital converter inside the processor for measuring voltages of LiXXX cells.

You can see the pictures of the whole design and download appropriate files:

JETI LiXXX Vario with BMP280 PCB

JETI LiXXX Vario with BMP280 PCB - Top

JETI LiXXX Vario with BMP280 PCB - Bottom

Schematics:

JETI LiXXX Vario with BMP280 - Schematics

PCB Layout (note: R13 is not populated):

JETI LiXXX Vario with BMP280 - Layout

The PCB design files in Gerber format and BOM were exported from KiCad. They are downloadable here:

JETI_LiXXX_Vario_BMP280_Gerber.zip

JETI LiXXX Vario with BMP280 Bill of Materials

And finally hex files (with or without Arduino bootloader) for ATmega328P, it's fuses should be set for RC oscillator 8MHz (EXTENDED 0xFD, HIGH 0xDA, LOW 0xE2):

JETI_LiXXX_Vario_BMP280_hex.zip

The design is also compatible with openXsensor project - an independent platform for various sensors and telemetry protocols. There is just the need to set output pin 2 and solder join between legs 31 and 32 of the ATmega328P processor.

In this way, the JETI EX protocol can be reached.

For such usage, you can use the following config files:

JETI_LiXXX_Vario_BMP280_oXsConfig.zip

It is optimal to tune RC oscillator frequency by changing OSCCAL value ... just:
1) programm CKOUT in fuses mentioned above to enable CLKO pin (PB0, pin 12) - you can measure the oscillator frequency here after that (EXTENDED 0xFD, HIGH 0xDA, LOW 0xA2)
2) uncomment "#define OSCCAL_CHANGE" in file "oXs_config_basic.h"
3) change the OSCCAL_VALUE on next line appropriately
4) add the following code to setup() routine in file "openXsensor.ino":

#ifdef OSCCAL_CHANGE
OSCCAL = OSCCAL_VALUE;
#endif

or hex files for ATmega328P are again available here (without OSCCAL modification, with or without Arduino bootloader). Processor's fuses should be set again for RC oscillator 8MHz (EXTENDED 0xFD, HIGH 0xDA, LOW 0xE2):

JETI_LiXXX_Vario_BMP280_oXs_hex.zip

Update September 23rd, 2023:

Due to the internal RC oscillator drift and temperature dependency, I decided to redesign PCB a little bit. Crystal resonator was added and RESET pin was tied to Vdd via 10 kOhm resistor for easier programming process.

Schematics:

JETI LiXXX Vario with BMP280 ver. 1.2 - Schematics

PCB Layout:

JETI LiXXX Vario with BMP280 ver. 1.2 - PCB

JETI LiXXX Vario with BMP280 ver. 1.2 - Layout

PCB design files (Gerber format) and BOM:

JETI_LiXXX_Vario_12_BMP280_Gerber.zip

JETI LiXXX Vario with BMP280 ver. 1.2 Bill of Materials