Skip to content

Repository files navigation

OpenSmartMeter

The Open Smart Meter solves a problem that affects most solar developers in the industry. This inexpensive and open source Smart Meter meets IEC and key elements of the local regulations in Nigeria.

Project StatusGitHub Workflow StatusLicense


Description

This repository contains manufacturing details as related to smart energy meter, details such as hardware design, web software, firmware, exterior casing STL files, rationale behing design, how-to document to guide a skilled user to replicate every part of the smart meter is available in the repository.

OpenSmartMeter 3D Render

Technical developmental breakdown

The open-source smart meter development has four main parts to it as highlighted below:

Circuit and Enclosure Design

The circuit was designed on Kicad free and open-source PCB design software while the enclosure design was done using Fusion 360 software.

PCB and Enclosure fabrication

PCB fabrication involves putting together the physical components that makes up the smart meter. The PCB features a 2layer design incorporating CICADA GSM module for communication while the enclosure offers a minimalistic IP 51 design according to IEC metering enclosure design standard.

Firmware, Web interface Development & API integration

The firmware code was written in Arduino IDE using C++, while the web front end was written majorly in HTML and CSS while the back end was written majorly in PHP. Links to all these codes are here. ThingsBoard API was used to view meter parameters such as energy, credit.

Calibration & Testing

After putting the hardware and software together, we needed to validate the performance of the smart meter and ascertain its accuracy. Due to varying tolerances of used components, it is vital to perform a calibration exercise. This is used to correct any errors due to varying tolerances. Further details including source code, schematics, and manufacturing files can be found in the EnAccess github repository

Infrastructure diagram

Screenshot 2022-11-05 at 4 14 06 AM

About

Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - EnAccess/OpenSmartMeter: Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API. · GitHub
Skip to content

Repository files navigation

OpenSmartMeter

The Open Smart Meter solves a problem that affects most solar developers in the industry. This inexpensive and open source Smart Meter meets IEC and key elements of the local regulations in Nigeria.

Project StatusGitHub Workflow StatusLicense


Description

This repository contains manufacturing details as related to smart energy meter, details such as hardware design, web software, firmware, exterior casing STL files, rationale behing design, how-to document to guide a skilled user to replicate every part of the smart meter is available in the repository.

OpenSmartMeter 3D Render

Technical developmental breakdown

The open-source smart meter development has four main parts to it as highlighted below:

Circuit and Enclosure Design

The circuit was designed on Kicad free and open-source PCB design software while the enclosure design was done using Fusion 360 software.

PCB and Enclosure fabrication

PCB fabrication involves putting together the physical components that makes up the smart meter. The PCB features a 2layer design incorporating CICADA GSM module for communication while the enclosure offers a minimalistic IP 51 design according to IEC metering enclosure design standard.

Firmware, Web interface Development & API integration

The firmware code was written in Arduino IDE using C++, while the web front end was written majorly in HTML and CSS while the back end was written majorly in PHP. Links to all these codes are here. ThingsBoard API was used to view meter parameters such as energy, credit.

Calibration & Testing

After putting the hardware and software together, we needed to validate the performance of the smart meter and ascertain its accuracy. Due to varying tolerances of used components, it is vital to perform a calibration exercise. This is used to correct any errors due to varying tolerances. Further details including source code, schematics, and manufacturing files can be found in the EnAccess github repository

Infrastructure diagram

Screenshot 2022-11-05 at 4 14 06 AM

About

Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - EnAccess/OpenSmartMeter: Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API. · GitHub
Skip to content

Repository files navigation

OpenSmartMeter

The Open Smart Meter solves a problem that affects most solar developers in the industry. This inexpensive and open source Smart Meter meets IEC and key elements of the local regulations in Nigeria.

Project StatusGitHub Workflow StatusLicense


Description

This repository contains manufacturing details as related to smart energy meter, details such as hardware design, web software, firmware, exterior casing STL files, rationale behing design, how-to document to guide a skilled user to replicate every part of the smart meter is available in the repository.

OpenSmartMeter 3D Render

Technical developmental breakdown

The open-source smart meter development has four main parts to it as highlighted below:

Circuit and Enclosure Design

The circuit was designed on Kicad free and open-source PCB design software while the enclosure design was done using Fusion 360 software.

PCB and Enclosure fabrication

PCB fabrication involves putting together the physical components that makes up the smart meter. The PCB features a 2layer design incorporating CICADA GSM module for communication while the enclosure offers a minimalistic IP 51 design according to IEC metering enclosure design standard.

Firmware, Web interface Development & API integration

The firmware code was written in Arduino IDE using C++, while the web front end was written majorly in HTML and CSS while the back end was written majorly in PHP. Links to all these codes are here. ThingsBoard API was used to view meter parameters such as energy, credit.

