Introducing The Gigabots Dashboard

We have been connecting Gigabots to the Internet for a few weeks now. While the robots are overjoyed to send and receive raw data, humans demand more.  As a result, we have created The Gigabots Dashboard, a user interface for controlling Gigabots and receiving realtime telemetry.

We’ve developed the Dashboard with an excellent JavaScript framework named Phaser. Phaser is typically used to create 2D games, but we felt it would be an excellent fit for this project.  One of the benefits of Phaser is our ability to write the application entirely in JavaScript, which allows us to iterate quickly.

Phaser is pretty sweet.

Phaser is pretty sweet.

Phaser is also widely used on mobile devices, tablets, and desktops. This gives us confidence it will “just work” everywhere, leaving us more time to add features and change batteries.

Our first attempt at the dashboard was a bit rough,  but it contained most of the core remote-control and telemetry functionality.  After adding a few lines of code to connect the Dashboard to Big Bang, we fired up Gigabot Prime, our first LEGO Mindstorms EV3 robot,  and we were connected.

Dashboard v1

Dashboard v1

As expected, we quickly found many areas to improve on for a second version of The Gigabots Dashboard. To more easily control a wheeled Gigabot, there is now a feature to group multiple motors together and control them as a single unit. The Dashboard is also more device-friendly, with keymaps for desktops, and touch controls for mobile devices and tablets.

Dashboard v2

Dashboard v2

The team has enjoyed developing the Dashboard and the custom firmware.  We even got to experience a rare moment of “it-just-worked-the-first-time” when connecting the V1 dashboard to the V1 firmware.  We probably should have saved this luck for later.

This week we will start working on APIs that allow Gigabots to be programmed directly in browser.  This will hopefully bring a lot of fun and instant feedback to robotics programming.