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:
Schematics:
PCB Layout (note: R13 is not populated):
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:
PCB Layout:
PCB design files (Gerber format) and BOM: