Interacting with embedded systems has never been easier. Device Druid lets you connect to embedded systems and control everything from the comfort of a graphical interface.
Update: a fresh new version is on the way and you can try it out now.
Two steps to use the device.
1) Hook-up a Device
2) Launch Device Druid
Start the program, select the correct USB port and speed, and you’re off.
When you connect to a microcontroller that supports Device Druid, the app scans the device and figures out which controls and state tracking elements are available and it whips-up a corresponding interface automatically:
The top left has all the controls, with output from the remote side presented underneath. On the right hand side, any state tracking present will be shown, and you can use these with various graphing displays to visualize state at a glance.
The specific controls presented will change depending on the device you’re communicating with, but they basically come in three flavours: commands, input controls and sub-menus.
Commands will do something. They are triggers that activate specific code on the embedded side. Exactly what they do and the type of output they may produce depends on what the person who developed the firmware decided. Hopefully, it will be related to the name visible on the button.
In the example above, “Activate All” is a command.
Input controls come in a variety of shapes, but they all have the same job: let you specify some value for the microcontroller to use.
In the sample at the top, here, “External Lighting”, “Power Save”, the select box with “Weekends”, the “Temperature” range slider and “Scan Rate” are all input controls.
The way they are presented depends on the type of data collected and the choices of your designer. Options with a fixed list of answers will normally be shown as selection boxes, radio buttons or toggle switches, while arbitrary values like numbers or text strings will have a button that pops up a little window to allow you to set the value.
Sub-menus allow you to navigate the hierarchy of controls and inputs.
The developer may have created submenus to reduce clutter or simply to provide a more logical arrangement of the various controls. Evidently, you enter a sub-menu by clicking the button.
If the project warrants it, the designer may include state tracking. This means that values for certain variables, hosted on the embedded device, will be reported back to Device Druid.
When this is the case, the pane on the right will contain a box with the variable name and current value. In theory, this is enough to know what’s going on with the device. More interestingly, for certain types of values, graphical representations are available.
In such cases, clicking on the icon to the left of “State” will bring up a menu of available display types. Device Druid currently includes bar and “donut” charts as well as a line graph. Clicking on either of these will add the display to the pane.
Once that’s done, you can add state variables to the graph simply by dragging them over and dropping them onto the display.
The results will be similar to those shown above, where the graphs are updated as values are reported.
Find Out More
More info is available on using device druid in the learning center.
Get Device Druid