MakerPlot-J Revision Notes

Version 1.000 has been released for Windows. Linux versions are still essentially in beta, though the release will show same as Windows Version.


Version 1.220 - May 28, 2024

·         Fixed a problem on populating ListBoxes on editor creation

·         Modified to show controls set to be non-visible when in edit mode. May be turned off with main Interface property showInvisibleOnEdit.

·         Added Flip Horiz and Flip Vert popup menus to image controls and canvas control in edit mode.

·         Added Lock Manual State popup menu to Image Toggle Buttons in edit mode

·         Added Editable popup menu choice to text and textArea boxes in edit mode

·         Added clearing constant drawing popup menu to Canvas in edit mode

·         Added Run choices to Timer Control popup menu

·         Added Enable Logging and Open Logging Editor to popup menu for logging control

·         Added Clear popup menu to ListBox


Version 1.210 - May 18, 2024

·         Corrected an issue with controls moving between interfaces on save and open interfaces.

·         Corrected an issue with plot time values showing NaN (Not a Number).

·         Added properties of flipHoriz and FlipVert to Image button style controls and the canvas background image.

·         Modified Child Interface loads to not appear/disappear if set to not visible or hideOnLoad is set.

·         Lacking any big issues, this will be the last update for a while as we work on changes.



Version 1.200 - May 15, 2024

·         New, faster loading, cleaner selection interface. Old version available in interfaces/index.htm

·         Corrected an issue to keep Child Interfaces on the screen when creating.

·         Other small non-critical updates.


Version 1.100 - April 26, 2024

·         Corrected a bug which prevented standard radio controls from being created.

·         Added popup menus for Interfaces and Controls to allow choices for cut/copy/paste/duplicate while in Edit Mode.

·         Added popup menus for Move to Top/Bottom/Move Up/Move Down to set zOrder of controls.

·         Control and Interfaces menus will have specific control properties added for often-used needs in upcoming updates.

·         Changed the licensing scheme to allow "Personal" licenses of the development use for personal-home use at lower costs.

·         Renamed "Individual" license type to "Standard" for standard development licenses in About menu.

·         Added "Personal" Licenses for at-home, non-commercial use with development use.

·         Updated the EULA to reflect license types. Please See Licenses and Limitations and the License Agreement (EULA).

Version 1.010 -
April 15, 2024

·         Starting May 15, 2024, the free trial time will be 7 days instead of 30.

·         Fixed zOrder for new canvas controls to be on top.

·         Changed DumpInterval to be a property to allow saving/loading.

·         Corrected an error when plotting both analog and digital dumped data.

·         Added means to import data from a file with help instructions, see Import Data File


Version 1.006 - April 7, 2024

·         Updated how registration information is saved due to issues with it not working for some.


Version 1.005 - April 3, 2024

·         Corrected a problem of removing icon images from various controls if deleted in properties.

·         More consistent updating of meter values

·         Corrected errors in the HMI Example


Version 1.001 - March 31, 2024

·        Missed some HMI Symbols required in the initial release.


Version 1.000 - March 31, 2024

·         Released as Version 1.000. There will always be things to correct/modify/add but we feel the software is stable enough to release as non-beta.

·         Added the HMI Simulator code to the installed files!

·         Upcoming Immediate Plans:

·         Continue to seek out and fix remaining bugs.

·         Revise the Selection Interface for faster loading and sleeker look.

·         Adding more graphical functionality to canvas controls.

·         Add pop-up menus to controls for easier development and use.


Version 0.99970 - March 30, 2024

·         Corrected a bug where control placed on child interface was not showing in editor on creation.

·         Added "Resize Interface on Load" to main Interface - See Interfaces Menu

·         Saves Interface Controls Silence and Resize settings to MPJ Settings to save for next app run.

·         Corrected the progressBar to accept floats, will round to an integer (plus spinners and sliders).

·         Added vert and horiz properties to progressBar instead of relying on aspect only.

·         Correct a problem with digital plots returning the wrong mouseY position

·         Reordered the zOrder so that newer controls have the lowest Zorder (on top).