Calibration & Testing

After putting the hardware and software together, we needed to validate the performance of the smart meter and ascertain its accuracy. Due to varying tolerances of used components, it is vital to perform a calibration exercise. This is used to correct any errors due to varying tolerances. Further details including source code, schematics, and manufacturing files can be found in the EnAccess github repository

Infrastructure diagram

Screenshot 2022-11-05 at 4 14 06 AM

About

Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - EnAccess/OpenSmartMeter: Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API. · GitHub
Skip to content

Repository files navigation

OpenSmartMeter

The Open Smart Meter solves a problem that affects most solar developers in the industry. This inexpensive and open source Smart Meter meets IEC and key elements of the local regulations in Nigeria.

Project StatusGitHub Workflow StatusLicense


Description

This repository contains manufacturing details as related to smart energy meter, details such as hardware design, web software, firmware, exterior casing STL files, rationale behing design, how-to document to guide a skilled user to replicate every part of the smart meter is available in the repository.

OpenSmartMeter 3D Render

Technical developmental breakdown

The open-source smart meter development has four main parts to it as highlighted below:

Circuit and Enclosure Design

The circuit was designed on Kicad free and open-source PCB design software while the enclosure design was done using Fusion 360 software.

PCB and Enclosure fabrication

PCB fabrication involves putting together the physical components that makes up the smart meter. The PCB features a 2layer design incorporating CICADA GSM module for communication while the enclosure offers a minimalistic IP 51 design according to IEC metering enclosure design standard.

Firmware, Web interface Development & API integration

The firmware code was written in Arduino IDE using C++, while the web front end was written majorly in HTML and CSS while the back end was written majorly in PHP. Links to all these codes are here. ThingsBoard API was used to view meter parameters such as energy, credit.

Calibration & Testing

After putting the hardware and software together, we needed to validate the performance of the smart meter and ascertain its accuracy. Due to varying tolerances of used components, it is vital to perform a calibration exercise. This is used to correct any errors due to varying tolerances. Further details including source code, schematics, and manufacturing files can be found in the EnAccess github repository

Infrastructure diagram

Screenshot 2022-11-05 at 4 14 06 AM

About

Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - EnAccess/OpenSmartMeter: Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API. · GitHub
Skip to content

Repository files navigation

OpenSmartMeter

The Open Smart Meter solves a problem that affects most solar developers in the industry. This inexpensive and open source Smart Meter meets IEC and key elements of the local regulations in Nigeria.

Project StatusGitHub Workflow StatusLicense


Description

This repository contains manufacturing details as related to smart energy meter, details such as hardware design, web software, firmware, exterior casing STL files, rationale behing design, how-to document to guide a skilled user to replicate every part of the smart meter is available in the repository.

OpenSmartMeter 3D Render

Technical developmental breakdown

The open-source smart meter development has four main parts to it as highlighted below:

Circuit and Enclosure Design

The circuit was designed on Kicad free and open-source PCB design software while the enclosure design was done using Fusion 360 software.

PCB and Enclosure fabrication

PCB fabrication involves putting together the physical components that makes up the smart meter. The PCB features a 2layer design incorporating CICADA GSM module for communication while the enclosure offers a minimalistic IP 51 design according to IEC metering enclosure design standard.

Firmware, Web interface Development & API integration

The firmware code was written in Arduino IDE using C++, while the web front end was written majorly in HTML and CSS while the back end was written majorly in PHP. Links to all these codes are here. ThingsBoard API was used to view meter parameters such as energy, credit.

Calibration & Testing

After putting the hardware and software together, we needed to validate the performance of the smart meter and ascertain its accuracy. Due to varying tolerances of used components, it is vital to perform a calibration exercise. This is used to correct any errors due to varying tolerances. Further details including source code, schematics, and manufacturing files can be found in the EnAccess github repository

Infrastructure diagram

Screenshot 2022-11-05 at 4 14 06 AM

About

Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - EnAccess/OpenSmartMeter: Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API. · GitHub
Skip to content

Repository files navigation

OpenSmartMeter

The Open Smart Meter solves a problem that affects most solar developers in the industry. This inexpensive and open source Smart Meter meets IEC and key elements of the local regulations in Nigeria.

Project StatusGitHub Workflow StatusLicense


Description

This repository contains manufacturing details as related to smart energy meter, details such as hardware design, web software, firmware, exterior casing STL files, rationale behing design, how-to document to guide a skilled user to replicate every part of the smart meter is available in the repository.

OpenSmartMeter 3D Render

Technical developmental breakdown

The open-source smart meter development has four main parts to it as highlighted below:

