Here's a look at the boards. Display front:
Keypad back: (Woosh! Just kidding!)
The real keypad back:
For the display board, the microcontroller is a Teensy 3.2. There is an OLED black & white display. Communications through Xbee, and there are indicator LEDs for the power, RSSI, as well as optional battery charge status. Flip the board over, and there's a smd charge chip you can add to charge a small Lipo. Alternatively, you can attach one of the handy USB battery packs and power it from a repurposed usb cable.
For the button board, a standard joystick, and six clicky buttons with bright LEDs. We're going for a very simple interface here.
The reason why we started with a hardware based controller, instead of a smartphone / tablet app, is because we need it to:
1) be able to be usable in bright, direct, sunlight
2) be the most simple interface possible to control a robot - no confusion or overwhelming
3) be able to work in weather conditions where there might be some water (humidity, rain drops)
The enclosure was designed by Erin in Autodesk Fusion 360. One of the improvements from the first revision (pink) to the second (yellow), was a modification to the circle where the joystick is, as recommended by Anthony Dewar at Ecotonos - a fellow Ottawa maker.
We're using cree LEDs, they're quite bright, and you can see them outside in the daylight. The OLED screen can be tricky to see when the sun is directly overhead.
We're working on the firmware. Currently it's running a primitive version, where the functionality is similar to the previous revision of the operator interface. A nice capability of it is that it's able to detect whatever is on its PAN ID, and auto-connect to it. Eventually, it will be great to add a menu interface to it.
In the future, we want to be able to communicate with a fleet of robots from one controller. This way, a park worker would have one controller, and be able to command various robots to complete their tasks. One of the stumbling blocks is that in order to make this happen, there needs to be an Xbee configured as a Coordinator on the network. Meaning, not all of the robots can be coordinators - as they are configured to be now. Since we're not going for multiple robots controlled just yet, this will most likely be a v2.0 feature - for Summer 2018.
We used these controllers in our most recent Field Test, and they worked! Huge thanks to Randy for contributing the time to design the boards! This would not have been possible in this timeline without Randy's help, thanks so much! As well, thanks to OSH Park for the upgrade to Super Swift.
We're aiming to be able to start selling these for the holidays. It's a pretty sweet controller for a robot. So stay tuned to our social media sites if you want one. :)
To see more, there are higher resolution photos available of the boards on Flickr.