10068-BHCP PCB
The BHCP (Battery-Heltec-CubeCell Plus) 'base' board (v2.3 illustrated) is specifically designed to support applications using the Heltec CubeCell Dev-Board Plus.
Board Layout
The various subsystems are identified in the board schematic and laid out as illustrated below:
Top | Bottom |
---|---|
10068-BHCP [v2.5] PCB
See here for CAD and CAM files.
Configuration
I originally made a CubeCell adaptor board that clipped onto my BCS-A4a boards but it quickly became apparent that there was some basic function overlap between what came as part of the standard CubeCell [Plus] development boards and what was provided on the BCS-A4a boards. The BHCP board is intended to supplement the on-board features of the CubeCell Plus development board to provide the remaining elements of the BCS-A4a PCB.
Using a PCB configuration designed specifically for the CubeCell Plus development board also has the potential to provide direct access to all of the GPIO pins available on this platform.
Comparison of Features
The following table compares the features of the 10068-BCS-A4a board with those provided by the combination of the 10068-BHCP board and CubeCell Dev-Board Plus.
Board Feature Comparison
Feature | BCS-A4a | BHCP | CubeCell Plus |
---|---|---|---|
Battery (14500) | ✓ | ✓ | |
Battery (18650) | ✓ | ✓ | |
Battery (LiPo) | ✓ | ✓ | |
Battery Charging (Solar) | ✓ | ✓ | |
Battery Charging (USB) | ✓ | ✓ | |
Battery Protection | ✓ | ✓ | |
Battery Voltage Monitor | ✓ | ✓ | |
Boost Converter | ✓ | ✓ | |
Current Monitor | ✓ | ✓ | |
EEPROM | ✓ | ||
Header – A4a 'Sandwich' | ✓ | ||
Header – A4a Sensor | ✓ | ✓ | |
Header – INA219 Module | ✓ | ✓ | |
Header – NEO-6M GPS | ✓ | ✓ | |
Header – CubeCell Plus | ✓ | ✓ | |
I2C Bus | ✓ | ✓ | ✓ |
Power Input (Vbat) | ✓ | ||
Power Input (Solar Panel) | ✓ | ✓ | ✓ |
Power Output (Vbat) | ✓ | ✓ | |
Power Output (Vext) | ✓ | ||
Power Switch (On/Off) | ✓ | ✓ | |
Power Switch (Vbat/Vext) | ✓ | ||
Timer/Switch Circuit | ✓ | ||
Watchdog Timer Circuit | ✓ | ||
Sensor – DS18B20 | ✓ | ✓ | |
Sensor – HDL300 | ✓ | ✓ | |
Sensor – TMP35/36 | ✓ | ||
Sensors – Wind/Rain | ✓ | ✓ | |
Voltage Regulator | ✓ | ✓ | |
One notable exclusion from the BHCP board is the TPL5111/TPS22860 timer/switch circuitry. When used with the Arduino Pro Mini processor, this allows the board to draw just 1.6µA with the processor switched off. The ARM-Cortex architecture of the CubeCell platform, however, has a low power mode that draws just 2.6µA. The CubeCell development boards are also configured with a software-switchable external voltage supply pin (Vext) that enables them to turn off the power supply to any connected devices.
General discussion within the 'Arduino' community on this general subject seems to suggest that a difference of 1µA is not all that significant, even in battery-powered environments. When all of this is considered together with the observation that I seem to be able to keep a battery fully charged in my environment with a small [70mA] solar panel, the TPL5111/TPS22860 configuration offers no real gain.
The BHCP board is, however, configured with a similar TPL5010 IC that can be used as a watchdog timer. In one of my applications, the CubeCell Plus would occasionally stop transmitting data. I have not been able to identify the cause of this problem and while it occurred only very infrequently—twice over a 12 month period—it gave cause to consider the use of a watchdog timer. The ASR620x processors include their own watchdog timer but I was encouraged by various discussions, on the shortcomings of inbuilt watchdog timers, to include an external circuit, if for no other reason than to make that option available should it prove beneficial.
Configuration Options
Board Power Source Switch
The BHCP base board includes the option to supply power permanently, through the VDD pin of the CubeCell Dev-Board Plus, to other board components (Vint), or for power to be switched, through the VEXT pin, by the processor (Vext). The latter allows the processor to turn off the power supply to other configured components when not required. The desired source can be selected either via a switch or by bridging the relevant solder jumper.
Power Source Switch
Refer to the Software > Node Setup & Test pages for more details on testing the Board Power switch.
Power Output Connector
In order to utilise the CubeCell's on-board battery management hardware, power must be supplied directly through its on-board JST [ZH1.25] connector. A corresponding JST connector is provided on the 10068-BHCP board.
Power Output
Power can nonetheless be provided through the VIN pin on the CubeCell Dev-Board Plus, although this option is not currently supported on the present PCB.
MT3608 Boost Converter
Refer to the configuration details provided on the 10068-BCS-A4a assembly page.
EEPROM
'External' [I2C] EEPROM support is normally provided on the processor board that is configured with a BCS-A4a base board. Since there is no processor board, as such, in the present case, the option to configure an 'external' EEPROM is included on the BHCP base board.
EEPROM & I2C Pull-Up Resistors
Refer to the Software > Node Setup & Test pages for more details on testing and initialising the EEPROM.
TPL5010 Watchdog Timer
Although the CubeCell [Plus] processor includes an internal watchdog timer, the option is provided to configure an entirely independent, external TPL5010 watchdog timer.
TPL5010 Watchdog Timer
The timing of the TPL5010 is set by reading the value of an external resistor when the IC is powered on. The watchdog timer circuit on the 10068-BHCP board includes two options in this regard— either a fixed value resistor (R10A), or a variable resistor (R10B) can be configured. Resistance measurement tap points are provided adjacent to the variable resistor to facilitate the setting of its resistance when that option is configured.
Setting the timing of the TPL5010 is the same as that for the TPL5111 timer discussed on the 100680-BCS-A4a board assembly page. In the present case, the timer needs to be set longer than the normal reporting interval, but probably less than three times that, the latter being the period after which the Gateway Node will, by default, report a 'dead' Node if that Node has not reported in the interim. To this end, with a Node that reports every 60 seconds, I use a timer of around 90 seconds, which requires a resistor setting of ~25kΩ.
Refer to the Software > Node Setup & Test pages for more details on testing the timer configuration.
10068-SP Solar Panel PCB
The 10068-BHCP board can be configured with the 10068-SP board to provide solar charging of the on-board battery.
10068-SP PCB in Weather Station Node Board Stack
10068-WS Auxiliary Weather Station PCB
The 10068-BHCP board can also be configured with the 10068-WS board to interface with a range of weather sensors, the Davis rain collector and anemometer in particular but also any I2C or two-wire sensor.
10068-WS PCB in Weather Station Node Board Stack
Further details pending