Over the years I have developed a range of Energy Monitoring boards, initially for my own requirements and with increased interest from the community, these have been made available. Now introducing IBEM!
Needing to accurately and easily monitor both Lead Acid and Lithium Battery storage and have used my EMIS and CMIS boards for a while. I now need to update for higher currents, and easier inline boards, which can simply attach to the inline battery cables.
Suitable for a range of battery types such as Lithium AGM GEL FLD Leisure LiPo LIFePO4 and range of uses such as Solar, Robot and UPS systems. STEM Maker Accessory..
From this, I have now developed a new IoT Battery Energy Monitoring board, a.k.a IBEM. Test data now being published to ThingSpeak
Purchase: See DitroniXUK on eBay
Design Requirements
- New Espressif ESP32-C3-MINI MCU (as opposed to the ESP8266 or ESP32 WROOM)
- High DC current monitoring up to +/- 100A (200A Peak). This is to monitor battery charge and discharge, via M8 Studs for easy and safe connection.
- High Resolution 16Bit ADC using ADS1115 via I2C.
- Directly powered from the Battery - Safely up to 80V
- Battery Voltage Monitoring, so providing calculated capacity / energy info.
- EEPROM for logging and storage of calibration data
- Type C USB Connector for Programming, Logging, Debug etc. Plus self powered while developing.
- RGB LED for status and separate RGB for Power Status.
- On-board NTC for Ambient Temperature
- External Temperature via Dallas OneWire Interface [added feature]
- DC Moving Coil Interface (PWM Out) [added feature]
- MCU RTC with 32.768kHz XTAL on PCB
- OLED and I2C connector. I2C to also allow for external I2C temperature probe on battery if needed at a later date.
- Board needs to be as compact as possible. Uses 0402 components.
IBEM Overview
IBEM is a compact, self-contained, Solar System IoT Battery Energy Monitor, which can accurately measure current flow nominally up to +-100A (+-200A Peak), and voltage up to 80V DC. This board essentially providing a complete voltage and power monitoring solution for your 48V, 36V, 24V or 12V batteries.
Based on the new Espressif ESP32C3 Mini, which has both Wi-Fi and BT, the IBEM SDK board is provided with onboard bi-directional DC current sensor, via M8 bolt terminals, into a 16-bit ADS1115 four channel ADC. No external shunts required.
Using the onboard 4.5 to 80V DC-DC SMPS, the board can easily be safely powered directly from the battery source – This also providing continuous monitoring of the battery voltage.
Interface for programming, and development, is thought a standard Type C USB, into the onboard UART and ESP32C3, so making development and use, completely self-contained.
Using the provided I2C interface, an OLED display can be plugged directly into the board, if required, for local monitoring and status information.
Opensource IBEM Firmware is provided on our GitHub, using the standard PlatformIO platform. This monitors Current, Voltage (and Temperature), to derive Power Energy information, which can then be sent to your Home Automation, or cloud service, via provided MQTT or Domoticz, as standard.
IBEM Specification and Features
- Compatible Example of Battery Types
- LI, SLD, FLD, GEL, AGM, LFP, NiCd, NiMH, LiPO, LIFePO4, VRLA.
- MCU
- Espressif ESP32-C3 Mini - 2.4GHz Wi-Fi (802.11b/g/n) and Bluetooth 5
- ESP32-C3-MINI-1-N4 (PCB Antenna)
- ESP32-C3-MINI-1U-N4 (External Antenna via U. FL cable)
- 16 Bit ADC (I2C)
- ADS1115 (Analog to Digital Converter)
- DC Current (Two paralleled channels)
- DC Input Voltage Monitoring
- NTC PCB Ambient Temperature
- DC Bi-Directional Current Sensor
- Cross chip CC6921BSO-100A
- 2 Paralleled sensors providing up to +- 100A (peak +- 200A).
- 2 x M8 Stud Terminations
- Low Side DC Monitoring for Safety
- Current Sensor can be configured to be FULLY electrically isolated (PCB link)
- Type C Programming / Debug
- Type C USB Connector
- CH340K USB UART 2Mbps Transceiver
- Easy programming. Select ‘ESP32C3 Dev Module’
- BAUD rate up to 921600 to speed up Flashing
- Serial Monitoring Debug and Remote Logging
- Power Can Be Taken from USB 5V (when Flashing).
- EEPROM (I2C)
- AT24C64 64Kbit
- On-board logging
- Firmware setup user parameters and configuration
- High Voltage SMPS DC-DC
- Large Input Voltage Range 4.5V to 80V DC
- SSP9481 step-down switch-mode with a built-in power MOSFET
- Can be used on 12V, 24V, 36V and 48V Systems.
- Resettable PCB DC Input Fuse (100mA continuous, 250mA Trip)
- Board can be also powered from USB when programming
- DC input taken from battery under test (separate positive terminal)
- On-Board Temperature
- NTC Ambient PCB Temperature Sensor
- External Temperature
- Dallas OneWire Interface for External Temperatures
- Example Probe Sensor to Battery Cells
- DC Moving Coil Meter
- PWM Output Interface to External Moving Coil Meter
- 100uA single full scale, or center zero
- RGB LED - Status
- Configured to three GPIO’s for easy Firmware control
- RGB LED – Power
- Power, UART TXD and USB Power Indicator
- I2C OLED Connector
- Configurable 3V3 Pin 1 and 2 polarities
- PCB 4 Pin Header Connector
- Buttons
- Reset
- User (Program or GP9 Detect)
- Compact Design and Easy to Use
- PCB 53mm x 70mm
- 4 x M3 mounting holes (one grounded to DC-DC ground)
- Operating Ambient Temperature -40 to +85 °C
- Optional Conformal Coating – on request.
Although this board has been designed for 48V Batteries, it would also work well at lower voltages such as 36V, 24V and even 12V.
Based on this, if you have any project that requires to monitor a battery, or batteries, then this board could well be of use in this area too.
Two flavours of this board will be available, ESP32-C3
- IBEM with ESP32-C3-MINI-1-N4 (PCB Antenna)
- IBEM with ESP32-C3-MINI-1U-N4 (External Antenna via U.FL cable)
Connections from the Inverter/Charger, and to the Battery Negative, is via a standard M8 Bolt / Crimp Ring Terminal.
Bolts The board has been designed to use ideally:
- Stainless Steel (A2), Socket Button Screw M8 x 20mm (16mm is also OK)
- M8 Serrated Flange Hex Nuts to the board (Hex Nut is also OK)
- M8 Ring Crimp Connector
- M8 Washer
- M8 Hex Nut clamping the Ring Crimp Connector
The reason for Stainless, is they are anti-corrosive and make good bonding to the board for the higher currents. Standard Hex Head is also fine.
Cable Type Due to currents and varying cable lengths, the thicker the cable the better. Copper Stranded Cable (Battery/Welding) is ideal based on the below.
Example Wire Gauges
- 6AWG = 16mm² = ~ 4.11mm⌀ = ~95A DC (Minimum)
- 4AWG = 25mm² = ~ 5.19mm⌀ = ~170A DC (Ideal)
- 2AWG = 35mm² = ~ 6.54mm⌀ = ~240A DC (Better)
- 1AWG = 50mm² = ~ 7.35mm⌀ = ~345A DC
Cable Terminals Using good quality Ring Crimp Connectors is the ideal.
- 4AWG = 25mm² = SC25-8
- 2AWG = 35mm² = SC35-10
Important Note:
The DC positive which powers the board, MUST be via a safety fuse to the battery positive. A 100mA resettable fused is on the IBEM board itself to protect the IBEM components.
3rd March 2024 - The IBEM board is designed, ordered and will be in Beta test shortly.
6th March 2024 - Master Specification completed. Await PROTO Beta boards.
15th March 2024 - Boards arrived, inspected and will now go through initial commissioning, preliminary Power Up and Testing.
22nd March 2024
Commissioning looking very good.
Both basic bring up and production Firmware has been created. This has enabled complete testing of the board.
Now being tested on two installations and results so far are positive.
23rd March 2024
To do:
- Finalize firmware (being tested 99% complete) - DONE Under Test
- Finalize Schematic/Layout (adding DC Meter option) - DONE
- Finalize production version of board (Due this week) - DONE
- Printable enclosure to be designed (3D Printer Model)
25th March 2024
- Finalized Schematic/Layout (added DC Meter and OneWire option)
- Finalized production version of board.
- First Batch Ordered.
31st March 2024
Firmware being finalised and now 99.9% complete, as a first beta publish. Being tested on PROTO board. Just awaiting final boards to arrive this week for final test and will then push to GitHub.
- Updated WebServer page
- Updated TimeServer
- Updated DC Moving Coil Meter Driver
- Included ThingSpeak, alongside Domoticz and MQTT support.
Solar test system running and publishing test data to: https://thingspeak.com/channels/2491848
2nd April 2024
Boards arrived and will be testing in the weekend. They are looking good.
6th April 2024
- Firmware and various test code has been uploaded to GitHub. All examples are in PlatformIO
- The first batch of new boards are in stock and will be added to eBay in the first instance, due to my website needing TLC.
ESP32-C3-MINI-1-N4 (PCB Antenna)
ESP32-C3-MINI-1U-N4 *(External Antenna via U. FL)
Any queries, please contact me.
Updates code can be found on our GitHub.
The full specification list is available here.
Further details maybe also be found on our GitHub
Further InformationAdditional information, and other technical details on this project, maybe found in the related repository pages.
Repository Folders
- Code (Code examples for Arduino IDE and Platform IO)
- Datasheets and Information(Component Datasheets, Schematics, Board Layouts, Photos, Technical Documentation)
- Certification(Related Repository Project or Part, Certification Information)
- Repository Tabs
- Wiki (Related Repository Wiki pages and Technical User Information)
- Discussions (Related Repository User Discussion Forum)
- Issues (Related Repository Technical Issues and Fixes)
We value our Customers, Users of our designs and STEM Communities, all over the World. Should you have any other questions, or feedback to share to others, please feel free to:
Visit the related Project Repositories plus the related Discussions and Wiki Pages. See tab in each separate repository.
Project Community Information can be found at https://www.hackster.io/DitroniX
DitroniX.net Website - Contact Us https://ditronix.net/contact/
Twitter: https://twitter.com/DitroniX
Supporting the STEM Projects - BuyMeACoffee https://www.buymeacoffee.com/DitroniX
LinkedIN: https://www.linkedin.com/in/g8puo/
Dave Williams, Eastbourne, UK.
Electronics Engineer | Software Developer | R&D Support | RF Engineering | Product Certification and Testing | STEM Ambassador
STEMSupporting STEM Learninghttps://www.stem.org.uk/
Life is one long exciting learning curve, help others by setting the seed to knowledge.
Should you have any thoughts, or have a challenging application and would like to beta test a board, please let me know.
Comments