Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Embedded blog The Batteryless Energy Harvesting Remote Control: Concept and Development.
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • MDK-Arm
  • freescale
  • remote_control
  • Mbed
  • Cortex-M0+
  • energy_harvesting
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

The Batteryless Energy Harvesting Remote Control: Concept and Development.

Elliott Smith
Elliott Smith
December 2, 2013

The Concept:

The batteryless energy harvesting remote control was a project undertaken to demonstrate the low power of the ARM Cortex-M0+ processor. We wanted to create an extremely low power remote control that was compatible with the vast majority of existing systems. As a result, the remote control had to be able to learn, store and repeat infrared protocols and commands.

In addition to this primary objective, we wanted to use as many of the on chip features as we possibly could. Using the MCU for as many tasks as possible has the advantage of keeping power consumption down and also demonstrates some of the additional features that are emerging in MCU’s such as the one we used, the MkL25Z128VLK4 from Freescale. By using the built in peripherals of the MCU, for example touch sensing, we were able to reduce the number of integrated circuits on the PCB and make the design much simpler than it would otherwise have been. This had the additional advantage of reducing the Bill of Materials for the final design produced.

We also wanted to add some additional sensors and an interesting user interface to the remote control that would make it stand out when compared to your “everyday” remote control. It was very important that the device did not contain a battery and was able to harvest energy without the user actively trying to generate energy, through a winding mechanism for example.

The Final Device:

The remote control we have developed can “learn” IR codes from existing remote controls, store these in flash, and then replay them when required. This is done using IR receivers and the PIT on the MCU to determine the protocol. The remote can control up to four devices. In our demo remote control this includes a television, a dvd player, a set top box and a hifi system. The protocols included in our demo remote control include RC-5, NEC, LG, JVC, SONY and Samsung protocols.

IMG_0499.jpg

The MkL25Z128VLK4 we used in the remote control allowed us to do all of the power management control on the MCU. The ADC, PWM, SMC and the Low Leakage Wake-up Unit (LLWU) modules were utilised to achieve this. In addition, the user interface, which made use of an E-Ink screen required SPI communication and the accelerometer and magnetometer sensors added required I2C communication. The MkL25 series also has the interesting addition of a touch sensing feature. We made use of this on chip touch sensing feature to make a net of electrodes instead of buttons.

IMG_0328.jpg

As previously mention, the user interface for the remote control consisted of an e-ink screen with a touch sensing overlay. The e-ink screen was a low power solution to having a changeable user interface and coupled with the touch sensing feature provided a flexible effective solution. We were able to have a user interface that changed depending on the device we wanted to control. The E-Ink screen allowed us to keep the power consumption to a minimum because it only required 20mA of current for 4 seconds to change the user interface. In addition, an accelerometer and a magnetometer were added to allow the remote to learn the location of a device. This allowed us to make a remote control that, when pointed at the television for example, automatically change the device selected on the remote control to the television.

IMG_0321.jpg

The remote control we created is completely battery-less. It harvests energy from solar cells. The energy harvested from these is stored in a 5 volt, 3 farad super capacitor. The remote control also featured a coil enclosing a magnet so that any addition energy generated when simply moving the remote control around was harvested and stored.

IMG_0324.jpg

Development:

The MkL25Z128VLK4 was chosen initially because it has attractive additional features such as Touch Sensing, but also because it is present on the Freescale FRDM-KL25Z board. This board can be used with the mbed online development platform.

This is where our initial development and investigations took place for many of the features of the remote control.  The online compiler is useful for initial tests because it allows for quick and easy implementation.

Many of the initial features were tested using the mbed platform. This included the touch sensing in which we were able to test different electrode designs quickly and easily. The IR encoding and decoding were also initially investigated using the mbed platform. As well as these, we were able to test the buck-boost converter circuit which was used as part of the power management. We were also able to test the circuits for the accelerometer and magnetometer using breakout boards from sparkfun.

After our initial investigations using the online compiler it was easy to use the FRDM board with Keil MDK and the CMSIS-DAP debug. This allowed us to develop the circuits and code for the remote control. We were able to test some of the sleep modes for the KL25z series and how to write data to flash at this stage as well.

At this point we had much of the circuit design and some parts of the software completed before having to order any printed circuit boards. The mbed platform allowed us to prototype extremely quickly. It allowed us to work out which approaches were viable and which were not before we moved to a more in-depth and lengthier investigation using the Keil MDK.

Being able to use the FRDM board easily with the Keil MDK saved a lot of time. We were able to easily move over to the MDK and write the software that became the basis for the final device. The added security of knowing the hardware designs were correct at this stage really helped in the process.

More Information On The Development Of The Remote Control:

Writing Data to Flash Memory

IR Encoding and Decoding for a Universal Remote Control

Energy Harvesting Remote Control Power Management

Putting the KL25z into LLS Mode and Waking it up using the LLWU

Creating The Final Remote Control:

Having done extensive development on the FRDM board, moving to an actual PCB with the same MCU was relatively easy. We were able to successfully design and create PCBs for the remote control, the only really tricky bit being the soldering of the extremely small components used.

We ended up making three versions of the PCB. The first was used to test the hardware for some of the smaller trickier parts of the circuit such as the E-Ink screens which used Zif Connectors. The second version was used to successfully create a device that worked. The final version simply made some refinements to the design to ensure the remote worked as well as it possibly could. This was only possible because of the extensive testing we were able to perform with the mbed platform and the Keil MDK. The combination of these two tools was very powerful for the production of this demo. The final device was placed in a 3D printed case.

IMG_0305.jpgIMG_0311.jpg
Anonymous
Embedded blog
  • The flexible approach to adding Functional Safety to a CPU

    James Scobie
    James Scobie
    Find out more about Functional Safety with SoC designs and Software Test Libraries.
    • November 8, 2022
  • The importance of building functional safety into your design right from the start

    Madhusudan Rao
    Madhusudan Rao
    Currently, there are many processors that are not designed with functional safety standards in mind and the use of these can lead to lengthy and costly qualification processes for safety relevant applications…
    • November 8, 2022
  • Arm Safety Ready program: Building confidence into your application

    Madhusudan Rao
    Madhusudan Rao
    To demonstrate Arm’s commitment to functional safety, we announce the launch of our Safety Ready program.
    • November 8, 2022