My take on Android Wear

I was able to acquire an LG Android wear device recently and have used it for about a month, here are my thoughts.

  • I like having a watch, as opposed to not having one
  • The battery life is crap, 1 day
  • Has a proprietary charger, need the stand plus the micro USB cable. One more thing to travel with.
  • Worse then the battery life on the watch is that you need to have BT on and connected constantly from your phone. Kills the battery on my Moto X and makes it unusable if I am on the go all day.
  • There is no killer application to use the watch for. Swiping tinder matches and getting ubers from my watch is not that useful.
  • The watch has no speaker, so no way to actually respond to incoming calls or get verbal user feedback for anything.



Skip it until battery life gets better and there is some app that makes a useful presence on your wrist.

Leave a Comment

Filed under Uncategorized

Energy Harvesting Device Storage – Not all capacitors are created equally

In many energy harvesting systems an energy storage component needs to exist to store electrical energy for use when needed. Commonly these are capacitors, or super capacitors, or some other buzzword. While capacitance and voltage specifications are relatively easy to define something very important to low energy systems is often not defined, the capacitors leakage current and leakage settling time.

Today’s technology allows active components to sleep and consume only several hundred nano amps of current. The EnOcean STM300 for example consumes 220nA while sleeping. Passives don’t have this state and all capacitors have leakage current. The physical chemistry generally is the determining factor for the magnitude of leakage. In powered applications this is almost never considered. However, what if a capacitor is leaking uA of current? If the system is asleep for 99% of the time you just increased your energy consumption 10x!

Besides the leakage current itself a second item to consider is how long a capacitor takes to settle to its steady state leakage value. A capacitor could have a leakage current of nA but it might take 2 days of settling to reach that point. This is not ideal either.

Leakage currents need to be measured, but more importantly a 3.6V 470uF tantalum capacitor will not have the same leakage properties from manufacturer to manufacturer so it is important to measure this and pick quality parts!

Leave a Comment

Filed under energy harvesting, EnOcean, tips and hacks

Adding energy harvesting to your project – translating batteries to capacitors for energy storage

This post is the first in a series on designing energy harvesting electronics. Such devices are not very common in the maker markets. I believe this is because much less content is available on the web that discusses their design and this is generally not a focus of education systems that pump out engineers. The potential of energy harvesting is very powerful, specifically when we talk about the Internet of Things and making it the Internet of Everything as self powered devices do not require batteries, wiring, or in some cases any maintenance.

The standard approach to powering small sensor nodes is slap on a CRxxxx battery, and this works well except for when the battery dies, and when we run out of raw materials making these batteries expensive. Much like a battery a capacitor can store energy. Unlike a battery it stores energy in an electric field instead of converting chemical to electrical energy. The most important difference to consider when using a capacitor to store energy is that as the energy decreases so does the voltage available. Generally batteries maintain a minimum voltage for ~90% of their rate lifetime. Se this Panasonic CR2016 datasheet and note that the voltage is fairly constant till the end of life. The voltage available from a capacitor increases or decreases based on the integral of the current based on time. If you want to know more here Wikipedia has the details but they are not going to be covered in this discussion vs a battery.

Calculating how long a battery lasts

The calculation of the run time with any battery is fairly simple as batteries are generally measured in mAh. This means that the battery will supply x milliamps of current for some amount of time. The CR2016 battery above is rated for 90mAh. This means it will supply 90mA of current for 1 hr at 3V.  If your system uses 1mA of current then it will last 90h. Generally this should be de-rated as the voltage will drop towards the last 15% of the batteries energy capacity so take a look at the data sheet. Also remember that batteries have resistance and cannot supply unlimited current. It may not be possible for the above battery to supply 360mA for 1/4 and hour depending on this value.

mAh can be converted to power by multiplying by the average voltage over the batteries lifetime. Electrical energy is voltage * current * time [V*I*t]  and a batteries data sheet supplies all three of these. The power the CR2016 has is 3V * .009A * (1hr * 60min * 60sec) =  97.2J.

So how does this equate to a capacitance value?

