element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Design For A Cause 2021
  • Challenges & Projects
  • Design Challenges
  • Design For A Cause 2021
  • More
  • Cancel
Design For A Cause 2021
Blog EnergySaverHighScore - Bernhard - Design for A Cause 2021  #1 - Introduction
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: bernhardmayer
  • Date Created: 3 Jun 2021 8:33 AM Date Created
  • Views 521 views
  • Likes 4 likes
  • Comments 0 comments
  • mqtt
  • raspberry_pi
  • arduino
  • arduino_design_challenge
Related
Recommended

EnergySaverHighScore - Bernhard - Design for A Cause 2021  #1 - Introduction

bernhardmayer
bernhardmayer
3 Jun 2021

EnergySaverHighScore

Preface

 

I know I am a little bit late in the competition but the conecpt needed a few more thoughts on it and now I give it a start. I hope I finish in time for the deadline but I will keep the project up until it is completely finished ...

 

Idea

The biggest challenge of our times is fighting climate change. But everyone of us can do his part and change his behaviour and reduce his energy consumption. In order to do this you first have to know your consumpton. My project will help you to find that out.

 

In a household most of the energy is used for heating and the next big part is electricity for lighting and white goods. My project will collect this data and visualize it. So that everyone can see his energy consumption at every moment and in comparison to past days and react to it.

In addtion to that I plan to implement a scoring system for energy savings. I think this will challenge the gamer in everyone of us to be better than the the day before and thus reduce consumption.

 

Data collection

My project will read the information of the energy meter and the heating controller, store it, compute it and send it to a display unit. The main controller will be a Raspberry Pi and will be powered by the grid.

energy meter

Recent energy meters are solid state types and have an optical infra-red interface. This will be connected to the serial port of the Raspberry Pi and interpreted. The SML protocol is used on this interface.

heating controller

My heating controller has a CAN bus and uses the CANopen protocol. It will be directly connected to the Raspberry Pi using my CANFDZeroHAT - CAN FD controller for the Raspberry Pi

 

Display Unit

The display unit will use the Arduino Nano 33 IoT and will be powered by a rechargeable battery. In this use case this is the most efficient power supply because a grid power supply would have more standby losses than the system overall needs. It will use an 2.9 inch e-paper display which consumes no power when displaying static content. It will wake up from time to time controlled by the internal timer and get the current data from the Raspberry Pi via WiFi. Additionally it will be possible to wake the Arduino by tapping on it. I want to use the tap detection of the builtin accelerometer for this function.

Life time

The e-paper display has only a limited life time of 1.000.000 display refresh cycles and a temperature range of 0 - 40 °C. As my application is an inhouse use the temperature is (should be) no problem. And I am going to refresh the content every 10 minutes. Then the cycles should last for more than 10 years. And I would be very happy if the unit is used for 10 years.

 

Data transmission

I plan to use MQTT to transmit the data and conect all parts of the project together. The Raspberry Pi will be the MQTT Broker and hold all the data. The heating controller deamon will also run on the Raspberry Pi and publish its data. The energy meter deamon will do the same. A third deamon, the database deamon, will collect the data from heating and energy meter and store it to a database and calculate historical data and savings. The Arduino will subscribe to that data and publish it. As the Arduino will stay mostly in sleep state it won't get live data but request the data from the broker each time it wakes up.

 

system overview

This block diagram schows all the parts of the system

image

 

Project steps

  • setup Raspberry Pi and connect heating controller
  • setup MQTT Broker on Raspberry Pi and connect data from heating controller (heating controller deamon)
  • connect Arduino to MQTT Broker
  • connect display to Arduino and implement update logic using internal timer and accelerometer
  • implement data base to store data and compute energy savings
  • measure and reduce energy consumption of devices
  • connect energy meter to database and display
  • gamification - implement scoring system

 

Previous projects related to this topic

CANFDZeroHAT - CAN FD controller for the Raspberry Pi

The Windchillator - Reducing the sleep current of the Arduino MKR WIFI 1010 to 800 uA

https://github.com/107-systems/107-Arduino-UAVCAN

https://github.com/generationmake/LiIonFeatherWing

https://github.com/generationmake/stromwaechter

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube