Digi Employee Hackathon: One Hack to Rule Them All

Digi InternationalJanuary 05, 2015

The hackathon tradition lives on at Digi and this competition may have been the best one yet-- we say that every time, dont we? Anyways, at this most recent hackathon, we had projects that included hardware modifications, data analytics, software design, and UI enhancements.

The challenge to our competing teams was to prototype a useful improvement to a Digi product such as--

Changing a hardware design to improve user experience.

Designing a software change to Device Cloud or The Social Machine.

Improving the design of a configuration tool like XCTU or create a new one.

Making a prototype for a brand new hardware, software or service product.

Creating some other useful improvement of their choosing.

Hackathons give employees an outlet to work on a project or idea theyve been kicking around for a while, but havent had the time to see through. Its also a chance for participants to work with others outside of their everyday team. And, we had some nice cash and non-cash prizes. Nacho flavored lip balm may or may not have been included among our nice prizes.

Heres a quick look at what each team built.

Pimp My Web UI

Team Members: Mike Wadsten, Travis Lubbers, and Russel Shurts.

No, Xzibit, did not make an appearance at our hackathon to create a redesigned and responsive web UI for the XBee Gateway. But Mike, Travis, and Russell were all up to the challenge. They took our existing web UI for the XBee Gateway and gave it a bit of a refresh. Mike had done some work a few months ago on an updated design and the team used this as a starting point for their project.

With the teams UI refresh, users are more easily able to modify the configuration of their XBee Gateway from a desktop, tablet, or smartphone! The new dashboard is pictured to the right.

Team Device Cloud Analytics

Team Members: Chris Popp and Greg Bestland

The goal of this hack is to enhance Device Cloud with the ability for customers (and administrators) to run custom queries over their data right in the Cloud.

In the prototype, a user is able to have some of their data saved in a way that allows queries against their data set as a whole rather than having to retrieve all the raw data or only rollups of a single stream. By looking at their entire data set, the user can start to answer more complex questions without having to pull all of the data into their own systems.

In order to make these advanced queries possible, the team used the Apache Spark engine. Now, they are able to answer questions like "What is the average temperature in Group X?" or "How often is my tank level below my set threshold?" This opens up a whole window of possibilities for Device Cloud as an analytics engine. These features will be considered for inclusion in a future DeviceCloud release.

Code Name Marco Polo

Team Members: Ryan Bezdicek and Sandy Haapala

Marco Polo is the code name for a replacement to Device Clouds current API Explorer. What is the API Explorer? Its a terrific feature within Device Cloud that gives users the ability to run any web service request. This enhancement code named, Marco Polo, has a number of improvements and new features that make it easier to work with and a collaborative experience between Device Cloud users.

One enhancement is a way for users to save their most frequent calls. This eliminates the need to remember complex command sets and adds quick access to their most frequently used web service calls. Admins also have the ability to add, edit, and remove examples on the fly. Future enhancements will include being able to share saved examples with other users on the cloud platform, authentication improvements and setup of local of the API Explorer for offline use. The team is looking into incorporating this for a future Device Cloud version.

CMon Move it

Team Members: Zach Schneider and Dan Harrison

Team CMon Move it! had the brilliant idea of improving XBees PWM capabilities by extending them; initially with a serial hack and later within the XBee firmware. Currently the pulse width modulation (analog) output on an XBee is fixed at 15.6 KHz with a 50% duty cycle. For many motors in SCADA applications, this will not do. They typically require more robust PWM capabilities, such as 200-3000 Hz with 20-80% duty cycle.

So Dan and Zach forged on and created a new PWM library for XBee. The library is written in Python and runs on an XBee gateway making clever use of the UART serial output to directly drive motors. The PWM now reaches speeds between 600 Hz and 4 KHz at any duty cycle between 10%-90% in increments of 10%.

To demo this new PWM library they built a linear actuator to control the height of a shelf. Using an H-bridge driver board, they are able to adjust the height of the shelf wirelessly. If direct control of motors interests you, be sure to comment or drop us a line.

Wrap Up

After the teams presented and demoed their projects the judges congregated for what was a difficult decision. It was very tough to pick a winner, any one of the projects would have made a fine champion. After a number of recounts and tiebreakers the judges made their final decision. Team DC Analytics won first place with Pimp My Web UI in an extremely close second!

If any of these hacks are something you would like us to include in future software or firmware releases, let us know in the comments section below!