Archive for June 2013

Mophie Juice Pack for Samsung Galaxy S3 Review

leave a comment »

I’ve been using the Samsung Galaxy S3 Mophie Juice Pack for about a month with my Samsung Galaxy S3. The Mophie Juice Pack boasts a 2300mAh battery that is slightly larger than the S3’s 2100mAh battery. It comes in white or black and consists of two pieces – a plastic hardshell with a USB port into which you slide the bottom of your S3. The S3’s power port then slides into the Mophie’s USB port. The Mophie USB port acts as a pass-through that charges the Juice Pack and phone battery, and allows USB connectivity to your computer. The 2nd piece slides over the top of the phone and snaps into the bottom. The case covers the whole phone and wraps around the front lip. It does a good job in terms of coverage.

Besides covering the phone, there aren’t many features. There is a set of four white LEDs on the bottom of the case that are activated by a button next to them. Pushing the button lights up the LEDs to show how much charge is left in the Juice Pack. In addition, there is a small on/off switch that turns on or off the phone charging from the Juice Pack. Turning the switch on makes the S3 think that it is plugged into a power outlet and it draws power from the Juice Pack.

In general day to day use, I leave the pack on to conserve my cell phone battery and I can expect the juice pack to last about a day with minimal usage of my phone. Minimal usage means turning off everything and then using wifi on for about 30 minutes spread throughout the day to check my email and general web browsing. This is pretty low considering that the S3 battery will go a full day and still have charge left over.

Fit, Feel, and Finish
Despite the premium price, the Mophie Juice Pack doesn’t have the feel of its $100 price. The plastic feels cheap and gets slippery after extended use. It is difficult to guide the phone into the USB plug and the top doesn’t line up with the bottom along its seams. There isn’t enough space around the headphone jack to plug in headphones with large plugs.

One last thing is that the side buttons are very cheap. The power button on my case was locked inward which forced the phone into a endless reboot cycle after I inserted the phone into the case – I had to rip out the Mophie’s side button with a pair of pliers just to stop the reboot cycle and be able to use my phone. Not what I’d expect for a $100 phone case!

I am very disappointed by the Mophie Juice Pack. It appears to be a $20 battery covered by a cheap $10 plastic case with 10 cent buttons that sells for $100. The fact that I can’t plug in headphones with large plugs and that the buttons can lock your phone into a endless reboot cycle makes the high price tough to swallow. Especially considering that I can get a 4200mAh battery for $25.

Protective case that covers the whole phone

Poor battery life
Not good value for money – cheap construction and bad button design
Other cases available at lower prices with similar capabilities

Broken by design

Top and bottom don’t align!

Written by M Kapoor

June 27, 2013 at 6:51 pm

Binary Clock II with ATmega32

leave a comment »

I made this binary clock to learn how to use Eagle and go through a real PCB ordering process. Until I made this clock, all my PCBs had been made through ExpressPCB. ExpressPCB’s PCB ordering process is very easy but their PCB design tool is not as advanced as Eagle, puts out proprietary files, and is not well used by the PCB community. In addition their PCBs are a little on the expensive side at $51+shipping for 3 boards although you do get them in 1-2 weeks.

For this project I had the PCB manufactured by BatchPCB – a service run by SparkFun.  However, since then I’ve switched over to OSH Park.  OSH Park has much better looking and higher quality PCBs than SparkFun.  In addition they are purple and come with nice looking gold plating.


The clock layout is very simple since this was a beginner project. Most binary clocks represent the time in binary-coded-decimal (BCD) format where each digit in the time is encoded as a binary number. I chose to do a full binary clock where the entire hour (or minute, or second) is displayed in binary.

Putting the schematic together in Eagle was easy and so was laying out the PCB. I took the easy way out and used the autoroute feature to lay the traces. The autorouter isn’t very smart and I recommend against it, it routed several traces under the small 1206 parts and inserted vias where it was very easy to bridge them to pads with solder.

A few places that I screwed up was in connecting the LEDs to the IO pins and not putting in a screw down terminal connector for the input power. I randomly assigned the LEDs to various pins and this made addressing them difficult when writing the code.  For the input power, I figured that I would just solder the power adapter directly to the voltage regulator pins (7805).  I found out the hard way that this is not a very secure way to tie down the supply and it made re-using the supply difficult because I now had solder on the tips of the wires!


I based much of the code on a binary clock I made a while back.  I set up timer1 to overflow every 100ms and increment the seconds every 10 overflows.  I increment the minutes and set the number of seconds to 0 when seconds is greater than 60,  and increment the hours when minutes are greater than 60.  Updating the display only needs to be done after you increment the seconds.  I also did a crude PWM where I toggled the LEDs on each overflow to reduce power consumption.

You can download the code here.

Layout view:

The schematic is not very interesting, so here is the layout.  I have four buttons to set the time; the ATmega32; 6 LEDs per for the hours, minutes, and seconds; a 6 pin AVR-ISP header; and a 7805 voltage regulator.  I initially thought about powering the device via USB – There are pads for a USB socket – but I never got around to it.

Parts list:

Quantity Part Name Description
18 1206 100ohm resistors current limiting resistors for the LEDs
18 1206 LEDs For the display. Mine are blue.
4 Momentary on Omron switches Part name: B3F-10XX
4 10KOhm resistors pull up resistors for the switches
1 ATmega32 Microcontroller
1 2×3 header AVRISP connector
1 7805T 5v Power regulator
1 USB header USB header as alternate powersupply – not used
misc capacitors Used for AC bypass and switch debouncing

Eagle files:

You can download the eagle files by clicking here.

Written by M Kapoor

June 27, 2013 at 6:44 pm

ATtiny not working – PB5/RESET controlled by RSTDISBL fuse

leave a comment »

While working on a ATtiny13 development board I noticed that my board only worked when the PB5 pin was high.

If you have a non-functional or erratic ATtiny13 or similar Atmel MCU that shares RESET with a IO pin, try setting the IO pin that is shared with RESET to a logic high. It is possible that the RESET pin is being pulled low and this is keeping your code from running.  This happens because instead of allowing for a software switch, Atmel uses the RSTDISBL fuse to control the switching between RESET and IO pin use.

One caveat in setting the RSTDISBL fuse is that the AVR can no longer be programmed via ISP mode, the fuse can only be reset with a high voltage programmer. I don’t understand why Atmel chose to do this, Atmel should have allowed users to toggle the RESET pin via software – maybe they wanted to give a large customer
the ability to lock out the ability to reprogram the microcontroller!

Written by M Kapoor

June 27, 2013 at 6:39 pm

Posted in microcontrollers

Tagged with , , ,