The energy in a capacitor is defined by its capacitance, the ability to store an electric field, and the voltage on the capacitor.  E=.5*CV^2. See here if you want to know why. In our system we know we need to maintain a minimum voltage so the electronics operate correctly. When the voltage is below this nothing will work. There will also be a maximum voltage based on how the energy harvesting circuitry that the capacitor can charge up to. This leaves us with a max voltage and minimum voltage. All the energy stored below the minimum voltage cannot be used so we get the following equation of usable energy in the capacitor. E[useable] = .5*C *(V[max]^2 – V[min]^2). E[useable] should match the energy in the battery and then solve for C.

Not all Capacitors are created equally.

Capacitors also enjoy a nice property known as leakage current. Different capacitors have different leakage currents, lower is better since this is wasted energy. The capacitors you use now probably wont work so well as a long term energy storage device. To further make things difficult data sheets don’t have this information available. I would not source these from ebay and would spend some time learning about the different commercially available capacitor types. Perhaps later a post can be devoted to this.

That is all for now. Next up will be a post on EH charging circuitry.


Leave a Comment

Filed under energy harvesting, stuff I've made

EnOcean USB300 and Python Via EnOcean Serial Protocol 3

There doesn’t seem to much out there in the hobby world with EnOcean. I find this interesting because EnOcean is pretty simple to use and has the unique advantage of energy harvesting devices anywhere. EnOcean sells a USB stick, the USB300 that speaks the EnOcean Serial Protocol 3 ( ESP3 (PDF)). I implemented part of this protocol, the ability to receive radio telegrams and transmit any ESP3 packet. In reality you probably only need to deal with a the small subset of ESP that is for sending and receiving radio telegrams. This would be the type 1 radio packets.

This python program doesn’t do much, but it lays the foundation for more and removes the burden of calculating check-sums. After starting you need to select the correct com port to use. If the connection is OK you will get back some details of the device, firmware version, chip ID etc. The main loop simply waits for 4bBS and RPS(four byte sensor and repeated switch) telegrams to be received from other EnOcean devices. It will print the data and source ID as well. The EnOcean Equipment Profiles EEP 2.5 (PDF)specifies how data looks coming in from different types of devices.ESP3_python Hopefully this helps you get started with ESP3 and adding EnOcean devices to your project.

The picture shows the program starting and some button presses and releases of a PTM210 wireless energy harvesting switch.

source code here: simple_serial_basic note the send ESP3 packet method is implemented as well.


Have fun…..


Filed under EnOcean, stuff I've made, tips and hacks

Arduino and Energy Harvesting Wireless Sensor Networks

I am beginning work on my first Arduino shield. This shield will allow you to connect with an EnOcean radio module.across the EnOcean serial procol v3. It will allow you to program the EnOcean module, or use it as a standalone EnOcean radio platform for powered or energy harvesting applications. This is particularly useful to adapt the batteryless energy harvesting switches EnOcean offers to additional platforms. Think, motor controllers, lighting controllers etc. Hopefully these will be available in Q1 of 2013.


Filed under EnOcean, stuff I've made

Keil’s floating license – maintaining limited code size functionality

Keil’s C51 compiler does a silly thing. Normally in Keil you can compile code under 6k in size without needing a license. Adding a floating license removes this restriction. Unfortunately adding this license also means you cannot compile any code, even if it it under 6k without checking out a license. Installing a second version  of Keil did not solve this problem as I though it would. So I found another solution (despite their tech support saying it is not possible 😉 )


Keil keeps a TOOLS.INI file in the /Keil/ directory. This file also keeps track of licensing. For example my last two lines under the C51 section are:

FLF0=”\\****\SCC\Third Party Tools\Keil PK51 Floating License\KeilC51.FLF”

Removing these lines from the .ini files returns the C51 compiler to evaluation mode with limited code size functionality. Replace them to use the floating license.

Keil checks this file at every compilation so no need to restart or anything…

Leave a Comment

Filed under tips and hacks, Uncategorized

A nerdy birthday needs a nerdy costume addition

