Battery-Emulator
This software enables EV battery packs to be used for stationary storage in combination with solar inverters.
https://github.com/dalathegreat/battery-emulator
Category: Energy Storage
Sub Category: Battery
Keywords from Contributors
electricity-prices
Last synced: about 22 hours ago
JSON representation
Repository metadata
This revolutionary software enables EV battery packs to be easily reused for stationary storage in combination with solar inverters
- Host: GitHub
- URL: https://github.com/dalathegreat/battery-emulator
- Owner: dalathegreat
- License: gpl-3.0
- Created: 2023-02-19T19:21:29.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-10-27T18:33:12.000Z (2 months ago)
- Last Synced: 2025-10-27T19:45:55.733Z (2 months ago)
- Language: C++
- Homepage:
- Size: 32.3 MB
- Stars: 1,810
- Watchers: 87
- Forks: 255
- Open Issues: 134
- Releases: 89
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
README.md
Battery-Emulator β‘π
What is Battery Emulator?
Many manufacturers sell home battery systems to enable homeowners to store power collected from the grid, or renewable sources, to use at times when electricity demand is higher. However almost all of these home battery systems charge a high cost for every kilowatt hour (kWh) of capacity you buy.
At the same time, EV manufacturers have been putting high capacity battery packs into their cars, with no firm plan for what should happen to those batteries if the car is damaged in a crash, or reaches the end of its life as a vehicle.
Battery Emulator enables EV battery packs to be repurposed for stationary storage. It acts as a translation layer between the EV battery and the home inverter. This makes it extremely cheap and easy to use large EV batteries in a true plug'n'play fashion!
[!CAUTION]
Working with high voltage is dangerous. Always follow local laws and regulations regarding high voltage work. If you are unsure about the rules in your country, consult a licensed electrician for more information.
Quickstart guide π
- Pick a supported inverter (solar panels optional) π
- Pick a supported battery π
- Order the Battery-Emulator compatible hardware π€
- Follow the installation guidelines section for how to install and commission your battery properly π
Installation basics πͺ
- Connect your Battery Emulator hardware to your EV battery
- Connect your Battery Emulator hardware to your inverter
- Wire up high voltage cable between the inverter and the battery
- Add a low voltage power supply to your Battery Emulator hardware
- Configure any additional requirements to allow Battery Emulator to switch on your EV battery (also referred to as 'closing contactors')
- Enjoy a big cheap grid connected battery!
For examples showing wiring, see each battery type's own Wiki page. For instance the Nissan LEAF page
How to install the software π»
Start by watching this quickstart guide
- Open the webinstaller page
- Follow the instructions on that page to install the software
- After successful installation, connect to the wireless network (Battery-Emulator , password: 123456789)
- Go to setup page and configure component selection
- (OPTIONAL, connect the board to your home Wifi)
- Connect your battery and inverter to the board and you are done! πβ‘
Dependencies π
This code uses the following excellent libraries:
- adafruit/Adafruit_NeoPixel LGPL-3.0 license
- ayushsharma82/ElegantOTA AGPL-3.0 license
- bblanchon/ArduinoJson MIT-License
- eModbus/eModbus MIT-License
- ESP32Async/AsyncTCP LGPL-3.0 license
- ESP32Async/ESPAsyncWebServer LGPL-3.0 license
- pierremolinaro/acan-esp32 MIT-License
- pierremolinaro/acan2515 MIT-License
- pierremolinaro/acan2517FD MIT-License
It is also based on the information found in the following excellent repositories/websites:
- https://gitlab.com/pelle8/inverter_resources //new url
- https://github.com/burra/byd_battery
- https://github.com/flodorn/TeslaBMSV2
- https://github.com/SunshadeCorp/can-service
- https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3
- https://github.com/dalathegreat/leaf_can_bus_messages
- https://github.com/rand12345/solax_can_bus
- https://github.com/Tom-evnut/BMWI3BMS/ SMA-CAN
- https://github.com/FozzieUK/FoxESS-Canbus-Protocol FoxESS-CAN
- https://github.com/maciek16c/hyundai-santa-fe-phev-battery
- https://github.com/ljames28/Renault-Zoe-PH2-ZE50-Canbus-LBC-Information
- Renault Zoe CAN Matrix https://docs.google.com/spreadsheets/u/0/d/1Qnk-yzzcPiMArO-QDzO4a8ptAS2Sa4HhVu441zBzlpM/edit?pli=1#gid=0
- Pylon hacking https://www.eevblog.com/forum/programming/pylontech-sc0500-protocol-hacking/
Like this project? π
Leave a β If you think this project is useful. Consider hopping onto my Patreon to encourage more open-source projects! As a bonus, you will get access to the Discord server, where we hangout, develop, support, share, discuss etc. all things related to DIY EV storage solutions. See you on the server? ;)
Owner metadata
- Name: Daniel Γster
- Login: dalathegreat
- Email:
- Kind: user
- Description: π Automation Engineer (Bsc), π± Plant based βοΈ Reverse engineering specialist ππ Extending Electric vehicle lifecycles
- Website: dalasevrepair.fi
- Location: Vaasa, Finland
- Twitter:
- Company: Dala's EV Repair
- Icon url: https://avatars.githubusercontent.com/u/26695010?u=20d9d4c07ad56cdf0c89dd436a301bd997794d99&v=4
- Repositories: 10
- Last ynced at: 2023-03-03T15:41:38.871Z
- Profile URL: https://github.com/dalathegreat
GitHub Events
Total
- Fork event: 94
- Create event: 322
- Release event: 34
- Issues event: 484
- Watch event: 622
- Delete event: 276
- Member event: 7
- Issue comment event: 1335
- Push event: 1274
- Pull request review comment event: 366
- Pull request review event: 638
- Gollum event: 1153
- Pull request event: 870
Last Year
- Fork event: 95
- Create event: 324
- Release event: 35
- Issues event: 486
- Watch event: 629
- Delete event: 277
- Member event: 7
- Issue comment event: 1344
- Push event: 1280
- Pull request review comment event: 366
- Pull request review event: 638
- Gollum event: 1154
- Pull request event: 877
Committers metadata
Last synced: 2 months ago
Total Commits: 2,987
Total Committers: 62
Avg Commits per committer: 48.177
Development Distribution Score (DDS): 0.406
Commits in past year: 1,642
Committers in past year: 39
Avg Commits per committer in past year: 42.103
Development Distribution Score (DDS) in past year: 0.474
| Name | Commits | |
|---|---|---|
| Daniel Γster | d****t@g****m | 1773 |
| Jaakko Haakana | j****o@h****t | 190 |
| Cabooman | 8****n | 101 |
| amarofarinha | 1****a | 89 |
| lenvm | l****m | 88 |
| mvgalen | m****n@g****m | 76 |
| Jonny | j****y@j****m | 68 |
| wjcloudy | 5****y | 56 |
| josiahhiggs | 7****s | 55 |
| rha | r****o@o****g | 52 |
| pre-commit-ci[bot] | 6****] | 43 |
| Matt Holmes | m****t@h****d | 39 |
| Brett Christensen | b****n@r****m | 33 |
| Jakob LΓΆw | j****b@m****e | 32 |
| laughingguffly | e****m@g****m | 27 |
| Steven Maresca | s****a@g****m | 23 |
| LevinSwe | l****m@h****m | 21 |
| nmainil | 1****l | 20 |
| Ole | o****d@l****k | 18 |
| Christopher Obbard | o****c@g****m | 15 |
| James Brookes | jb@j****m | 14 |
| Bernhard Urban-Forster | l****m@g****m | 13 |
| rjsc | r****t@g****m | 13 |
| freddanastrom | f****k@l****e | 13 |
| mbuhansen | 9****n | 11 |
| itpr-gwis2 | b****2@i****e | 9 |
| Paul Brand | p****d@g****m | 8 |
| JΓ³zsef Nagy | 1****o | 7 |
| dependabot[bot] | 4****] | 7 |
| Jamie Jones | j****e@j****k | 5 |
| and 32 more... | ||
Committer domains:
- fuerst.biz: 1
- coinerella.com: 1
- stamp.se: 1
- jeito.nl: 1
- ukr.net: 1
- svane.se: 1
- locatelli.be: 1
- river-soft.net: 1
- easybotics.com: 1
- mail.bg: 1
- snutt.net: 1
- ging.nz: 1
- brianmckenna.org: 1
- wiredsquare.com: 1
- poczta.onet.pl: 1
- jamie-jones.co.uk: 1
- itprojekt.ee: 1
- lagun.se: 1
- jamesbrookespartnership.com: 1
- lgaard.dk: 1
- m4gnus.de: 1
- rea-group.com: 1
- holmes.world: 1
- oh1gwk.org: 1
- jonnybarker.com: 1
- haakana.net: 1
Issue and Pull Request metadata
Last synced: 2 months ago
Total issues: 460
Total pull requests: 1,304
Average time to close issues: about 1 month
Average time to close pull requests: 4 days
Total issue authors: 239
Total pull request authors: 64
Average comments per issue: 1.92
Average comments per pull request: 0.7
Merged pull request: 1,030
Bot issues: 0
Bot pull requests: 16
Past year issues: 298
Past year pull requests: 867
Past year average time to close issues: 17 days
Past year average time to close pull requests: 3 days
Past year issue authors: 155
Past year pull request authors: 41
Past year average comments per issue: 1.45
Past year average comments per pull request: 0.64
Past year merged pull request: 662
Past year bot issues: 0
Past year bot pull requests: 13
Top Issue Authors
- dalathegreat (43)
- havrla (12)
- pmajor021 (8)
- jakub8109 (7)
- GoSmartEV (7)
- dvbhannes (6)
- pazdzierzz (6)
- Jaywatts (6)
- malcolmputer (6)
- obbardc (6)
- lenvm (6)
- yngndrw (5)
- DeadmaroZ-TLOTL (5)
- StarkJohan (5)
- HansNetcom (5)
Top Pull Request Authors
- dalathegreat (731)
- kyberias (81)
- lenvm (63)
- mvgalen (43)
- amarofarinha (37)
- jonny5532 (31)
- No-Signal (31)
- wjcloudy (24)
- Cabooman (20)
- obbardc (14)
- greenoem (13)
- StarkJohan (13)
- M4GNV5 (12)
- josiahhiggs (12)
- gwk1 (11)
Top Issue Labels
- Feature request (88)
- bug (72)
- Triage (38)
- Troubleshooting install (32)
- question (20)
- enhancement (19)
- help wanted (11)
- crash (7)
- Connectivity (5)
- hardware (2)
- invalid (1)
- dependencies (1)
- good first issue (1)
- documentation (1)
- wontfix (1)
Top Pull Request Labels
- enhancement (8)
- dependencies (6)
- help wanted (4)
- hardware (4)
- github_actions (3)
- bug (1)
- documentation (1)
Package metadata
- Total packages: 2
- Total downloads: unknown
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 160
proxy.golang.org: github.com/dalathegreat/Battery-Emulator
- Homepage:
- Documentation: https://pkg.go.dev/github.com/dalathegreat/Battery-Emulator#section-documentation
- Licenses: gpl-3.0
- Latest release: v9.2.1+incompatible (published 2 months ago)
- Last Synced: 2025-10-29T20:46:58.729Z (2 months ago)
- Versions: 80
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
proxy.golang.org: github.com/dalathegreat/battery-emulator
- Homepage:
- Documentation: https://pkg.go.dev/github.com/dalathegreat/battery-emulator#section-documentation
- Licenses: gpl-3.0
- Latest release: v9.2.1+incompatible (published 2 months ago)
- Last Synced: 2025-10-29T20:47:00.661Z (2 months ago)
- Versions: 80
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
Dependencies
- actions/checkout v4 composite
- arduino/compile-sketches v1 composite
Score: -Infinity
