So I was reading this post the other day when I was trying to determine why one of my Arduino sketches was puking out garbage on the serial port. It was a good read, and I definitely recommend you go read it too (particularly if you are an advanced Arduino programmer). I had no idea how flawed the Arduino core libraries were. So I went digging through the source code (why the hell hadn’t I done this yet?). Sure enough…. yeah…. needs work. Things have indeed improved since Alan’s post was originally written. But, as he pointed out, the hardware serial library still needs fixing (among other things). Nonetheless, it got me thinking…. maybe I need to “graduate” bit in Arduino-land. So while I was googling around and reading all kinds of forum posts and talking to people on IRC, etc, one of the common things people kept talking about is just using ATmel Studio and doing direct pin access.
I had stayed away from Atmel Studio because event though it is designed to program Atmel AVR chips (which is what the Arduino platform is built on), it is not specifically geared toward the Arduino platform, and more importantly, it is essentially customized version of Microsoft Visual Studio…. thus, it is not cross-platform compatible. In my previous post, I discussed my preferences when it comes to Arduino IDEs and the importance I place on cross-platform IDEs. While looking into the Atmel Studio 6.1, I was reading up on the Atmel Gallery and decided to go check it out and see what kind of add-ons were in there. Wouldn’t you know…. right on the front page was the Arudino IDE for Atmel Studio. You know what? This thing is BAD ASS.
I know, I know, I know…. “But it only works on Windows!”. Yes… unfortunately, this is still true. But I gotta tell ya… I think I like it better than Visual Micro. If you’re a Windows user, or at least aren’t as anal about platform compatibility as I am, then you’re gonna love it. I’ve only gotten to use to write one sketch (a BIG one) and edit a couple others, but so far…. it’s fairly superior to almost everything else I’ve used (so far).