My roommate Chelsea decided to have a nerd themed 21st birthday in Boulder. A fitting choice since I am already almost a nerd….
Anyway, to maximize her nerdy-ness I created her a LCD name tag with a twist.
I combined a zigbee module, 9v battery, and LCD screen  with bobby pins for her to wear like a “hello my name is” tag.

On my wrist I had an arduino, zigbee module, and 9v. I programmed the arduino to intermittently sent info to the name tag. I also added two buttons; One to press for every kiss she got, and the second to press every time she was bought a drink. Each would display some unique text with a updated drink and kiss counter.

After all Boulder is the number one party school! A very easy build with an awesome affect.

Leave a Comment

Filed under stuff I've made, Uncategorized

The automated beer kegerator – an awesome project

This is a short blurb about my senior design project at CU boulder that was awesome. Unfortunately it got destroyed by whom the design was gifted to. (Robby V.) This is a post to remember its greatness.

What did it do?

So we converted a tradition keg/tap based fridge system into a custom dispensing unit. It did several cool things:

  • Pour the correct amount.
  • Track beer left in keg.
  • Measure and control C02 pressure as well as remaining C02.
  • Measure and set fridge temperature.
  • Track drinks per user via magnetic swiper, saved to a MySQL database.

A short, crappy video of it is here.
A pour test here.
It used a msp430, various opamps, voltage regulators, and zigbee for wireless comms back to the PC.
The GUI was written in Processing, a Java API.

It served its time well, especially with the project I helped consult on, this awesome beer pong table.

Get the drift? We like beer….and electronics.

Leave a Comment

Filed under stuff I've made

Using the msp430g2553 TI Launchpad to control an RGB led.

It seems like a simple task, but it actually is not. To do RGB control you need three PWM signals from a MSP430. This equates to needing at least one timer that has three capture control registers. The value line parts included with the launchpad have a timer A0 with 3 CCRs. For whatever reason CCR0 is not available as a configurable hardware output; or at least I could not figure out how to use it as such.

Non value line parts (read- non dip msp430s) offer Timer B, which can have as many as 7 CCRs. Finding these parts are difficult as TI does not provide a search function based on number of CCR registers per timer. These would work great. Alternatively you can pick up a value line msp that has two timer As, and is thus capable of 4 hardware PWM signals. This just means a few extra lines of initialization code and keeping track of what color is on what timer. The timers count’s will not be synchronized but this is irrelevant.

I used the MSP430g2553, free from TI via samples here: g2553

There are a few things to configure to your liking. The period and the maximum duty cycle (to prevent burning out LEDs). The period ultumatly sets the PWM frequency. The two Timer As are running off of the DCO at 16Mhz. They will continuosly count up to the period -1 and reset to zero. This alone will do nothing. Each color has a CCR to tell the hardware when to do something. This something is configured in a separate control register, which tells it what to do. In this case it is OUTMOD_7, which changes the pins state at every time the timer = the CCR value. Setting the period to 320 sets the timer frequency to 50Khz, and thus the PWM frequency to the same. Setting a CCR register to 120 would then give you a 50% duty cycle on the corresponding pin. See below for the sample code. The whole code composer project is zipped in there….have fun.



Filed under stuff I've made, Uncategorized

Get a real free credit report

While I do love the catchy jingles of their service is not actually free. Thankfully thanks to our federal government everyone can receive their credit report from each Equifax, Trans-Union, and Experian once per year. you just have to go to And it is actually free! Additionally if you live in certain states you may be entitled to a free report through the state system. I know Colorado has this.

So what? This report allows you to see all your credit lines, and whether payments are accounted on them correctly. Still this doesn’t help you determine how good or bad your credit is relative to others ala a credit score. This of course can be purchased, but may still be meaningless as every creditor can calculate a credit score with different criteria. A credit score of 700 from Experian may not be a score of 700 when Chase looks at your credit report for financing. Their are credit cards that allow you to get your credit score for free, as well as your report for free monthly.(US Bank offers one) Quite a nice perk, considering others are paying for it.

Happy crediting.

Leave a Comment

Filed under credit, getting paid