Tuesday, October 6, 2015

Atmel Studio for Arduino Development

For most hobbyists, the Arduino IDE fits the bill when it comes to developing embedded software for the Arduino.  But what if you want to build software for an AVR chip running on a non-arduino board?  (For example, the Pololu Orangutan SVP-1284 Robot Controller that I used in graduate school.)  Or what if you're a professional software engineer who has become accustomed to the features that come with a more sophisticated IDE?

The best answer I've found: Atmel Studio.  In version 6 (which I've been using for some time) it takes a bit of jiggering to get things working properly with an Arduino.  There's a great tutorial/cheat-sheet that I've used here.

Wednesday, September 30, 2015

Resistor Ladder

I learned about an interesting thing today: the resistor ladder.  There's a simple version used in the design for the adafruit home alarm.

This can be used to encode the state of n switches into a single resistance.  In a microcontroller context, one can use an analog to digital converter (ADC) to read a voltage and derive the state of several switches.  All this while using a single pin!

I've been kicking around the idea of building an IoT alarm clock.  The resistor ladder concept could prove useful here for the buttons.  It's an expected case that more than one button will be pressed at the same time (e.g., TIME SET and HOUR).

Monday, September 28, 2015

First Post

Hello, world.

I am a software engineer with about a decade of experience in the domain of business systems, specifically using technology stacks centered around Java and open source libraries.  My eyes were opened to the world of microcontrollers and hobby electronics when I took a course on embedded systems last spring.  I was wrapping up my master's degree in software engineering.

I have since become quite interested in internet of things (IoT) technologies as well as low level programming of microcontrollers.  As I tinker with these technologies, this blog will serve as a one-stop shop to document my projects.  My intent is for this to be most useful to me, but who knows... perhaps someone else will find value or be inspired to embark on a similar project of their own.


Enjoy!