Quite some time ago, I started out an Arduino port of the LMIC library. Initially, it was just a proof of concept for node->node communication, but a few months ago @Thomas and @popcorn helped to get proper LoRaWAN support working as well. @Thomas has been providing a working version for a while, but in the past few weeks I've updated my version of the library, incorporating some of his changes, as well as a lot of other fixes, improvements and more complete documentation.
The library should, in theory, work on AVR-based arduinos as well as other architectures, though I have not tested with any non-AVR hardware with this particular version of the library yet. Feedback about this is welcome (also positive feedback if the code is working on your hardware)!
The library can be found here: https://github.com/matthijskooijman/arduino-lmic