·         Revised the save interface routine to used the Interface/zOrder List in the interface editor

·         Add a <timer> event to canvas controls, timerInterval property sets the time of events down to 10 (10mS). 0 Turns off the event trigger.

·         Added standard and other HMI Symbols to the media library - Thanks to Open Architecture Software (OAS) for the use of these symbols

·         Added 3 new Interfaces including HMI Example.

·         Added Arduino code to simulate system conditions for the HMI Example


Version 0.99936 - March 16, 2024

·         Fixed a bug created last update which prevents textboxes from using the update value.

·         Added hideMenus property for Child Interfaces. Note: F3 for the Interface Editor window and other F-keys only respond on the background, not specific controls on the Child Interface.


Version 0.99935 - March 14, 2024

·         Corrected an issue where some control with update values, such textboxes, were not changing the intended properties due to asynchronous nature of updates/changes.

·         Added hideOnLoad property to hide child interfaces once the interface loads. It is off by default.

·         Greatly reduced CPU cycle use when updating meters and other controls.

·         Hopefully fixed the issue of not being able to register unless being run under admin account.


Version 0.99930 - March 3, 2024

·         Added the Data Modifier (See Data Menu) to quickly and globally scale incoming analog data and parse data from incoming message strings.

·         NOTE: A User has reported the registration feature would not work until they ran the software as the Administrator. This may effect saving data as well, Investigating a fix.



Version 0.99927 - February 25, 2024

Added properties to the analog plot’s to select point colors – colorPointChx.

Modified the Registration Window to better show the OK button.



Version 0.99926 - February 17, 2024

Added a means to silence control sounds for the environment via a menu under the Main Interface: Interfaces menu.

Added documentation on plotting from non-standard strings, see help files, Parsing Message Strings for Plotting.

Added a <message> event to analog plots.

Reformatted some tables for the PDF version of this manual.

Added more text tips to the interface.


Version 0.99924 - February 4, 2024

·         Added FREE Home use, Non-Developer’s License. See the registration menu. If the registration menu is not showing, use the Debug/CLI (F4) and enter !showReg


Version 0.99923 - February 3, 2024

·         Corrected a bug where saying NO to exit, exited anyway.

·         Added lockSize (prevents resizing/maximizing) and maximized properties to the main interface.

·         Saving the interface will now save its state (normal or maximized) and the position & size of the main interface.

·         zOrder works on Child Interfaces now. See Setting Control Order.

·         The Interface Editor now lists objects by interface and by zOrder on the interface. Interface saves are structured in the same manner.

·         The zOrder of plots may now be set.

·         Using a textbox on top of a plot requires the mouse pointer to stay over the text control when changing values in it or the plot will grab focus.



Version 0.99921 – January 28, 2024

Corrects an error saving interfaces which contains a Child Interface and showing all controls in the Interface Editor.


Version 0.99920 - January 27, 2024

This update is based on recommendations by users, mainly on the forum.

·         Added a major and minor grid width properties to the analog plot and to the plot settings window.

·         When text-style controls are non-editable, disabled turning it yellow on changes.

·         Hiding the Analog Legend checkboxes when the legend is turned off (showChLegend).

·         MPJ will NOT ask if you wish to exit when closing unless the user has opened the Controls Palette (F2), the Interface Editor Window (F3) or entered Edit Mode (F9).

·         Began work on setting the order of control (which is on top). All controls except for plots may have the zOrder set and whether to refresh (zRepaint) when the analog plot refreshes. Please see Setting Control Order.



Version 0.99910 - January 20, 2024

_ A user reported black plots, meters not showing properly, etc.

We've corrected the software to use US/English regional settings. Our apologies to any non-US number formatted users!!! But also please be sure to use the format of 1.234 and not 1,234 for decimal places where number input is needed.


Version 0.99900 - January 19, 2024

_ Revised the digital plots operation (mouse drags, etc) to match the analog plots.

_ Corrected a bug where plotting with plotName.plotChan within an !if had incorrect timing. Still need to correct in digital plots.

_ Added a multiple plot example MPJ code to help files for the ADC-10-F103C and example of scaling data.


