Arduino hangs?

A fairly common way of hanging an arduino sketch (or other C code for that matter) is writing on inappropriate memory locations. Check that you're not writing off the end of an array, or using a return value from a function that doesn't always explicitly return one. Really though, for any more focused assistance, you'll need to post your code.