OpenOCD is great because its cross platform, open source, and has support for a vast number of chips & programmers. You can use OpenOCD with dongle-programmers such as J-Link and ST-Link or even an FTDI chip. But, if you have a spare Raspberry Pi (and who doesn't these days?) you can use it as a native OpenOCD programmer with just a few wires.
This guide will show you how to build an Arduino package tracker that will alert you when an anticipated package arrives at your door. Using an internet-connected Arduino, a proximity sensor, and Temboo, we’ll build a device that connects hardware to web services in order to track packages and notify you when they arrive.