Version 0.99850 - December 28, 2023

_ Digital data may now be plotted on analog plots to allow easier analysis and require only 1 plot saving space.

_ The order of din0 to din99, the bits of a digital data string, have been reversed to clear up confusion. The order is din0 is the LSB now to match how channels and bits on plots are ordered.

_ Added light crosshairs to the analog plot.

_ Planned work before final release:

_Rework the digital plot to be more similar in control action to the analog plot.

_Review/clean up the help files and intrinsic help.   


Version 0.99840 - December 20, 2023

            _ Changed the serial connection limit to 10 minutes when not registered.

_ Corrected issue with multiple serial ports causing processing.

_ Added a sec/div textbox to analog plots.

_ Improved operation of scroll horizontal scroll bar on analog plot - Press space to resume instead of double-click.

_ Improved operation of pausing the plot between plot dragging, pause button and X-axis scroll bar pausing.

_ Added Terminal Mode to Debug for direct communications to the Serial port for testing. The port must be named 'serial'. Neither data from Debug/Immediate or the controller will be processed by MPJ for operation. Data is sent ending with a \n\r.


Version 0.99831 - October 23, 2023

_By Popular Demand - Buttonized the plot control controls.

_With drawText you may use \n in the string for a new line\carriage return

_Fixed an issue with a lag in changing value when using plot.plotChan.

_Added support for the ADC-10-F103C ADC Module - Use the Devices menu and select the device. It will place code in the Main Interface Event Code to parse the strings from the device.


Version 0.99830 - October 20, 2023

_ We believe the reconnect on serial disconnect is fixed.

_ Corrected significant problems with single analog channel plotting using plot.plotChan channel, value:

_ Corrected to use Pre-Formula scaling.

_ Corrected an error where traces were disappearing.

_ Modified the Four-Plots Interface to show min/max/avg data better and added a textbox to name the file to be logged to.

_ Modified the Serial Control to allow it to be made smaller but usable still.


Version 0.99822 - October 10, 2023


_Refined interval timing with new operations called Interval Data and Timed Data.

_Interval Data allow simpler strings to define the time elapsed since last data, once enabled:
3, 10, 20 will plot 10 and 20 three seconds after the last sample.

_Timed Data allows setting the actual time of the data in seconds:
3, 10, 20 will plot 10 and 20 at three seconds on the x-axis.

_Please see Interval Timing of Data in Help Files

_Enabled the "Plot Styles" setting of analog plots in the pop-up menu to enable/disable showing points and lines for non-XY plot types to accurately view where plotted points are.

_Renamed "Main" menu to "Data".


_Added Code examples for Parallax Propeller 2 in Spin.

_Analog/Digital Plotting

_Interactive Control

_High Speed ADC Sampling with Dumping by Interval

_Timed Data saved to Propeller microSD Card and dumping timed data to MJP.


Version 0.99821 - September 24, 2023

­_ Corrected reading analog channels from a second serial port.

_ Posted a video on using 2 serial ports on the website.


Version 0.99820 - September 14, 2023

_ Added two forms of plotting by defined interval time for precise timing of sent data allowing plotting resolution down to 1nanosecond!   Please see help file version updates.

_ Added a "Main" menu to the main interface for interval timing and other features that may be placed there.

_Some updates to the digital plot, but still needs work to bring it up to analog plot features.



Version 0.99801 – August 11, 2023

_ Fixed a problem where plot resets with data in processing queue caused to plot at times less than 0 seconds.


Version 0.99800 - August 8, 2023

_ improved plot timing resolution from 1mS to 200nS!

_ Increased instruction and data processing speed by nearly a factor of 10!

_ Greatly reduced CPU usage under light plotting needs!


Version 0.99702 – August 3, 2023

_ Fixed a problem introduced into plot.plotChan instruction

_ Prevents deleting a control when not in Edit Mode.


Version 0.99701 - July 31, 2023

_ Moved Shorthand Edit to the Edit menu...

_ Added Import Shorthand List to import from other interface directories.

_ Added ! to store a review point in code (like s key) that can be revisited using b (back) and f (forward) keys.

_ Suspend shifting when b is press to review a stored point. Press space to resume shifting.

_ Increased number of stored points to 100.



Version 0.99700 - July 31, 2023

_ Added 3D Circle Macro Child Interface, use File --> Run Macro from Folder

_ Fixed a problem with states of standard radio buttons.

_ Added post-Plot formulas to Analog Plot Settings to allow applying a formula to a plotted channel without affecting the raw data to plot it. Please see Settings Window.

_ Moving a plot manually will cause shifting to pause. To re-enable shifting:

Hit the space bar

Move the X-scrollbar full right

Drag the plot so the end is before X-Max

_ Hitting space-bar while plotting will pause plotting. Hit it again to re-enable plotting. Ensure cursor is over the plot.

_ Added Shorthand features for sending serial data or using the Debug/CLI, so that long strings can minimize controller memory and transmission time. These are not meant for use in Event Code. For examples, the following defines a shorthand term and definition:

^pcn^          !plot.drawCircle [],[plot.ch0],3,RED

Please see the Main Interface's Edit Menu for more information.

_ Added a PDF of the reference file to Help per user request.

_ Returned to 30 Day evaluation with 30-minute connection limit.



Version 0.99655

_ Implemented a control name refractor - When you change the name of a control it asks if you want to update all controls that referenced this one, so that it will update any event code, properties and update values which referenced that changed control name.


Version 0.99652

_ Mouse over plot and use SPACE-BAR to pause/start plotting.

_ [] can be used in place of [plot.plotTimeSeconds]

_ Added drawFont for drawing instructions on Interface, plots, etc.
!plot.drawFont Arial

_ The Analog plot now has a property, fontDraw, that when selected will issues a !plot.drawFont instruction in-line with other drawing instructions so that different text can have different fonts. Issue first one before any text is drawn if you plan on changing font during drawing.

_ Drawing instruction abbreviations are available to reduce data size and transmission requirements from a microcontroller.


Version 0.9965

_ Changed connection limit to 7-day testing and 10-minute continuous connection limit.
_ Bug fix to stop duplicate named controls from being created.

_ Allows saving an analog plot's axis settings for cycling through saves for data review, allow to mark points while plotting, then pause or stop plotting and review them, or using them for analysis aspects.

            _ Ensure the mouse cursor is over the plot.

            _ Press 's' to save axis settings.

            _ Press 'b' to go back through saved settings.

            _ Press 'f' to go forward again.

            _ Press 'c' to clear save settings.

            _ Current maximum of 20 settings will be saved, after that the oldest will be removed when adding new.



Version 0.9964

_ We have changed the license keys. MakerPlot- registrations keys will need an upgrade. If you purchased a license after July 2022, please Email us with your old registration key:
If not, please see our upgrade or purchase options at
New codes are prefixed with MakerPlotJ vs. MakerPlot


Version 0.9963

_ Various bug fixes.

_ Allows use of ALT-Left-Mouse drag for measurements since right-mouse opens pop-up on pressed on MacOS.

_ Warning for unregistered users that only 5 controls will be saved for an interface file.


Version 0.9962 – July 14, 2023

_ Corrected issues with Saving/Loading Interface Settings and various default paths for files.

_ Expanded saving settings to include nearly all properties except position and code for all controls.

_ Changed Label and Canvas controls to run "click" event code without the <click> if desired.

_ Cleaned up some interfaces.

_ Adjusted Plot Pause to prevent deleting old data points and work with XY Plots.


Version 0.996 – July 12, 2023

_ A number of changes have been made to the analog plot control. Please see the reference files, Updates.

Release 0.995 – June 28, 2023

_ Modified the mouse dX and dY measurement to be a single red line, shift to get the zoom green box.


Release 0.994 – June 25, 2023

_ Added dX and dY to analog plot – drag mouse to get delta values.
_ To zoom analog plot, hold shift while dragging to highlight area. Use ESC key to back out of zoom to prior values.
_ Please use / not \ for file paths

_ Help files are pretty much finished and reviewed
_ Made adjustments to several installed interface files


Release 0.993 – March 25, 2023

_ Modified the text based controls to better use special characters. Please see Special Characters in the help/reference files.


Release 0.992 – March 19, 2023


-         Added save instruction to analog and digital plots
! filename
! mydata_[systemDateDash]


-         Fixed a bug where first item in Interface Editor was not showing help correctly when right-clicked.


-         Added Clear Drawings and Clear Constant Drawings to pop-up menu for plots


-         Added saving of 'normal' plot drawings as well as constant drawings to plot saves/loads

          (Added for digital too)


-         Digital Plots were reduced just single high and low colors instead of per channel.


-         Modified plot snapshot default directory to be the interface's directory, [path] instead of /snapshots to allow different interfaces to use the same filename.
!plot.snap myplot.png


-         Modified the Serial Control:
-- Added choice & property to use the connectionString - ran when connecting
-- Modified colors
-- Made colors  & border color selectable as properties
-- Corrected an issue of reconnecting when disconnecting


-         Greatly Improved CPU usage when images are used as background on main interface


-         Added <cond1> <cond2> and <cond3> Event triggers for logging controls to run code when an event trigger is true.


Release 0.99 – March 4, 2023

_ Large updates to the help/reference files.

_ Multiple !dialogInfo string and !dialogWarning string will add the string specified to the info or warning window instead of creating new windows for each.

_ Added a user property to all interfaces and controls for developer's use.

_ Variables contain ? on creation with no initialization or assignment.
!makeVar varTest
? [varTest]

_ Redeclaring a variable once declared with an assignment will update its value:
!makeVar test=20

It is recommended to create variables as part of a control's or interface's load event:
<load>!makeVar test=20

Use !runLoad to declare and initialize during development in the Debug/CLI.

In Version 0.95 the redeclaration will NOT affect the value of the variable.

_ Added a for-Loop which can use floating point values: forLoopFP

_ Corrected runMacro to place contents on the top of the queue for processing.

_ Fixed a problem converting image paths to [path] when saving the interface.

_ Added !messageShow and  !messageClear to the Message Window instructions help reference.
Also added support for \t and \n.

_ Modified the selectable 7-segment display to have a index scale range of 0 to 9 instead of 0 to 100.

_ Added decimalPlace property to the Canvas Control to define which decimal value in a number to use for indexing. Please see Indexed Decimal Place help reference,


_ Darkened the unlit segments on the 7-Segment display to make values more readable.


Release 0.985 – Oct 8, 2022
- Modified installed interfaces to use !snapInterface instead of !snapDisplay as shown in release 0.980 information.
- Released MacOS Version and Linux Versions (Linux not yet tested by us). File icon files and associations need some work, updater seems to work.

Release 0.981 – Oct 5, 2022
- Correction to the registration code checker, if you have issues using old MakerPlot codes, please let us know.

Release 0.980
_ Reworked ‘snap’ routines
            ‘snap’ takes a snapshot of the interface calling it, but can cause lockups. Can be minimized.
            ‘snapInterface’ takes a snapshot using the OS’s screenshot call of the interface, must be visible, MPJ will attempt to make it so. Must be on the primary display.
            ‘snapScreen’ take a snapshot of the entire primary display using the OS’s screenshot call.

Release 0.975 – 08/08/22
_ Reworked the Serial Port Connect/Disconnect routines
_ Reworked the Control Update code, now updated every 50mS, removed option for Run Updates on Analog/Digital as unnecessary.
_ Modified reference help files to discuss installed code


Release 0.973 – 08/07/22
_ Corrected an issue with serial port disconnecting


Release 0.972 – 08/06/22
This is planned to be the last update with any significant changes as we focus on help file, remaining bug fixes.

_ First release to have a Windows Installer Certification License!
_ Added stack operations to processing values/operations
_ Each control have their own instances of math operations to prevent cross-contamination of the stack
_ Fixed problems with [var++] and similar
_ Improved stack processing


Release 0.970 – 08/03/22

_ Update of installed plot select interfaces.
_ Fixed memory leak of playing sounds
_ For logging control, renamed “logPathFile” to “fileName
_ Added manual logging instruction for logs, !controlName.logData string
_ Added <log> event for logs for manual logging (logData string).
_ Fixed last snapshot names.
_ Refined meter alarming operation:
            _ When alarming is off, properties of .highAlarm and .lowAlarm will be set/cleared depending on data.
            _ Added a .soundAlarm property to silence the alarm but leave alarming enable, accessible through the meter popup menu.
            _ Increased the size of vertical/horizontal meter needles.


Release 0.960 – 07/27/2022

_ Worked on preventing lockups when !snap is issued, little success

_ Added a WatchDog Timer to monitor the queue processing and start a new instance if needed.

_ Added a Macro Menu that lists the macro files in the Macro directory

Release 0.955 – 07/25/2022

_ Various fixes and updates.

_ Fixed an issue with gradual slowing of software when using message data

_ Fixed issue with some registration keys not working.

_ Added a macro to create a plot control interface for any plot.

_ Modified macros to request parameter list from user plus description, added to File Menu.

_ Added “alwaysOnTop” property and menu choice items to child Interfaces.

_ Added “Stay on Top” checkbox to Interface editor.

_ Added time operations to Post-Fix Math.

_ Implemented redundancyCheck for serial control – must receive 2 identical strings before being processed when enabled.

_ Improved graphics scaling routines for image buttons

_ Disabled autoscaling when Reset Scales is used.

Release 0.940 – 07/15/2022

_ Implemented registration licensing, not required for now but can be used.

_ Modified Edit Menu and Edit Mode. Locking edit mode not fully implemented yet

_ Reopened Beta

_ Implemented button Icons

Release 0.925 Beta – 06/30/2022

_ Modified plot control buttons to be more intuitively placed icons

_ Changed formatting of reference files.

Release 0.921 Beta – 06/27/2022

_ Changed thickness of analog/digital plot channels.

_ Changed digital plots to red/green

_ Partial bug fix on digital issues. Still seems to disappear after a while.

Release 0.920 Beta – 06/27/2022

_ Corrected an issue where non-leading 0’s for digital plots were plotted as HIGHs.

_ Added ‘Take Snapshot’ to Interfaces Menu on main and child interfaces.

_ Added ‘Folders’ menu to access common folders.

_ Corrected <load> to show on all controls and NOT show main events unless main selected for the Code Editor.

_ Added “edit comments” to edit window to allow developers to add comment header (name, date, etc.). It’ll be listed in the generated code as comments. (not yet adopted in selectable interfaces)

_ Added “edit about” to edit menu to allow developers to add an about which can be viewed under the “help” menu or opened with !showAbout from code. (not yet adopted in selectable interfaces)

_ Cleanup the edit-->Cut/Copy/Paste menu item.

_ Moved “unlock for editing” to the edit menu.

_ Moved “New Interface” to the edit menu.

_ Adapted code to allow assigning on null. !txtTest=

_ Fixed the forLoop to accommodate values, [], in the string to be processed

_ Various clean-ups of processing code.

Release 0.912 Beta – 06/23/2022

_ Corrected an issue with serial data caused in a recent update.

_ Corrected image paths for controls

_ Added ‘flat’ control ovals to Control Palette.

Release 0.910 Beta

_ Modified load routines to overcome issues with F-keys not functioning on load. Seems to be better?

_ Added logo to screen on load.

_ Added table popups to Debug/CLI and Code Editor. Select and right-click. Select and press F1 to show in Debug text.

Release 0.909 Beta

_ New main interface properties to update controls on analog or digital arrival. Monitor for erratic behavior with high-speed data.

_ Added tooltip to DataLogger to “double-click to configure” for default controls.

_ Reworked paths to show properly based on OS.

_ Hides HX plot button with others

Release 0.908 Beta – 6/20/2022

_ Fixed File --> Load on Start for new installations.

Release 0.907 Beta

_ Corrected many issues seen in beta videos including:

comboBox load, imageRadio buttons not placing, Control Palette and Editor positions, increased control update speed to every 100mSec.

Initial Beta Release: 0.906 Beta