Storing Sketches In The Cloud

There’s a fine line between solving problems that don’t exist and solving problems that no one recognizes until a solution is found. The former shows up with housewares peddled on late-night infomercials, while the latter is summed up by [Henry Ford], “If I asked people what they wanted, they would have said faster horses.” [Dave]’s method of storing microcontroller code in the cloud definitely falls into the ‘useful’ category.

[Dave] first realized the problem when he was digging around the IDEO Toy Lab and came across an orphan project, a Barbie credit card swiper. [Dave] had no idea if the firmware for this project was saved on the server, or even if the current version was available. One solution to this problem could be burning a copy of the source onto the Flash or EEPROM on the board.

There’s a problem with this idea, though: storing the source in an Arduino’s memory takes space. Thinking laterally, [Dave] realized that editing source happens on a computer, computers are connected to the Internet, so why not keep the source “in the cloud?”

[Dave]’s solution is to host the source on GitHub, and tie every piece of code to a board’s unique USB serial number. This gives every Arduno a unique ID, allows for version control, and libraries of multiple files.

This very clever addition to the Arduino IDE is up on GitHub, ready to be added to any Arduino installation. Why the Arduino IDE doesn’t already have this feature is beyond us, but that’s what you get when you want a faster horse.

Version Control For Eagle

[Jeff] set up version control for Eagle libraries and projects. He mentions that Eagle has become the standard for open source hardware projects and he’s absolutely right. We use it for our projects, and we’ve grown to expect that the posts we feature have Eagle files available in most cases.

But Eagle falls short in its library management. There is some amazing work from SparkFun to support a usable parts library, but who hasn’t added parts themselves? [Jeff] setup libraries using github so that changes and additions to the libraries can benefit all and cut the amount of time spent making custom footprints for new components and packages.