Circuit and Enclosure Design

The circuit was designed on Kicad free and open-source PCB design software while the enclosure design was done using Fusion 360 software.

PCB and Enclosure fabrication

PCB fabrication involves putting together the physical components that makes up the smart meter. The PCB features a 2layer design incorporating CICADA GSM module for communication while the enclosure offers a minimalistic IP 51 design according to IEC metering enclosure design standard.

Firmware, Web interface Development & API integration

The firmware code was written in Arduino IDE using C++, while the web front end was written majorly in HTML and CSS while the back end was written majorly in PHP. Links to all these codes are here. ThingsBoard API was used to view meter parameters such as energy, credit.

Calibration & Testing

After putting the hardware and software together, we needed to validate the performance of the smart meter and ascertain its accuracy. Due to varying tolerances of used components, it is vital to perform a calibration exercise. This is used to correct any errors due to varying tolerances. Further details including source code, schematics, and manufacturing files can be found in the EnAccess github repository

Infrastructure diagram

Screenshot 2022-11-05 at 4 14 06 AM

About

Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - EnAccess/OpenSmartMeter: Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API. · GitHub
Skip to content

Repository files navigation

OpenSmartMeter

The Open Smart Meter solves a problem that affects most solar developers in the industry. This inexpensive and open source Smart Meter meets IEC and key elements of the local regulations in Nigeria.

Project StatusGitHub Workflow StatusLicense


Description

This repository contains manufacturing details as related to smart energy meter, details such as hardware design, web software, firmware, exterior casing STL files, rationale behing design, how-to document to guide a skilled user to replicate every part of the smart meter is available in the repository.

OpenSmartMeter 3D Render

Technical developmental breakdown

The open-source smart meter development has four main parts to it as highlighted below:

Circuit and Enclosure Design

The circuit was designed on Kicad free and open-source PCB design software while the enclosure design was done using Fusion 360 software.

PCB and Enclosure fabrication

PCB fabrication involves putting together the physical components that makes up the smart meter. The PCB features a 2layer design incorporating CICADA GSM module for communication while the enclosure offers a minimalistic IP 51 design according to IEC metering enclosure design standard.

Firmware, Web interface Development & API integration

The firmware code was written in Arduino IDE using C++, while the web front end was written majorly in HTML and CSS while the back end was written majorly in PHP. Links to all these codes are here. ThingsBoard API was used to view meter parameters such as energy, credit.

Calibration & Testing

After putting the hardware and software together, we needed to validate the performance of the smart meter and ascertain its accuracy. Due to varying tolerances of used components, it is vital to perform a calibration exercise. This is used to correct any errors due to varying tolerances. Further details including source code, schematics, and manufacturing files can be found in the EnAccess github repository

Infrastructure diagram

Screenshot 2022-11-05 at 4 14 06 AM

About

Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - EnAccess/OpenSmartMeter: Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API. · GitHub
Skip to content

Repository files navigation

OpenSmartMeter

The Open Smart Meter solves a problem that affects most solar developers in the industry. This inexpensive and open source Smart Meter meets IEC and key elements of the local regulations in Nigeria.

Project StatusGitHub Workflow StatusLicense


Description

This repository contains manufacturing details as related to smart energy meter, details such as hardware design, web software, firmware, exterior casing STL files, rationale behing design, how-to document to guide a skilled user to replicate every part of the smart meter is available in the repository.

OpenSmartMeter 3D Render

Technical developmental breakdown

The open-source smart meter development has four main parts to it as highlighted below:

Circuit and Enclosure Design

The circuit was designed on Kicad free and open-source PCB design software while the enclosure design was done using Fusion 360 software.

PCB and Enclosure fabrication

PCB fabrication involves putting together the physical components that makes up the smart meter. The PCB features a 2layer design incorporating CICADA GSM module for communication while the enclosure offers a minimalistic IP 51 design according to IEC metering enclosure design standard.

Firmware, Web interface Development & API integration

The firmware code was written in Arduino IDE using C++, while the web front end was written majorly in HTML and CSS while the back end was written majorly in PHP. Links to all these codes are here. ThingsBoard API was used to view meter parameters such as energy, credit.

Calibration & Testing

After putting the hardware and software together, we needed to validate the performance of the smart meter and ascertain its accuracy. Due to varying tolerances of used components, it is vital to perform a calibration exercise. This is used to correct any errors due to varying tolerances. Further details including source code, schematics, and manufacturing files can be found in the EnAccess github repository

Infrastructure diagram

Screenshot 2022-11-05 at 4 14 06 AM

About

Low-cost & OEM agnostic GSM prepaid smart energy meter with a customizable API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

27 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages