Hello All!
Here's my first post in the Energy Harvesting Challenge. I'll give my first impressions of the Energy Harvesting To GoEnergy Harvesting To Go kit.
Unpacking
As you have seen in gelmi's post from today, the harvesting kit is literally 'ready to go'. The peltier and solar panel can both power the board to let the demo application run the temperature measurements. Nice! It's really fun to play around with, and I took it to my local makerspace to show around. It's really fun to see people wondering about a peltier or solar powered board, and they're even more amazed when you show them it's a very powerful ARM Cortex-M3 that's being powered! That also is a good start for discussions on how to program a power efficient solution (sleep modes, timers, ....)
Using the harvesters
Solar
At my home, indoor, the solar panel is not giving enough energy to run the processor continuously. The display starts, then fades out, stays empty for a while, starts again, etcetera. In a very small bit of direct sunlight (spring is refusing to start here in Holland) it works like a charm, though!
Peltier
I really like the Peltier ('TEG' Thermo-electric-generator) demo. It's so much fun powering electronics from the warmth of your hand! Something that's really 'enlightening' is too see the voltage drop (I'll come to how you can see that) after some time. Why? Because you're slowly warming up the peltier and heatsink. No temperature difference = no energy! Interesting to find out, good to consider for applications.
The Peltier element is connected to a harvesting chip that only works in one polarity, so cooling the top side does not work. This is, to me, a bit of a shortcoming of the board, as both the solar panel and the TEG are 'fixed' to the inputs of the energy harvesting chips. A couple of jumpers here would have been great; you could experiment with cooling the peltier (mind the condensation...), or connect your own solar panel easily. Now you have to physically remove the solar panel to disconnect it from the inputs of the harvester; that's quite a shame since I would like to use this more as a development board than a demo board.... Ehm.. back on topic.
'Current Loop'
I'm not using 4-20mA communication in my home, so haven't been able to use that yet.
Piezo / vibration
Oooh.... Would REALLY have loved to play around with this, but unfortunately the Energy Harvesting To Go kit does not include a Piezo element. I had some piezo elements lying around the house (who hasn't ; ) ) and tried to use them, but these were a piezo speaker and a piezo vibration sensing element, both quite small. I didn't succeed in getting enough voltage out of those to get 3V3 output. When looking around on the internet I found out why it probably wasn't included; a piezo element with enough capacity will very soon cost more than $50.
The whole piezo-stuff made me shift my expectations; I had hoped to be able to convert vibration motion of a bicycle into enough electrical energy to run a red LED. First of all, there is no piezo element included, secondly, when looking at presentations about energy harvesting I found that the amount of energy that can be retrieved from piezo sensors is smaller than the ~5mW needed for the light. Hmmm... back to the drawing board.
Software; running on Linux
Ok; I'll admit it immediately; Linux is probably not the easyest way to go with this harvesting kit, especially if you want to run the Energy Micro examples with a free IDE and compiler. I'm already using the arm-none-eabi-gcc compiler for STM32 projects, and really like code::blocks as IDE (lightweight, but full of features for C development). I got all the software from the website of Energy Micro, and spent an evening (and another one) to get the file structure to match my general project setup, and be able to compile the examples.
From the Energy Micro site you can download the energy profiling and commander programms, these run without problems on Linux (have to make a udev rule for the starter kit, or run as root (yes, I'm lazy)).
eAProfiler is a very cool program to monitor the voltage and the energy usage of the microcontroller, and with eAcommander you can program the device. Something I really liked about the supplied development software is that the examples for the starter kit were also supplied as binaries; just start eACommander to flash a binary, and you're ready to inspect the LCD, LEDs, clock, etcetera. I'll do a post about that later.
Now I was able to compile, and to program; next step was getting the debugger to run....... Problems!
Get that freakin' debugger going...
All descriptions for Linux and debugging were for eclipse, so at first I thought I had some settings wrong in Code::Blocks. I could compile, I could start the gdbserver supplied by EM, and could connect to the target... But whatever I tried, changes in the program weren't sent to the device (I tried to change a text string on the LCD). I could use the compiled binary and program it from eACommander, and that would work. Next I would be able to debug from my IDE. But going to eACommander for every change? I didn't like that idea. So in the end I found out what was wrong; the gdbserver supplied by EM is not up-to-date and does not support the EFM32GG990F1024 yet! If you're using Linux: get the latest gdbserver from Segger!! After that upgrade, I could debug and program from my IDE. Ready to start!
Conclusions, so far
* Energy Harvesting requires good thought about the application. Maybe driving a LED continuously is a bit ambitious from my side, in hindsight. Still, I'll look into the possibilities.
* I'm really, really missing jumpers on the development board to test my own energy harvesting devices
* The EFM32GG990F1024 is a beast lots of power, but also quite big to solder; to create my own circuit I've ordered samples of a smaller device.
* For the amount of power I'd like I might resort to using some kind of inductive generator. Still exploring the possibilities.
* I like gecko's
In the next posts I'll write a bit more about my ideas for applications / what I want to make, and I will try to make a small video to show how you can use the energy harvesting kit.