MegunoLink supports a variety of controls and components that you can use when building a custom interface for your Arduino project. Some controls, such as buttons, will send serial messages to your Arduino when you click them. Others, such as gauges, just display information. Container controls, such as the group box, help you organize your user interface. A few controls, such as the MLPUIMessageProcessor, don’t have a user interface at all. They provide services, such as decoding serial messages you send from the Arduino to set the value of controls on an interface panel.

Here we summarize the most useful properties that control behavior and appearance. See Dynamic Control Layout for information on automatically resizing and positioning controls when the size of an Interface Panel changes.

Use the designer to add controls and components to an Interface Panel visualizer.

Most controls are based on WinForms controls. You can check out Microsoft’s documentation for more detail. Not all controls are supported by MegunoLink yet.

Definitions

  • Control – A control is an object with a user interface that you can drag onto the Interface Panel you are building.
  • Component – A component is an object without a user interface that you can drag onto the Interface Panel you are building.
  • Properties – A property refers to a configurable setting that a control has.
  • Design-time – A design-time property is one that can only be edited using the Interface Panel Designer.
  • Run-time – A run-time property can be edited using the Interface Panel Designer and requested and modified by the Arduino.

Control Names

All controls and components have names. These names are used to refer to include control values when sending messages or setting control values from a serial device.

A default name is assigned automatically when the control is created but you can change a controls name to make it easier to remember what it is for. Names can include numbers, letters and the underscore (_) character. Names can’t include spaces.

Change control names using the (name) property in the property editor, or with the smart-tag attached to most controls.

Setting control names

Set control names with the smart-tag or property browser. Names can use a-z, A-Z, 0-9 or _. No spaces!

Common Controls

Control Toolbox picture Description
Button Send a serial message when clicked.
Open Web Page Opens a web page in the user’s default browser when clicked.
Open local document Opens a local file using the default application when clicked.
TextBox User can enter text and send this when events occur.
NumericUpDown User can enter a number or adjust it using the up and down arrows. The result can be sent when events occur such as clicking a button.
Dynamic Label Use this to display text or numeric information. Text in Dynamic Labels can be adjusted from the Arduino.
Label Use this to display text or numeric information. This label is fixed. If you want to adjust it from your Arduino use the Dynamic label.
ValueList A pre-defined list of items with names and values. The selected item name or value can be sent when events are raised.
Checkbox The state of the checkbox can be sent when an event is raised.
RadioButton Radio buttons are like checkboxes but are used in groups of 2 or more. Only one in a given group can be selected at a time. The state of a radio button can be sent when an event is raised.
TrackBarWithIndicator A track bar provides a visual control to set a numeric value. The selected number can be sent when an event is raised.
Gauge The gauge lets you display a value sent from your Arduino on a speedometer style indicator.
ProgressBar A progress bar provides visual feedback to the user on the progress of a task. The value is typically updated by the Arduino.
PictureBox The picture box allows you to show bitmap images on the interface. You can show and hide images allowing basic annimation.
Timer The timer raises periodic events which can send messages to your Arduino.

Container Controls

Container controls are used to group controls in the Interface Panel. Grouping controls can make it easier to both understand how the user interface works and create responsive layouts. See Dynamic Control Layout for information on automatically resizing and positioning controls when the size of an Interface Panel changes.

Control Toolbox picture Description
Group box Group box control Provides a labelled grouping for other controls.
Flow layout panel Flow layout panel control A panel that automatically lays out its contents vertically or horizontally when the control size changes.
Panel Panel control Groups other controls with scrolling support when the visible size of the control is smaller than its contents.
Split container Split container control A pair of containers that can be stacked vertically or horizontally and resized by the user at run-time.
Tab control Tab control container A container control with multiple tabs that can contain other controls.
Table layout panel Table layout container A panel that lays outs its contents in rows and columns.

Communications Components

Communications components provide tools for communicating with your device.

Component Toolbox picture Description
MLP UI message processor Interface panel message processor component Responds to commands sent to the Interface Panel from an Arduino sketch or other serial source.
Message library Message library component Stores a collection of messages that can be sent to a serial channel.
Serial connection Connection component Send a serial message when MegunoLink connects to your device.

Visualizer Controls

Visualizer controls allow you to place other MegunoLink visualizers into an Interface Panel for greater flexibility.

Visualizer Toolbox picture Description
Time plot Time plot visualizer control Plot serial data against time.
XY plot XY plot visualizer control Plot x-y serial data.
Property table Property table visualizer control Table of property values received from your Arduino sketch.
Mapping Mapping visualizer control Display coordinates on a map.
Message monitor Message monitor visualizer control Display filtered messages received from your Arduino sketch.
Raw serial monitor Monitor visualizer control Display all serial messages received from your Arduino sketch.
Record table Record table visualizer control Tabulate records received from your Arduino sketch.

Common Properties

See common control properties for a list of the available properties.

Start typing and press Enter to search