EZ-Builder Release Notes

Changes:

- Fix for EZ-B v4.x/2 crashing/disconnecting when reading packets from UART larger than 2048 bytes (https://www.ez-robot.com/Community/Forum/Thread?threadId=10694) <- Requires EZ-B v4.x/2 firmware update to 2017.11.13.00 or higher. Use the firmware v4 update program.

- Faster loading of project by buffering controls before adding to the display
Changes:

- Camera control will connect to USB->UART adapters via COM port. See this thread: http://www.ez-robot.com/Community/Forum/Thread?threadId=10724

- Option in preferences to not check for ez-builder updates (this is not a recommended option. Disabling checking for updates is highly discouraged. Updates fix bugs and add features.)
Changes:

- Display popup if screen resolution is less than 1366 x 768

- Changed size of some configuration forms for lower resolution screens (Camera Config, Auto Position Creator, Auto Position SDK Creator, Joystick Config, Wii Config, Speech Recognition Config)

- camera rotate fix

- Terminal (EZB) fix http://www.ez-robot.com/Community/Forum/Thread?threadId=10694
Changes:

- Fix for video recording location bug (http://www.ez-robot.com/Community/Forum/Thread?threadId=10675)

- Camera control has a few performance enhancements that uses less memory by sharing memory across multiple frame references
Changes:

This is a short update including only one enhancement. The Servo Pad allows changing background image and setting cursor image.
Changes:

- script flow fixed when plugins are added to project

- do not allow skipping of missing ez-bits when project loads

- multi color camera tracking has an optional histogram equalization filter

- New custom color filter type for YCbCr

- added camera tracking YCbCr to blockly

- highlight servo position when 0 or lower - this is for specific cases of auto position where 0 is release and -1 is skip

- glyph has a variable of detected glyph number.
Changes:

- When ez-bits are missing, do not allow user to SKIP. Now first time users must SYNC or CLOSE. Skip is no longer an option.

- Script Flow control bug fix for 3rd party controls. Find out more about script flow by clicking HERE

- Dynamic Turning with camera control Movement Tracking (see below)


This is a fun release because it has a pretty significant update to the camera movement tracking. The movement tracking is a setting in the camera configuration which tells the robot to physically follow the specified tracking type using the movement panel. Of course, a movement panel is required in the project for this to work. The old movement tracking would stop the robot and turn toward the object. This new addition uses a Dynamic Turning option. This means the robot will turn toward the object while moving forward. The further the object is to the edge of the screen, the harder the robot will turn in that direction.

User-inserted image

1) Enabling this checkbox instructs the camera control to use the movement panel and have the robot physically follow the object.

2) Enabling Speed Settings tells the robot to use the specified speeds when tracking with the movement panel. Forward, Left and Right speeds can be specified and tested here.

3) Enabling Dynamic Turning will have the robot turn toward the object at a variable speed. The values in this area are the SLOWEST speed the robot's wheel will turn in that direction. This means SLOWER = MORE TURNING. The further the detected object is from the center grid lines, the faster the robot will turn. Having this number as low as possible is usually best. For Roli, it would be set for a 1


Here is an example of the robot NOT using dynamic turning. Notice how the robot STOPS and TURNS and STOP and TURNS and STOPS and TURNS, etc...



Here is an example of the robot USING dynamic turning. Notice how the robot continues straight while tracking the object...

Changes:

This update includes a custom camera resolution option. If using a high resolution for video processing, please read the camera device manual page to understand cpu processing limitations: http://www.ez-robot.com/Tutorials/Help.aspx?id=80
Changes:

- AutoPosition Movement Movement Panel Control now supports speed for directions (forward, left, right, reverse). The speed is a modifier for Delay and Steps. The modifier can be found in the frame list associated with an action. Edit the frame within a movement action and the modifier is viewable. The modifier values have question marks for assistance

- JD and Six projects contain movement frames supporting speed (forward, left, right, reverse)

- JD project has joystick in mobile interface which supports speed

- Roboscratch ACTION block has "forever" option, which runs the action in the background

- Roboscratch forward/left/right/reverse have speed values when auto position movement panel is used

- Cheat Sheet displays CloseControl() with ShowControl() options

- Mobile Interface Editor has a new object titled "Back Button". Which essentially is a CloseControl(). If a back button is added to a mobile UI, the automatic transparent back button is not displayed. I.E. adding this object to a mobile interface overrides the automatic back button

*note: If you receive an error during upgrade, uninstall ez-builder, reboot and install this update.
Changes:

- fixes ELSE and ELSEIF bug identified here: http://www.ez-robot.com/Community/Forum/Thread?threadId=10366

- Enjoy!
Changes:

- roboscratch allows building custom auto position frames.

- auto position fine tune allows setting value rather than math functions.

- soundboard audio editor has a normalize audio volume option.

- soundboard audio editor has an undo option.

- updates for the IPS prototype.

- updated the tutorial opening screen for latest online tutorial format


User-inserted image
Changes:

- [control:173] control movement panel supports speed via simplified serial (consult ez-builder manual for the control). ie, this means joysticks and mobile joystick pad, camera movement tracking, etc that supports speed will work with sabertooth.

- movement panels framework updated to use onmovement event rather than timer to update current travel direction (uses less threads and more effecient)

- IPS IR image is detected by ezbv4video

- IPS beta control

- removed all reference to roboquad and robosapien to avoid confusion on the forum by ppl thinking ez-robot supports them

- display direction of moving tracked object with indoor positioning system

- added the BARE projects for The Robot Program to the installer
Changes:

- empty phrase for start/stop SpeechRecognition to avoid randomly picking up false positives. Users can add a phrase themselves if they wish to use this feature

- adjust some GUI objects for more windows 10 default scaling value of 125% dpi compatibility

- camera training objects will not train if another object is detected during training

- prompt to warn for windows 7 OS that is no longer natively supported

- additional exception handling on camera device
Changes:

- force a memory garbage collection, specifically for GDI after Add Control for computers with low memory resources or lots of programs running in the background

- updates to UI when closing Forms which will prevent the occasional lock-up when closing ez-builder

- speech recognition has a new event for when pause state changes. this was added for the bing speech plugin so it does not listen when PC is speaking when Auto Record is enabled

- renamed the camera control's haar ControlCommand from custom to haar. The HAAR controlcommand() was named CUSTOM and that wasn't easily identifiable by users

- log available plugin updates to usage log

- question mark on plugin update window brings user to plugin page

- project details, ez-cloud save and robot design editor all have an option which allows setting if the project requires a Servo Profile when loading. Not all revolutions require a servo profile, such as Six, AdventureBot or Roli. The only robot that really needs a servo profile is JD or E.D.I MechWarrior because they walk and servo aligntment is important. This prevents prompting to load the servo profile when it isn't required

- if there are more than one soundboards on the same ez-b with scripts, fixes a Script Executor error that would appear about a null value

- wait for speech in roboscratch speaks a message if timeout

- new blockly commands for Play Audio (wait) and Stop Audio

- blockly movement commands now say Move or Turn in front of them

- force garbage collection before add control form to ensure there's enough resources for gdi images of buttons

- force garbage collection before some big forms, such as loading ezbit library, editing robot in 3d and viewing 3d assembly instructions

- waitForSpeech() returns lower case when option is clicked with mouse

- manual for waitForSpeech() references that returned value is lowercase

- filter html in response of PandoraBot
Changes:

Plugins now look for DLL files in the respective root folder before checking the ez-builder or assembly. Before, the plugin would look in the assembly and ez-builder folder first. This would create issues if your plugin used a different version of the same library (i.e. Newtonsoft Json v4.0.5 vs v7.0.0)

If you don't know what this means, don't worry about it. It makes it easier for people creating plugins which may use libraries of different versions that are already included within the EZ-Builder assembly.
Changes:

- additional debugging when saving/compiling scripts
- blockly supports commenting (right click on a block and select Add Comment)

User-inserted image
Changes:

- Speech Recognition Phrase show/hide restored
- Display popup regarding default editor to user when set to Blockly so advanced users know how to change their default editor in the Preferences menu
- New invoke model for threaded window control
- fix for Set() in blockly
- updated first time menu so it loads as a reminder of how to access activities and tutorials
Changes:

- script editor clears null values after merge from previous project file version
- auto position import/export text render fix for high dpi
- auto position gait creator text render fix for high dpi
- personality generator fix for merge of from previous project file version
- script compiler does not throw exception when null script value is passed
- added mean filter to sdk
- added point to degree and radian functions to ezb library
Changes:

- lowered font size of the number selector by one point to fit 125% dpi screen res when editing auto position angles

- no default ez-script when adding buttons to mobile interface. this allows blockly or syntax editor to be displayed when editing based on user's preferences setting

- sort auto positions list in blockly

- blockly ControlCommand() in utility accepts multi parameters, as long as the multi parameters do not require user input (i.e. items displayed [in square brackets] mean user data.
Example:
This is displayed: ControlCommand("RGBAnimator", startAction, "Smiles")
This is not displayed: ControlCommand("RGBAnimator", startAction, [action name])

- added Goto and Label for blockly

- changed camera grid default from 1/3 parts to 1/4

- camera grid lines save/reload

- blockly Say is renamed to Say EZB to reflect ez-script syntax
Changes:

- Updated JD, Six, and AdventureBot apps for latest actions and UI's

- Fix for when editing script for grids (speech recognition, twitter recognition, etc) where the value of a populated script row will be copied to an empty row

- Blockly Camera Tracking is a single row rather than using more vertical real-estate

- Fix for null error when adding items to grid for controls such as speech recognition
Changes:

- blockly fix where variables and auto position and controlcommands don't always refresh when a workspace is loaded

- check for correct file type when loading project by verifying extension

- wait for speech enhancement (also displays detected confidence)

- wait for speech has a global minimum confidence setting located in Preferences
blockly has longer wait for speech timeout for default

- fix for script edit control reloading saved script

- fix when editing scripts in grid views (speech recognition, twitter recognition, etc) where NULL value error was displayed
Changes:

- BLOCKLY and SYNTAX script edit modes (read below)
- added GetServo for blockly
- fix for camera tracking in blockly
- fix for blockly power() function in math function
- allow selecting the default editor mode (block or syntax programming when editing scripts)
- all camera rotation options supported (mobileapp rotation is limited to what is specified in the blue question mark help)
- fixed roboscratch Say and SayWait
- added roboscratch WaitForSpeech
- blockly loop forever function
- bug fixes for the blockly ez-script editor
- WaitForSpeech() displays the Confidence value when detected before closing
- WaitForSpeech() uses a mininum Confidence value that can be selected in the TOP MENU -> OPTIONS -> PREFERENCES
- Blockly fix for Repeat X Times
- Blockly has a longer WaitForSpeech timeout (10 seconds vs 5 seconds)

All script edits now default to Blockly mode, if there is not already a script. You can change the default behavior in the TOP MENU -> OPTIONS -> PREFERENCES -> DEFAULT EDITOR.

User-inserted image


Code is generated for the new blockly script edit forms as well...
User-inserted image


You can change the default behavior in the TOP MENU -> OPTIONS -> PREFERENCES -> DEFAULT EDITOR.
User-inserted image


The last edited mode will be restored when editing the script in the future.
Changes:

- Updated blockly with a few new functions

- Camera Face Tracking has a new algorithm with settings for Min, Max and detected frame cnt. This limits false positives for face detection

- Extremely faster face tracking algorithm detection uses much less CPU and increases frame rate

Hover cursor over question marks of new option settings for more detail. The default values are recommended (not shown in image below)

User-inserted image
Changes:

- It's weird typing 2017... are we feeling old lately? :D

- Fixed the blurring of DataGridView controls by overriding it and implementing double buffering (http://www.ez-robot.com/Community/Forum/Thread?threadId=9955)

- do not warn if baud rate is already set when connected with TCP and saving connection options

- remap scalar function clamps output to container size

- fix with movement panels allowing speed when RIGHT speed slider adjusted it also adjusted left

- Joystick Pad has more efficient code that calculates speed. If you experienced difficulty controlling movement panels that support speed control with joystick pad in mobile interface, that's been resolved in this release with some super duper behind-the-scenes math

- roboscratch fixed a code generation bug

* There are corresponding Android and iOS updates with this release as well. Android will take a few hours, and iOS will take a few days for their respective AppStore review.
Changes:

- New firmware (not mandatory) for EZ-B v4.x/2 to allow direct wired serial connectivity to PCs. Baud rate is select-able in both EZ-Builder Connection Control Settings and EZ-B Web Administration Tools (advanced settings), which must match. The serial connection to the EZ-B uses the Camera Port.

Wiring Tutorial: http://www.ez-robot.com/Tutorials/Lesson/76?courseId=5
Changes:

- Escapes on ascii UART, COM, i2c read commands (http://www.ez-robot.com/Community/Forum/Thread?threadId=9914)

- new blockly commands

- default blockly values for movement and text

- camera rotation options for mobile

User-inserted image
Changes:

- Happy Holidays!

- New Blockly Graphical Programming Interface (accompanies RoboScratch)

- RoboScratch load/save as separate projects rather than with the main project

- support virtual servos on different ez-b's (http://www.ez-robot.com/Community/Forum/Thread?threadId=9892)

- cleaner shut down of script control with less verbose messaging

*This build has been updated from 2016.12.26.00 to 2016.12.28.00 with a few more Block Programming enhancements.

User-inserted image
Changes:

- Mobile Interface Builder allows specifying the size of the workspace. The latest mobile apps will compensate for the size entered (if different than the suggested default).

- Compiled against latest .Net 4.6.1 runtime which has performance and rendering enhancements

- Fix for error with some language settings not downloading ez-bits correctly (http://www.ez-robot.com/Community/Forum/posts.aspx?threadId=9886)
Changes

- EZ-Script controls can be marked as RoboScratch Modules, which are presented in the roboscratch interface for both PC and Mobile. (aka this means you can make your own roboscratch controls in ez-script)

- The matching mobile of this version has SAVE/LOAD for roboscratch on mobile

*Note: these feature on mobile will be available when the respective appstore completes their testing (tonight for android and 1-2 days for iOS)
Changes:

- Trial attempt resolving Auto Control Arrange leaving space at top of the screen when scrollbar is visible (http://www.ez-robot.com/Community/Forum/Thread?threadId=9825)

- Fix servo button for mobile interface (http://www.ez-robot.com/Community/Forum/Thread?threadId=9827)

- Servo fine tune values may be used in Plugins and 3rd party controls if supported (http://www.ez-robot.com/Community/Forum/Thread?threadId=9823)
Changes:

- Right click on servos in auto position editor to delete (Rather than having to hit delete button on keyboard)

- Auto Position Import Fix prevents unhandled exception when deleting servos after import into empty project
Changes:

- This release has significant camera vision movement tracking improvements.

- The movement controller has been rewritten to provide speed parameters to new feature, such as the camera control.

- The camera control now has a speed option to select how fast the robot turns or moves forward when tracking an object using Movement Tracking.

- The Movement Delay option now has a checkbox to enable/disable it.

- There is information in the question marks for the new options if you hover the mouse over.

User-inserted image




Changes:

- mobile interface builder has a new control: Combobox (which is a drop down selection picker that sets a variable and executes a script). Ensure you update respective mobile app (iOS/Android).
Changes:

- Mobile Interface's analog joystick controls have a "Reset When Released" option. This means when unchecked, the joystick will not reset to the center when released. Some applications, such as controlling servos for a robot head will not want to be recentered when the users finger is released from the joystick. Mobile app on your respective app store will need to be updated when the version is available (~1-2 days from this posting)

- Soundboard PC has Export (save to file) button
Changes:

- Fix for IoTiny and EZ-B v4.x/2 Firmware Update application

- Communication overflow protection on analog mobile joystick controls for EZ-B's with Comm 1

- Update robot example apps (JD, Six, Roli, AdventureBot) to include new analog joystick mobile control
This is a pretty big release update, as it includes a significant rewrite of the ez-script parser. I've ran a kabazillion use-case tests, which means it should be okay. If not, let me know what experiences you have :)

For example, you can do some pretty bizarre things with escape characters now...

Code:


clearvariables()

$p="asfsdf\"asfdfdsf"

print($p)

$p = "abc\"de(f$l" + "gh\"ij"

print(length($p))

$p = $p + "af(d\"sfE22 $p(" + $p

print($p)

# array

definearray($array, 10)
$array[0] = "hello"
$array[1] = "\""
$banana = $array[0] + $array[1]

print($banana)

# new line

$popper = "hello\r\nWorld"

print($popper)

FileWrite("c:\temp\rest.txt", $popper)

$line1 = split($popper, "\r", 0)
print($line1)

$line2 = split($popper, "\r", 1)
print($line2)



Secondly, there's a re-write for continuous rotation servos to include speed control. This means your Continuous rotation movement panel will be slightly different, now including two speed dials for each wheel.

The mobile interface includes a joystick and servo pad as well, which won't be viewable on your mobile devices until both Android and iOS have been approved by the respective AppStores (1 or 2 days)

User-inserted image

Changes:

- fix Parenthesis in string error. If a string contained something like "Hello(" it would return an error because the parser thought Hello( was to be a function

- latest ez-script compiler that supports escaped characters of \" \r \n and fixes a bunch of things like "df()" and "E22"

- Servo Pad uses a joystick control in mobile

- new mobile control for Joystick with analog speed adjustment for movement controls that support speed

- speed control for continuous rotation servos and the respective movement panel

- Updated JD, Roli & AdventureBot projects to use latest Mobile Interface Joystick control

- New EZ-Script command: MAP() which will make an input value to a specific range


*NOTE: It is important that all IoTiny users update to the latest firmware installed with this application.

Changes:
- IoTiny Firmware resolves issue where unit may become unresponsive if attempting connection to a network with incorrect credentials and reset button will fail to respond

- New ez-script command: fmttimespan()

- Plugin can intercept ez-script function calls for user definable functions (example: http://www.ez-robot.com/EZ-Builder/Plugins/view/162). Tutorial is here: http://www.ez-robot.com/Tutorials/UserTutorials/146/20 . A native EZ-Script version is in the works as well.

- Fixes Parenthesis in string error (http://www.ez-robot.com/Community/Forum/Thread?threadId=8375&page=7)
Changes:

- Resolved 3rd Party Plugin "Cannot Find Assembly" issue for portable libraries (http://www.ez-robot.com/Community/Forum/Thread?threadId=9737)

*Note: As per the plugin tutorial, always ensure the required library DLL files are included in the plugin build output folder (http://www.ez-robot.com/Tutorials/UserTutorials/146/20).
Changes:

- Remove StartVoice() from prompt builder since it overwrote SetVoice() as per PTP's email suggestion (http://www.ez-robot.com/Community/Forum/Thread?threadId=9743)

- SetVolume() allows ez-b index (http://www.ez-robot.com/Community/Forum/Thread?threadId=9698)

- display the battery voltage and temperature of the ez-b when connection occurs in status window

- updated error message when importing auto position that doesn't match current configuration
Changes:

- update auto position sdk class generator fix to always ensure unique guid of frames/actions. Use the Auto Position's EXPORT button to create a EZ-SDK class of your actions for use in a C#, UWP or C++ application

- nest thermostat/device control doesn't attempt to display device that do not exist returned by nest webservice (appears to be a bug in nest web service) (resolves http://www.ez-robot.com/Community/Forum/Thread?threadId=9581 )

- telnet tcp server displays PRINT() data (resolves http://www.ez-robot.com/Community/Forum/Thread?threadId=9585 )
Changes

- auto position gait creator generates ez-sdk source code with the Frame and Actions with the EXPORT option. An actual class will be created as a file that can be used in your program that uses the ez-sdk.

- more windows 10 default 125% text size resizing fixes
Changes:

- prompt for assembly instructions in preferences

- twitter recognition fix and new features

- attempt to fix display issues due to windows 10's unusual default text of 125% and not 100%
Changes:

- sound servo fixes from http://www.ez-robot.com/Community/Forum/Thread?threadId=9411

- fix to mobile interface servo pad where it wasn't saving the multi servo ConfigurationManager

- support for latest plugin config format that stores compressed information to reduce file size
Changes:

- New mobile interface control (ServoPad) for moving a servo as a joystick pad on the UI, as requested from: http://www.ez-robot.com/Community/Forum/Thread?threadId=9399 . Currently works with latest Android update. Will work with iOS in about 6-8 days from this release while we wait for Apple to review the app update.

- Sabertooth Movement Panel has configurable baud rate

- NeoPixel controller supports 80 neopixels per port (640 leds in total)

- RampUp and RampDown of ezb audio does not apply to regular v4 and only applies to IoTiny, which resolves this thread: http://www.ez-robot.com/Community/Forum/Thread?threadId=9398

- SayEZB() and SayEZBWait() both accept an optional second parameter that specifies the EZB Index to output to as per this request: http://www.ez-robot.com/Community/Forum/Thread?threadId=5889

Example

Code:


SayEZB("Hello, i am a second ezb", 1)


User-inserted image

- 100% compatible with ez-builder for PC,
Android and iOS
- incredibly small footprint!
- 8 digital I/O (servos, switches, buttons, uart, ultrasonic distance, etc)
- 2 adc
- energy effecient digital switching power supply
- amplified audio and speaker for wifi streaming
- ezrobot camera port
- i2c connector
- web interface
- telnet interface
- OTA firmware upgradable

Best of all, it's going to be very affordable! a fraction of the cost of the ezb v4 powerhouse. This will be great for small diy robots or iot devices.

Status: hardware is done. Firmware has two minor tweaks to complete. Should see it on the store with the other ezbits (inverted pendulum, neo pixel controller, etc) over the summer :)

User-inserted image

User-inserted image
Changes:

- rgb 8x8 animator has line and rectangle functions on a canvas buffer from ez-script ControlCommand()

- IoTiny Firmware Updater

- v4.x/2 firmware upgrader has a network scan

- v4 IoTiny firmware upgrader has a network scan

- removed reference to serialrgb ez-script commands which no longer exists

- neo pixel controller added to misc section of Add Control
Changes:

- checkbox enable/disable which custom objects to detect for object tracking

- rgb 8x8 display fix

- significant re-write of the camera control and underlying SDK

- camera detection returns detected variables for multiple tracking types or multiple detected objects. If multiple objects are detected, a variable is created for each one. The number of variables is specified in the Scripting/Variables tab of the camera config

- display color name in the object location field and set the variable (this is for both custom color and predefined colors)

- EZ-SDK is updated as well
Changes:

- May the 4th be with you

- rgb 8x8 i2c address change option

- rgb array eyes i2c address change fix

- camera object training doesn't flicker

- might have fixed: http://www.ez-robot.com/Community/Forum/Thread?threadId=9338

- renamed EZ-B Mini to IoTiny
Changes:

- Audio processor to lower the dac audio noise (only works when an audio file or speech has completed without pressing STOP). If you let an audio file play entirely, the DAC will exit with a lower volume, resulting in less "buzz" from the speaker.

- adjust audio prebuffer for v4 mini during connection

- do not display the "move arrows" when hovering over the port select button of the auto position config when editing frames. moving a servo in auto position config is done by draging the servo border

- process all video buffer data before getting more from the tcp client. This prevents lagging video for slower or overworked cpu's
Changes:

- Fix for stopping speech in SayWait() from http://www.ez-robot.com/Community/Forum/Thread?threadId=9294&page=2

- rgb 8x8 animator control

- inverted pendulum control
Changes:

- fix to rollleft() with parameter

- fix to rollright() with parameter

- removed AX12Led() from documentation because dynamixel servos are used with the dynamixel plugin

- ping_wait() Fixed

- support for 99 virtual ports in compiler

- terminal control for PC allows custom baud rate

- updated colors for 3d designer to be brighter

- fix for ServoSpeed() with virtual ports

- verify speech synth is initialized before allowing volume to be Set

- fixed incorrect binaryop error due to not having spacing between comparison operations in ez-script. (Example below)

- fixed to ignore case on comparibles AND|OR (example below)

Code:


ClearVariables()

$Volume = 10

# this would error with no space in assign
$Volume=$Volume-25

# this would error with no space in comparible
if ($Volume<=-5)
$Volume=5
endif

SpeakVolume($Volume)


$status = -1
$retry = 3

# this would error because no space and use of capital AND
if (-4<-3 AND -2<0)
print("Dfd")
endif

# this would error because no space with negative value in comparible
if ($retry<3 and $status<0)
# do something
print("SdfdF")
endif


Changes:

- no april fools jokes included

- fix for forward(speed, time)

- serial rgb fix for more color brightness's

- ezscript executor fix for error which locked up editor when incorrect goto label was specified
Changes:

- ezb firmware manager includes firmware for ez-b mini

- camera multicolor (custom color) can enable/disable which colors are detected via ez-script control command (check cheat sheet for syntax) or manually with a checkbox

- mpu9150 control now also supports mpu9250

- added the serial rgb led production protocol for the new ez-bit

- bit builder no longer inserts a datetime as the bit name (blank by default)

- happy easter :)
Changes:

- fix to auto position handling position -1 (ignore for this frame)
Changes:

- new firmware for ez-b v4.x/2 (disables N wifi for longer distance and increased reliability)

- Clear Variables re-inits variables that were supposed to be set (i.e. $direction, $ezbplayingaudio)

- New variable $EZBPlayingAudio

- fixed negative number Boolean comparison without quotes from: http://www.ez-robot.com/Community/Forum/Thread?threadId=9156

- fixed split and spaces from this thread: http://www.ez-robot.com/Community/Forum/Thread?threadId=9141

- fixed length() function from this thread: http://www.ez-robot.com/Community/Forum/Thread?threadId=9150
Changes:

- Servo Speed update

- The auto position will force the servo positions even if they are already configured. This is in case the frame is forced when the servos are already in position and the servos are released

- changes how releasing a servo is recovered
Changes:

- additional error logging for video capture

- fix for adc_get()

- joystick variables are configured even when Use Movement is checked
Changes:

- Ensure the plugin installer is launched from the ez-builder folder, in case there is a working directory change

- Fix for Sound Servo (Mic) when Pause button was pressed, preventing it from being unpaused
Changes:

- Diagnostic log update changes

- Camera has new ControlCommand() and new checkbox option to enable/disable if scripts will run when tracking starts/ends

- Smoother dragging of controls and their respective connecting lines in RoboScratch
Has anyone noticed that EZ-Builder Mobile has vision tracking now? It also works in RoboScratch Mobile. The iOS version will not be online until Apple approves it, maybe next week? But the Android version is online in Google Play...

Color, Multi Color, Glyph and Face tracking works with EZ-Builder Mobile
Changes:

- fix for variable array by referencing an index with a variable

- jpeg stream engine uses new ez task scheduler

- jpeg stream engine has no fps limiter

- removed brookstone rover movement panel, which is no longer supported

- removed Syntax Check button in ez-script editor since it is no longer supported
Changes:

- disable camera tracking after waiting for color in roboscratch

- optimized references for smaller memory footprint

- restored control sorting to previous version after receiving scrolling issue feedback
Changes:

- Smoother compass algorithm

- auto capitalize auto position frames and actions with title case

- huge re-write of ez-script parser

- ez-script functions and methods are moved into the expression handler, where condition statements, such as IF/GOTO/REPEAT/etc are still handled in the executor. Fixes parameters embedded on single line with (parenthesis) and updates to EZ-Script compiler and runtime to v8.3

- show a message when there is no more room on the RoboScratch sketch for new elements

- fix for controls losing what virtual desktop they were added

- suspend and resume layout when controls are removed should help with scroll bar issues

- test button for modified servo config menu

- updated example ez-script projects
Changes:

- microphone recording start/stop with ControlCommand()

- RoboScratch has RGB Animator element

- ControlCommand() option to play soundboard ezb audio without running the scripts

- RoboScratch do not run scripts when playing soundboard ezb audio

- mpu9150 all-in-one sensor has "round to nearest" to make heading data easier for robots to follow direction


Changes:

- MPU9150 (All-In-One) sensor update
Changes:

- Still weird typing 2016 in release notes. Time flies...
- showcontrol for roboscratch in ez-script to be used in mobile version
- ez-b v4.x/2 comm expansion configuration utility
- RoboScratch double buffer removes flicker when dragging elements
- RoboScratch new element for embedding custom EZ-Script
- *Updated: MPU9150 control for compass tilt compensation and more accurate heading. Read the control manual for calibrating (wave the compass module in a figure 8 to calibrate when ever the values go wonky... just like your iphone asks you to)
- *Updated: SoundBoard (ezb) fix for when there is no auto positioners in project when editing script
Changes:

- faster control sorting

- auto position no movement panel exposes the auto positioner for the open plugin framework

- Add Control windows contains a plugin category to group all plugins so they don't need to be "hunted around" for in categories

- Plugin can store custom objects in project file

- RoboScratch integration

* Fix for 01 update - the RoboScratch save/load is supported with a project
Changes:

- Sound Servo (EZB) fix
- EZ-B v4 Camera driver upgrade
- EZ-B v4.x/2 Firmware Upgrade Utility
- prompt if a user attempts to save project in the public example folder that it will be overwritten during upgrades
Changes:

- Soundboard STOP button stops the movement panel (auto position in most cases). Useful for making dance routines, the stop button will stop the last action.

- joystick control accepts controlcommand() for reset

- camera control accepts port parameter for ezb v4.x/2 dynamic port assignment
Changes:

- Audio playback time enhancement and uses even less cpu by processing the pre-buffer in one go, rather than in packets. Previous versions processed the pre-buffer per specified packet size (default is 256 bytes), this version processes it as one chunk (default 20,000 bytes). Decreases playback start time and cpu usage. Once pre-buffer has completed sending to EZ-B, the packet size of 256 bytes is used.
Changes:

- Significant audio response improvement. The pre-buffer is much faster, resulting in less delay before audio plays.
Changes:

- Minor memory leak fix in mobile Interface Builder, EZ-Cloud Open Dialog, EZ-Robot Designer and Project Open dialog menu
Changes:

- Talk Servo fix when Say(), Sayezb(), etc... is used with a sentence including numbers.

- SayEZBWait() fix

- Camera save snapshot fix (http://www.ez-robot.com/Community/Forum/Thread?threadId=8860)
Changes:

- Happy New Year

- Audio Buffer Enhancement for quicker audio play and response

- Camera video performance decreased lag time by a 50 milliseconds in every second will increase framerate

- Biggest performance boost yet. The last few performance increases have been a result of experimenting with Microsoft's TPL to handle the many many threadable controls and background functions in EZ-Builder and EZ-B.DLL. While the TPL has provided performance improvements, I have recognized significant overhead in Microsoft's Task Factory which handles thread pooling and resource allocation. Since EZ-Robot is responsible and aware of our resources, i decided to write my own TPL task factory equivalent and replace Microsoft's library. This has provided the biggest performance increase that ez-builder has ever seen for EZ-Script, Audio, Video Tracking and general UI responsiveness. I call it the EZTaskScheduler, which is technically a factory, scheduler and thread handler all in one. I'm quite pleased with the result, and i'm certain you will be too.

- Added new ez-script examples in the examples folder that installs with ez-builder. One that is relevant to this release is the Procedural 4 (Threading) example.
Changes:

- updated installer with windows 10 compatibility

- camera and connection control have ez-b v4.x/2 discovery mode

- ez-script compiler has a pre-cache of compiled opcodes for performance increase in executor

- new eztask scheduler handles synchronizing threads, results in increased stability of multi ez-script controls and performance increase on multi-core cpus

- optimized camera video code. Uses less resources and smaller memory footprint.
Changes:

- per this thread: http://www.ez-robot.com/Community/Forum/Thread?threadId=8760 do not start camera when added to project. Require user to manually press Start Camera button instead.

- camera has "Sharpen" filter checkbox

- new connection control setting for flood data protection at recognized by @purple. As PC's are getting faster and increased network bandwidth capabilities, the ez-b v4 may have a hard time keeping up. This new setting resides in the Connection Control Settings. Read the help on how to use it. This parameter is saved with your project and is not global for the software.
Changes:

- Default sample count of benchmark utility lowered from 300 to 30
Changes:

- Fix for Talk Servo where in the last version some reports came in that it wasn't working for some people
Changes:

- Significant performance increase and stability with scripts and controlcommand() between controls. The scripting engine thread model has been rewritten - experiences 100% increase in ez-script performance.

- Auto Position engine is using a new threading model task factory. Increased Stability and less CPU usage

- Sound EZ-B v4 module threading model updated. Uses less cpu and memory while playing audio

- Video EZ-B v4 camera module updated threading. Increased stability and no longer locks up the UI for 2 seconds when attempting to connect to EZ-B v4 camera
Changes:

- fix for joystick controlling pwm speed - it wasn't working before where the pwm speed was always enabled even if the option was unchecked.

- the new ez.b v4.1/2 will return a message to client if there is already a connection from another client

- close tcp client as per microsoft bug: https://support.microsoft.com/en-us/kb/821625

- - bench mark using system.timer rather than forms timer which caused ez-builder to lock up during benchmark test

- talk servo converts number to words
Changes:

- Fix for EZ-B v4 Scanner (http://www.ez-robot.com/Community/Forum/Thread?threadId=8697)

- Plugin framework now scans and loads dependent assembly libraries that your plugin may include.
Changes:

- Plugin contains a new storage container in configuration for servos. See example source code from: http://www.ez-robot.com/EZ-Builder/Plugins/view/58

- Fix with EZ-B v4 Scanning utility and experimental upcoming EZ-B v4.1/2 Bonjour Discovery Service
Changes:

- prevent auto position servos from being moved off the screen bottom and right

- display camera feed in mobile interface builder window

- vuzix VR glasses Add Control button fix

- auto position display PAUSE with it's details of delay time and ignore the STEPS and SERVO SPEED...

- fix for Sound Servo Speaker when loading project produced error

*Note: This release is 2015.28/29/30 because they are were all rolled into one. Notable, this release includes additional plugin access for more camera ability. Specifically this example: http://www.ez-robot.com/EZ-Builder/Plugins/view/58

Here's a video:

Changes:

- Additional auto positioner & Sound Board EZB registers script flow for those who have many scripts running in frames/actions with controlcommand() causing infinite loops. Use Script Flow control to view ControlCommand() references of scripts to identify programming issues.

- renamed soundservo to Sound Servo PC Mic

- Add Control buttons for add control of soundservo PC and EZB were reversed

- cross thread and multiple timers resolved (no more object in use elsewhere)

- new control: Sound Servo Speaker - uses audio playing out of the speaker rather than mic input
Changes:

- fix with plugin manager. will now install plugins that have empty directories

- prompt and save change log details to ez-cloud for file history

- prompt if a file is meant to be public when saving to the ezcloud

- allow deleting servo profiles from the cloud
Changes:

- camera module removes use of UpdatePreview()

- better memory handling of image data and objects for polite garbage collection

- New object GetOutputBitmap for plugin open-architecture allows updating of the output bitmap. Must be called within the Camera's OnNewFrame event. See the source code from this example plugin: http://www.ez-robot.com/EZ-Builder/Plugins/view/47

- no flickering on text overlay in camera control

- higher quality camera image

- less resources used on camera image

- new variables for camera stores TOP and LEFT coordinates of the detected rectangle
Happy Halloween!

Changes:

- auto positioer auto inserts a STAND frame as default if there isn't one

- Add Control keeps index of last selected page

- auto increment auto position frame name if the selected frame that is being cloned ends with a number already

- when editing auto position, save the realtime speed and realtime steps values

- do not force a speed change when editing frame. use the same speed last set by the servos. This no longer resets servo speeds when editing auto position
Changes:

- bug fix for SendSerial() as discovered by Boris from this thread
Changes:

- Display disconnected message when attempting to create a servo fine tune when not connected to an ez-b

- new ez-script command "Sort" (similar to the plugin but not built into the ez-script engine)

- increased ez-script parsing in runtime

- plugin updater when ez-builder loads
Changes:

- Auto Position accepts -1 for servo frame positions. This will skip setting the servo position. Details are included in the respective manual page

- display an internet connection required message for functions that require internet connection (i.e. viewing tutorials or manual pages, etc)

- removed dynamixel support from ez-b library (it is now an open-source plugin)

- fixed ez-script for functions returning boolean value

- 100 virtual servos

- removed ez-robot branded wallpaper

- removed intro video
Changes:

- new Diagnostic Report will upload diagnostic data to ez-robot to assist with technical/warranty issues with request
Changes:

- Camera displays a status if an object is being tracked and # of tracked frames
- bit builder removes STL reference when stl is removed
- Fix for ez-script when Return() is called as last command in an IF/Else condition.
Changes:

- Battery Monitor master override option in the Connection Control Settings is required to be set for overriding the default battery monitor settings. This new checkbox is an agreement that overriding the battery monitor holds users responsible for damaged lipo batteries with revolution robots
existing projects which modify or disable the battery monitor will need to check this option and re-configure their battery monitor settings.
Changes:

- save button for eZ-script manual to save copy of manual to local hard drive for offline viewing

- terms of use no longer hides the OK button when the screen DPI resolution is different

- important update to the plugin open framework
Changes:

- Speech Synthesis Control has a Say To PC Speaker and Say To EZ-B v4 Speaker. See User Tutorial here: http://www.ez-robot.com/Tutorials/UserTutorials/144/1

- Video Recording is re-enabled. Video recording now works for Camera Control.
Changes:

- Updated ez-script manual to reflect what GetServo() does and changed max from 100 to 180

- When loading corrupt project files, ez-builder will continue to load as many controls to recover as possible

- SoundMovement and Sound Servo mismatch in project file fix
Changes:

- pandoraBot control has Response Variable and Response Script

- added help id's for add control question mark short cuts

- new API features for open architecture (examples in Display Text source code)
<fist pump>Yes! </fist pump>

EDIT Well darn! It looks like the left paren in quotes bug wasn't fixed in this release. :(
Changes:

- v2 Terms which include information about charging lipo batteries and battery cool down period

- updated help on auto position buttons Transition To and Jump in config menu

- Transition To and Jump in auto position config are disabled when Realtime update is checked

- Realtime update checkbox state is saved in the project so for those who do not use it in auto position config

- updated help on auto position to explain that ZERO is release
Changes:

- Update awesome update to the object learning and tracking vision module. This new enhanced implementation includes a re-write of most of the vision system. All issues with incorrect objects being detected have been resolved. There is also a huge performance increase and accuracy increase in detecting objects that have been trained.

- EZ-Script bug fix with two or more comments canceling each other out on a single line of code
Changes:

- new radar scanner for Ping and Sharp IR

- TCP Server uses less resources

- capta required to stop presenting LEARN popup when loading ez-builder for those who are too quick to DO NOT SHOW AGAIN without actually taking the time to follow the tutorials that we put a lot of effort into :)

- Cheat Sheet and Right click on script sorts controls and ControlCommands() alphabetically

- Script editor allows disabling of Intellisense popup

- display ez-b v4 camera image size on camera control

- made the CREATE button easier to see for Servo Profile when loading new projects

- show a "connect to the internet" message if trying to view connection tutorial when connected to the ez-b or when pressing ? (question mark) buttons
Changes:

- fixed issue with rgb animator for working on any specified ez-b board
- display ESC to close speech list popup
- speech recognition window is resizable
- speech recognition contains new variable $SpeechConfidence
- speech recognition contains new variable $SpeechPhrase
- speech recognition contains script that runs for low confidence detection
- option in preferences to restore the Show Intro Links window when ez-builder loads
- Capta to stop showing the tutorial window when ez-builder starts to prevent people from accidently not showing tutorial window
Changes:
- bug fix for RGB Animator working on over 20 EZ-B's
- bug fix for 20+ EZ-B's connected to Auto Positioners when loading a saved project
Changes:

- new control: Connections. Which allows a custom number of additional EZ-B's to be added to the project (up to 255)

- RGB Animator accepts a drop down settings to select the EZ-B index

- display more detailed error when attempting to initialize speech recognition
Changes:

- GAIT Creator Code Generator accepts a "starting frame" parameter. Help hover is also given to each option in GAIT creator

- new control: Talk Servo which moves servos based on the text to speech (i.e. sayEZB, Say, SayEZBWait, SayWait) commands in ez-script. Found in Project -> Add Control -> Audio -> Talk Servo. More information: http://www.ez-robot.com/Tutorials/Help.aspx?id=217

- preferences option to ignore exit confirmation of ez-builder. Found in EZ-Builder preferences menu under Options -> Global Settings -> Preferences

- display speech recognition phrase popup wiht multiple columns
Changes:

- resets servo fine tune settings when a new project is loaded

- camera image can be flipped, rotated, mirrored, etc. with new menu in Camera Config

- servo limits can be hard coded with SetServoMin() and SetServoMax() commands. This prevents any servo from moving past the specified position. This is only reset when a new project is loaded. (This is not compatible with iOS apps for 9 days after today because it takes 9 days for apple to review the software update). You will receive an ez-script compile error if trying to use these commands on current iOS app.

- speed improvement with compiling ez-script

- Auto Positioner includes GAIT Source Code Creator. This will create C++ and C#, UWP code for servo movements based on Auto Positions. Anyone using the EZ-SDK or UWP SDK will appreciate this for Windows 10, Windows 10 Core, Windows Phone, xBox, Raspberry Pi, and many more.



UniversalBot is available here: http://www.ez-robot.com/EZ-Builder/UniversalBot
Changes:

- specify the max number of objects that will be detected in camera device under Variables tab. The old maximum used to be hardcoded at 3. You may now select up to 20 objects to be detected. The position and size of each object can be accessed by EZ-Script Variables. Take a look at the Variable Watcher to see variables appear for each new object that is detected. Each object variable will be appended with a _# (i.e. _2, _3, _4...). You will see what I mean when checking the Variable Watcher once multiple objects are detected on the camera.

- camera device has "Use Grid Lines" option (default unchecked) in options menu. when not checked, the camera will work to keep the object in the center of the image rather than using the grid lines (affects servo tracking only). This is a new way to track objects rather than using grid lines - it's more effective and responsive servo tracking technique. If you want the old behavior, check the box.

- variable watcher auto sorts and auto resizes to adjust text to fit

- removed movement time that was specified for ssc-32 control (oops)

*Update: This release has been updated with a point release (2015.05.15.01) to resolve an issue with the Use Grid checkbox. It was reversed, oops
Changes:

- This fixes the bug where a script is told to stop when not running will lock up the script forever

- added command support for the new ez-b v4 camera

- added additional virtual ports for the SSC-32 control

- new control : SSC-32 for adding an ssc-32 to your ez-builder project which connects to ez-b v4 or PC COM port: http://www.ez-robot.com/Tutorials/Help.aspx?id=216

- fix in the Serial Terminal (pc) for large ammounts of data being transmitted would lock up UI

SSC-32 Control
The new SSC-32 control will allow EZ-Builder or an ez-b v4 to directly connect to the SSC-32 servo controller. This means you can connect the SSC-32 or SSC-32U directly to your PC via COM port -or- use the EZ-B v4's expansion UART. The V0-V31 ports are therefore used to control the Port 0-31 on the SSC-32.


Here's a video demonstrating the new tracking without grid lines using JD

Changes:

- Added support for Lidar-Lite over i2c interface: http://www.ez-robot.com/Tutorials/Help.aspx?id=215

- Fix for mobile interface builder Servo Slide which was missed in last update
Changes:

- EZ-Bit Building Instructions has a Re-order feature which now displays images and more information about the bits that are being changed

- fix for saving the value of the Min setting in a Servo Slide in Mobile Interface Builder

- Right Click when editing EZ-Script to open access to cheat sheet and first draft of EZ-Script Builder

User-inserted image
Changes:

- updated main menu flat icon with colors to easily identify menu items

- all config menus of controls changed to look the same, white background, etc...

- Camera control uses color coding for tabs

- Project History when ez-builder is first loaded, or NEW button is pressed. Keeps track of recent projects that you've loaded. It will display the first time that there is something to display... You'll see what I mean

- Right Click when editing soundboard ez-b to add auto position actions instantly to create dances and animations


User-inserted image

User-inserted image

User-inserted image
Changes:

- new ez-script command: ComClearInput(port) which clears all input data from incoming serial/com Port

- Serial Terminal now logs error Com error messages

- rgb animator exits running action gracefully when no ezb connection

- New colors for flat icons to make it easier on the eyes and to find items

- ability to specify a much lower confidence setting for debugging speech recognition
Changes:

- EZ-Script editor fix when adding a variable. no longer erased entire line

- speech recognition allows culture to be set (language) *beta*. Press CONFIG in speech recognition control and configure your desired language with the drop down.

- Unselect All button in RGB Animator when editing frames

- RGB Animator fix for Duplicate Button which was making a link to the original so modifying one would modify all duplicated frames. Now a duplicated frame can be edited without affecting the original

- Servo Fine Tune interface has Connect to EZ-B button
Changes to EZ-Builder :

- new auto position with increased response

- new auto position will not loop an action containing a single frame even if "repeat" is set. only loops if more than one frame is added to an action

- ez-b local network scan has input fields for each part of the network address rather than hard coding the values detected by the first network adapter

- updates to MPU 9150 [sku:1359] control

EZ-Builder Download
Changes:

- Added control for MPU9150 which is compass, accel, gyro, and temp all-in-one

- updated config menus of controls

- fixed bug in new script editor where additional lines were added when saving and reloading project
Changes:

- New EZ-Script editor that is much prettier and easier to use with syntax highlighting and code folding

- "Control Details" tab is now renamed to "Cheat Sheet"

- Font size settings in the ez-script editor

- Code Collapsing in editor. This means loops, such as Repeat, RepeatWhile, and RepeatUntil have collapsible views

- certain commands have different colors, which will make editing code much easier to read

- soundboard displays associated scripts in color

- color added to connection buttons

- Servo Panic Release button added to Auto Position controls
Changes:

- New control for monitoring files that you have open for reading (File Manager found in Add Control -> General -> File Manager)

- new controls (File Manager & Com Manager) for debugging file and com usage

- new ez-script commands for local COM port usage (ComRead, ComWrite, ComWriteLine, ComAvailable, ComReadAll, ComWriteBinary, ComReadBinary, ComOpen, ComClose)

- Fix for referencing array's in an assignment (i.e. $x = $array[1] + $array[2] )

- ezcloud account settings displayed as a dialog if no user account is entered

- auto positoin uses options to configure the thread priority for faster response

- added corrected link for appstore link
Changes:

- Added pause checkbox for Myo Gesture Control

- New software installer with image slideshow

- example projects and ez-bit's installed in All Users Document folder to be shared on multi user system (i.e. schools)

- Cameras can save snapshot with specified filename. Check ControlCommand() in Cheat Sheet of Camera Control

- Faster browsing of projects when opening

- fix for PrintHex() when printing number variable types
Changes:

- fixed bug where you couldn't specify ultrasonic ports over d22 in ping_wait()

- new controlcommand() for auto positioner (ShowAutoPositionPose) which shows the real-time pose window on mobile interfaces. Make sure you have latest ez-builder mobile for it to work. Will be on iOS version in next 7 days following their new version review.
Changes:

- This release contains a few fixes, it is recommended update

- Save Button in Mobile Interface Builder for Button Object saves background color

- ServoSpeed() fix
Changes:

- variable picker when editing scripts sorts the variable by name alphabetically

- faster and more effecient variable watcher. Only updates the number of rows necessary when the number of variables change. Maintains scroll position as well

- added new mobile interface background image templates

- auto position engine uses newer efficient speed setting module

- Auto Position allows a value of 0 (zero) position which releases the servo. This means a servo can be released during certain frames
Changes:

- All controls inherit a new template which disposes resources more efficiently

- auto save servo profile locally when loaded from ez-cloud

- removed CompassTurn, CompassForward because they were not modular to work with new ez-bit hardware (ie HMC5883)

- added HMC5883 Compass Control (http://www.ez-robot.com/Tutorials/Help.aspx?id=211)

- error handling when deleting ez-cloud files and there's a network issue

- ez-cloud save file estimated size updated when images are modified
Changes:

- added support for Nest thermostat and Smoke/CO internet home sensors ( http://www.ez-robot.com/Tutorials/Help.aspx?id=210 )

- camera device returns coordinate information of up to three detected objects for Color, multi color, face, motion. The three objects can be referenced in Variables. There is also a new variable "$CameraObjectCount" which returns the number of objects found (up to three)
Changes:

- new ez-script commands UARTWriteBinary(), UARTReadBinary(), I2CReadBinary(), I2CWriteBinary()

- added variable support for (gyro, temp) of mpu6050
Changes:

- new EZ-Script command SoundNote() which plays music through the ez-b v4

- New control for Adafruid 8x8 LED Matrix Array in i2c category of Add Control (http://www.adafruit.com/product/870)
Changes:

- Fixed object in use elsewhere error from: http://www.ez-robot.com/Community/Forum/Thread?threadId=7167

- New window will display the size breakdown of a project (can be accessed by the Project Details menu or the Save To EZCloud menu)

- added HTTP StartServer control command fix

- ControlCommand now takes $variable as parameter

- updated roli project with accurate frames for dance routine
Changes:

- Changed the JD project for easier assembly (Requires a sync of EZ-Bit Library for updated body part)

- Mobile App has fix for slider

- ultrasonic distance ping sensor has default ports changed to not interfere with lower ports that may already be used (d0, d1) by default when adding the control

- all ultrasonic distance ports start as PAUSED so the user can select the values before it starts working and interferes with stuff already connected to the ports

- added text for pin outs on ez-b during build process

- made port view image larger

- save to ezcloud does not crash ezbuilder when no conenction to internet

- added buttons to editing mobile controls (button, image button, trackbar) instead of multiline editor because it was causing problems checking syntax with every keystroke

- when editing multiline script editor in a grid, the first time you entered it would not save the text when ENTER was pressed. fixed

- new rendering scene features for 3d viewer for better lighting in all 3D views. Uses a 30% ambient light with 80% directional light over your viewing left upper shoulder.
Android Download: http://www.ez-robot.com/EZ-Builder/android
Windows Download: http://www.ez-robot.com/EZ-Builder/windows


Changes:

- Build Instructions are included in the Mobile EZ-Builder

- Mobile EZ-Builder now has Stop button for audio in soundboard

- Updated the error message when saving user credentials in Preferences

- PC EZ-Builder memory optimization when loading projects

- Auto Open tutorial when selected from Intro screen

- Opening from EZ-Cloud auto arranges automatically
Changes:

- Preference option to force override of prompting for servo profiles on every project load

- servo fine tune uses auto position image and layout for servos. Much easier fine tuning interface. The old interface is still available with Advanced option

- Android version compiled with 4.0.3 SDK as a test hoping for device support of older devices

User-inserted image
Android Download: http://www.ez-robot.com/EZ-Builder/android
Windows Download: http://www.ez-robot.com/EZ-Builder/windows

Changes:

- connection control no longer uses "numeric" keyboard becuase it treats the input as a number and limits to one decimal place (unsable for ip addresses)

- main menu displays loading message when selecting Installed Robot apps

- auto update feature for installed apps (accessible from Installed menu)

- notepad control

- soundboard has audio sound list to play with joystick control
Changes:

- renamed "modified servo" to "continuous servo" in software

- fixed version history loading in ez-cloud

- new controlCommand() for Microphone control to repeat last recorded audio

- mobile interface builder has more button options (radius, border color, border width, etc)

- new mobile control (servo slider)

- dozens of performance and gui enhancements to Android App
Download PC Version here: http://www.ez-robot.com/EZ-Builder/windows

Download Android Version here: http://www.ez-robot.com/EZ-Builder/android

Changes:

- mobile supports Wii Controller

- mobile supports Desktop View

- mobile main menu image displays

- UI bug fixes to mobile

- Windows UI enhancements
Happy New Year everyone :)

Changes:

- New beta version of EZ-Builder Mobile. Recommended to uninstall the previous version. Also, the latest EZ-Builder Mobile does not support EZ-B v3 due to cross-platform compatibility.
Download: http://www.ez-robot.com/EZ-Builder/android
Manual: http://www.ez-robot.com/Tutorials/Lesson/60

- iOS and Windows Phone EZ-Builder Mobile coming soon to AppStores

- fix link in bit builder that pointed to localhost

- first time popup for tutorial links updated to new learn section format

- more help regarding tracking in the camera device blue quesetion mark

User-inserted image

User-inserted image
Changes:

- allows importing the ez-robot image as a background from the Templates drop down for mobile interfaces

- Mobile Interface Builder includes new Servo Control for moving servos

- uses image buttons for direction shortcuts in mobile interface rather than system buttons

- blur feature when editing images in mobile interface builder

- library of common icons for image buttons in mobile Interface Builder

- mobile interface no longer has a SAVE button when editing control attributes. It saves automatically

- myo 0.8.0 driver support

- Android App supports new Mobile Interface changes


Example of new Mobile Builder with the JD project. This example screenshot has servos configured for the joints so you can control the robot's joints in real-time. The buttons for movements are transparent PNG's which are included in the library. Also, when editing an image using the built-in editor, you can add a Blur effect to show that the button has been pressed.

Blur button pressed demo:
User-inserted image

Stopped button pressed demo:
User-inserted image
Changes:

- Android App now supports Movement Script control. Scripts that will run based on the current movement direction

- Windows has GUI enhancement to Auto Position Config. The servo boxes only allow moving their physical location when the Port Edit is enabled. This prevents accidental moving of the servo boxes when editing frames.
Changes:

- Speed improvement loading Cheat Sheet tab

- EZ-Cloud new features (Requires update for Android and Windows to be used)

- EZ-Cloud app has Mobile Optimized attribute. Apps that have a Mobile Interface are optimized for mobile.
Changes:

- Transparent PNG support for mobile interface builder
Changes:

- new optional timeout command parameters for WaitForChange, WaitFor, WaitForServoMove

- Android: store projects and configuration on external storage

- Android: text to speech (SayEZB and Say) implementation

*Note: Due to Android OS having zero standards across devices and hardware manufacturers, the textToSpeech does work on all devices.
Changes:

- new ezscript command: CloseControl() for mobile interfaces

- MYO updated to v7 sdk
This release has some efficiency and performance enhancements to the camera module. Specifically how the ez-b v4 camera is rendered.

Changes:

- EZ-B v4 Camera render enhancements

- Video renderer for AR Drone v1 and v2 updated with a new process

- Includes latest MYO 0.6.0 beta support library
*Note: This update is highly recommended

Changes:

- Camera Device sets variables when project is loaded

- MYO allows disabling the pause gesture for servo activation

- MYO displays arm calibration status

- Fix for character encoding that would occasionally cause a popup error about illegal characters in Path. This happened most often when using the Export To Soundboard feature on the Microphone
Changes:

- New skin

- EZ-B v4 audio volume uses a new algorithm which results in clearer audio during volume adjustments

- Latest Six/JD/Roli revolution projects


Changes:

- fixes and enhancements for the MYO Arm Gesture Controller
Changes:

New prototype Control for MYO Gesture Controlled Armband. For more information, visit https://www.thalmic.com/en/myo/


User-inserted image
This is a small release with one new feature for the camera control

Changes:

- new Camera Variable: $IsCameraActive which returns the status of the camera. Can be configured to a custom variable name in the camera config dialog
Changes:

- Android release updated Android API to level 15 (4.0.3 minimum)

- SoundBoard audio playback uses a new more efficient engine

- clicking on Script Marker during SoundBoard v4 audio edit doesn't move the script unless you move the mouse at least 5 pixels in each directly. So you don't move a script accidently when selecting it

- prompt for servo profile when loading from ezcloud
This includes the second beta release of the new Sound Board v4, with scripting support. This new version includes audio editor features to Cut, Copy, Paste, Delete and others. There is also a "play from here" feature so you don't have to listen to the entire file from beginning ;)

Changes:

- Sound Board v4 includes Audio Editor features
- Improvement to timing of Sound Board v4 Scripting

Download it now!

This new feature allows me to create this, which I will expand on this weekend and give him a 3D printed microphone ;)




User-inserted image
Ready to start making your robot dance to music? Move to sounds and speech recordings? Well, this release includes a beta version of a feature which will revolutionize the Revolution :)

Changes:

- new First Time tutorial message with links to learn section

- Soundboard v4 has a script editor which allows you to assign scripts to run at specified times during audio playback


This video uses the new soundboard v4 feature :)


User-inserted image
Changes:

- selectall and deselect button for categories in EZ-Cloud

- More debug informatoin for diagnostic report

- New Command: WaitFor() is similar to WaitForChange() but waits for the provided expression to be TRUE. This is best used to wait for an AutoPosition to be completed by syntax similar to...

Code:


# Start the action
ControlCommand("Auto Position", AutoPositionAction, "sit down")

# Wait for the action to be completed
WaitFor( $AutoPositionStatus = 0 )


With the addition of the new EZ-Cloud v3, the Servo Profiles can now be stored on the cloud as well. This release updates both EZ-Builder for Windows and Android.

Changes:

- version history for ez cloud fix. Prior version would display "downloading" for ever

- memory efficiency enhancement in the project loading/saving of both Android and Windows which will result in a speed improvement

- fine tune servo profile saves and loads from the EZ-Cloud

- http custom server now displays the folder root and has an open button to open the folder dialog
This release is for the new EZ-Cloud v3. The Android App is also required for this update if you use the EZ-Cloud. The new EZ-Cloud v3 has performance improvements and new functionality.

Changes:

- HTTP Custom Server uses new tags for the HTML 5 naming convention. Check the manual for more information about the new tags

- new ez-cloud v3

- new ez-script command: sayezbwait()

- soundboard v4 can use any of the 5 ez-b v4's

- pandoraBots uses EZ-B v4 if configured in configuration menu

- pandoraBots server timeout set for 5 seconds

- significant performance and memory enhancements on the Android App

User-inserted image
Yesterdays update had a strange issue where the examples weren't included. There were reports of ez-builder locking up. I suspect there was an issue when compiling yesterday's build.

This release has no changes - simply a new build of yesterday's code
Changes:

- mp3 trigger doesn't crash when loaded without a connectoin to ez-b v3 anymore

- http server has more logging when an exception is thrown from an incoming request
Changes:

- http server supports camera image streaming tag

- new ez-script command: ClearVariable() to remove a variable from the stack

- Here is an example for the custom web server: HTTPCustomWebServer.EZB

User-inserted image
Changes:

- Updated URL for "connection tutorial"

- increased font size for assembly instructions of the Ports for connections

- Prototype of HTTP Custom Server, where you can now create your own customized HTML pages. (Project -> Add Control -> HTTP Server (custom))

- Warning messages and confirmation about disabling the LiPo Battery Protection feature in EZ-Builder

*Note: Root files for the web server is in your My Documents\EZ-Builder\HTTP Server Root


User-inserted image

User-inserted image
Changes:

- Auto Positioner knows how to recover from a disconnect and have robot jump into first frame rather than transition

- Auto Positioner defaults Real Time Update enabled when edit

- Auto Positioner has an Overwrite option during Import

- Auto Position export/import has a select all button

- 3D Print buttons adds to cart on website in EZ-Builder of EZ-Bits to ask community for 3D printing

- New JD project with DEMO script
Changes:

- The 3d build instructions now contain a Previous button, which can backstep through the instruction build
Changes:

- Smart Arrange is actually smart now - and fits controls in spaces between other controls. This is how I meant for the Smart Arrange to originally work, but it took me a year to figure out how to do it :)

- Sphero movement panel adds support for the Sphero Toy Robot
Changes:

- camera device accepts new ControlCommand() to StartCamera with URL

- only ask for servo fine tune profile when the project contains EZBits

- removed realtime video option from the camera device because it is no longer used

- Importing auto position frames/actions from EZB files as well as AutoPosition files. You can load Auto Position frames/actions from an actual project using the IMPORT button
Changes:

- This release includes the ability to Import and Export Auto Position Frames and Actions. This allows you to share between projects and with each other.

You will find the option in the Configuration window of the Auto Position control
Changes:

- ez-script encoding for strings is not limited to 7-bit ascii standard. Meaning values above 127 can be stored within a string. Although this is possible and occasionally used for UartWrite($string) or i2cWrite($string), the recommended method is UartWrite($val1, $val2, $val3, ...)

- updated JD project to use correct IP address
Changes:

- ez-bit library sync performance enhancement

- updated JD project

- few GUI enhances and minor changes
Changes:

- Variable Watcher has a View As Hex to show values as hexadecimal. Also shows the length of a string in a new column and data type


User-inserted image
Changes:

- Added Dynamixel v2 protocol support for XL-320 and Pro servos (used in mini-Darwin). AXxx are for protocol 1 and AXVxx are for protocol 2.

- Added diagnostic report control for helping diagnose ez-b v4 wifi connection issues on hp/Compaq computers (Add Control -> General -> Diagnostic)

- RGB Animator includes a utility in Settings for changing the i2c address

- New first time user welcome message that introduces the online tutorials
Changes:

- Enhancement for the Dynamixel Connection which fixes an issue of "Dead spots" in the servo position range


For Dynamixel Connection instructions, please consult this help file: http://www.ez-robot.com/Tutorials/Help.aspx?id=201


Tested a bunch of dynamixel servos with this ez-script code:

Code:


:loop

$position = 50

goto(SetPosition)

sleep(1000)

$position = 100

goto(SetPosition)

sleep(1000)

goto(loop)



:setPosition

servo(ax7, $position)

servo(ax4, $position)

servo(ax5, $position)

servo(ax6, $position)

servo(ax3, $position)

servo(ax18, $position)

return


Changes:

- added create snapshot popup if model has been changed in 3d designer

- updated url of firmware help video for ez-b v3

- highlight last opened folder button when opening a project

- better error logging in ez cloud

- more details when no apps found in ez cloud

- better activity messages in ez cloud
Changes:

- no longer wastes resourcse by displaying the "view robot" in 3d (takes too much memory and cpu). now displays the static image instead of 3d rendered assembly

- uses a higher resolution for wallpaper and robot images

- saves designer background for use in auto positioner edit modes
Changes:

- select mobile default control when saving to cloud
- build instructions hides port control when completed
- prompt for text (used by auto position, etc) now accepts spaces again
- new example project for Six with additional arm
Changes:

- Project file change for caching ez-cloud settings (i.e. category, filename, etc). Makes resaving to the cloud easier

- Fixed 3D Designer and projects to include "Camera" instead of i2c port

- build instructions includes an image of the ezb which highlights the ports to connect

User-inserted image
Changes:

- maximum 100 audio files per sound board (instead of 50)
- corrected Revolution Projects to instruct Camera connection to Camera Port (not i2c port)
- fixed soundservo and microphone controls giving exception error
Changes:

- build instructions will change the view based on the location of the bit being added

- Cloud apps will include a Delete button on all private apps

- display the board summary page that has relevant data

- updated project files (Six, Roli, JD)
This updates the 3D Designer and Instructions with the ability to customize background image, as well as a few performance and bug fixes.

Changes:

- Ability to customize 3D Designer background image (do so in 3D Designer Settings Tab)

- Servo Positions do not allow Min to be higher than Max and vice versa

User-inserted image
This update fixes two bugs from the last version and includes newer example projects for Revolution Robots.

Changes:

- Controls that require microphones will not error on computers without microphones

- new revolution example projects with more mobile buttons

- custom graph hides the config button which created an error
This is the first to a few big releases as we prepare for Revolution and the iOS App.

Changes:

new ez-script commands:
- appendarray()
- clearvariables()
- dumpvariables()
- getcontrolvalue()

servo fine tune

new control: Graph (under scripting)

Servo Profile (so you fine tune servos per project and save them. Located on the top menu Project tab)

Enhancements to multi-threading for a more responsive interface experience

EZ-Robot 3D Instruction Re-Order functionality. Allows you to specify the order of the 3D EZ-Bit assembly in the Instructions view
This release updates a header that RoboRealm has requested for with the HTTP image request.

Changes:

- HTTP Image content-type and content-size header added

*RoboRealm has a page on integrating into EZ-Builder here: http://www.roborealm.com/help/EZRobotVariables.php
You've been asking for AR Parrot Drone v2 support - so here it is!

Changes:

- AR Parrot Drone v2 Support, including Video
- Performance and reliability additions to AR Parrot Drone v1
- Memory enhancements to EZ-Builder
- Joystick performance enhancements
- EZ-B v4 scanner improvements to remove false positives


This update includes a Firmware Update for the EZ-B v3 and a serial terminal for the EZ-B v4.

Changes:

- Serial Terminal for EZ-B v4. Allows you to use the EZ-B v4 UART/Serial Ports as a terminal.

- EZ-B v3 firmware fix for PWM (http://www.ez-robot.com/Community/Forum/posts.aspx?threadId=5638)
This release is quite minor but recommended...

Changes:

- New camera tracking feature for AR Parrot Drone, will track UP and Down. Setting can be configured in the Camera Control Configuration screen under Movement Tracking.

- Microphone Export To Sound Board updated to use new Audio Compression from last version

- When loading projects with EZ-Bit v1, the prompt now provides a method to Skip Syncing EZ-Bits


Why would you want to skip syncing ez-bits?

Well, if you load a project with EZ-Bit v1 files, the new v2 isn't compatible. This means you will have to Skip EZ-Bit Syncing because the old v1 files will not be found. Of course, you will no longer have a 3D Designed EZ-Robot in your project. Sorry, but you will have to rebuilt the 3D design.

Good news, if your robot is built off one of our existing robots (JD, Six, Roli) then you can simply MERGE the template.

How do you merge projects?

Easy, of course :) Under the File menu is the Merge option. Selecting this will merge a project into the project that has already been opened. Follow these instructions to get the latest 3D Designed JD/Roli/Six into your existing EZ-Bit v1 project.

Before we begin, load the EZ-Bit Library Manager and Sync all available EZ-Bits.

1) Load your project that contains the EZ-Bit v1 files

2) A prompt will ask to sync. Press the SKIP button and agree to the warning

3) Now your project will load, but the 3D Robot will be empty. Let's merge the template into your project. Press the MERGE button

4) Select the Examples -> Templates folder

5) Select the project that you wish to merge (JD/SIX/Roli)

6) A dialog will inquire if you wish to import the 3D Model. Answer YES

7) Another dialog will prompt asking what controls to also import. Deselect all options, because you are only importing the 3D model.

8) Press OK

Voila - now you have the latest EZ-Bit 3D Model loaded.
This is a real big update to EZ-Builder. It includes support for the new EZ-Bit v2 format, which is more memory efficient. Sadly, previous EZ-Bits are not supported in this latest version. This also updates the audio codec for the EZ-B v4 with a higher compression without quality loss. Any existing Sound Board EZ-B v4 controls will require the files to be re-added to your project.

Also, good news for the 3D Printer Community - the production design files of Revolution Robots are now included in the EZ-Cloud and supported by this version. When you load a revolution robot, you will be prompted to sync the library for the required design files.

Changes:

- memory efficient enhancements

- GUI and 3D Designer performance enhancements

- EZ-Bit v2 support with all production 3D printable design files

- New Audio Codec with higher lossless compression

- Bug fix for the Auto Position Control not saving servo port changes or allowing delete

- Many GUI enhancements

- Fix for EZ-Script i2cRead() command
Changes:

- The shortcuts to switch between virtual desktops still switch even though the EZ-Builder program was in the background.

- The Port Selector Window highlights the port in Orange

- Moved the Port Summary information to the Project Details
This update adds a new feature to the Auto Position Controls. The new feature allows you to add a script to each Action and Frame.

Changes:

- Added the ability to assign scripts to action and frame auto positioners
This update includes a new Servo/PWM/Digital port selection interface to assist with new EZB v4 users
This release updates both the Windows and Android version of EZ-Builder. All project files will need to be re-saved with this version of EZ-Builder For Windows in order to work with the latest Android EZ-Builder.

Changes:

- New Control: RGB Animator for RGB LED Block and [sku:1208]

- i2c Clock Speed configured in Connection Control for ez-b v4
This release updates both the Windows and Android of EZ-Builder. The enhancements support some additional functionality for the v4 and increase the performance of i2c on the v3. This update also includes a firmware update for the v3.

The new i2c no longer requires the AUTO|ACK|NOACK parameters for the i2cRead() function. There are significant performance enhancements to all i2c commands as well.

Changes:

- New EZ-B v3 firmware v16.5

- i2c performance enhancements on v4 and v3

- v4 support for the upcoming EZServo (will be announced this summer) <- keeping you in suspense
This released enhances the Object Tracking and Training module by allowing you to add multiple objects and enter a name of the object into the library. The objects are saved within your EZ-Builder project file as well.

Changes:

- Give trained object names for project library

- New EZ-Script Command: SleepPC() which allows you to put the computer to sleep or hibernate

- GUI responsive increases
This has a few changes to EZ-Builder, but more specifically a performance increase for the camera control.

Changes:

- Performance increase to camera control

- PWM fix for all-on when set to 45%

- Object Tracking has Learn While Tracking checkbox option
There has been quite a bit of chatter lately about object recognition and face detection - specifically with EZ-Face, which is an amazing add-on to EZ-Builder. I have taken the initiative to begin developing a object recognition integration with EZ-Builder as well, with special thanks to all of the people who have been contributing to the EZ-Face project.

That being said, this update to EZ-Builder introduces a beta object training and detection system. The system does not currently save the objects that you have trained or allow you to give them names. That will all come soon once I spend some more time with it. This release is a demo of what is coming in the next few weeks.

The EZ-Cloud will soon be a repository for learned objects as well. This will allow everyone to share objects and people across the world. I am really excited with the possibilities that object recognition and training will enable your EZ-Robots. Well, on with the show!

1) Download and load your copy of EZ-Builder
User-inserted image


2) Switch to the Project tab from the top menu
User-inserted image


3) Select Add Control and select the Camera Tab. Add the Camera Control to your project
User-inserted image


4) Select and start Camera from the Device tab
User-inserted image


5) Chose the Tracking tab and select Object Tracking Checkbox
User-inserted image


6) Now select the Object tab
User-inserted image


7) Press the Train button to open the training window
User-inserted image


8) Select the top left area that you wish to train and select the bottom right of the selection.
User-inserted image


9) Press the Train Selection button. The training will begin immediately. Begin rotating the object within the selected area slightly to train different angles.
User-inserted image


10) Once the training has ended, it will be detected in the preview window
User-inserted image


11) Close the Training Window and now you will be able to see objects that you have trained
User-inserted image
This update release of EZ-Builder for Windows includes a few updates and enhancements. In particular, there is a new control for the WowWee MIP Robot, and many new ControlCommand() for that robot as well. This new control works with the EZ-B V4 - and is the first control to use the UART Peripheral Expansion Port.

Changes:
- Added support for Wowewee mip
- updated scripting manual for examples about assigning commands to variables (i.e. ReadADC())
- fix for uartWrite() which is compatible with the new ez-b v4 protocol
- Control changes for RGB Eye Module, which will be on the store soon
There was a report of servo twitching in the v16.3 firmware - which I had trouble replicating. However, I was able to add a little bit of smoothing to the servos which should hopefully solve the problem for those who experienced it. This update is a firmware update for all users of the v3 and includes a smoother servo algorithm.

Changes:
- EZ-B v3 Firmware 16.4
- Android App Update
*Warning: This update includes a firmware update to the EZ-B v3.

This is an update to the EZ-B v3 firmware in preparation for shipping the v4. As you know, the v4 has amazing bandwidth and super low latency of all asynchronous events (i.e. streaming video, streaming audio, commands, etc.). The bandwidth of the EZ-B v4 is 6.66 mbps, which is a kabillion times faster than the 9600 bps of EZ-B v3. The EZ-builder and EZ-SDK had filters which prevented too much data from flooding the communication channel of the EZ-B v3. Well, I have learned a thing or two while designing the v4.

The communication protocol between the client and EZ-B has always been very optimized and efficient - that was never a concern. However, how the EZ-B internally processes and buffers the incoming commands was improved. While designing the v4, I took advantage of the ARM CPU's many DMA channels. DMA is the Direct Memory Access feature of full featured processors; even found on in your PC. With DMA, the processor does not need to use expensive program instructions to perform simple tasks between Peripherals (hardware) and Memory. The EZ-B v4 has 8 DMA channels actively operating to buffer data between peripherals and the memory... This allow the main program to use it's impressive 120mhz processing speed effectively.

What does this have to do with the v3? Well, the v3 is a very simple and (forgive me) old school microcontroller. This old hardware does not have DMA, so the main program needs to handle both peripherals and command instructions - sharing the total processing speed of only 40mhz.

A while ago, I had an interesting idea - of how to take advantage of the hardware interrupts of the EZ-B v3's microcontroller to simulate a DMA style input buffer... Well, guess what? It works!

The benefits to the v3 having this custom software DMA faux input buffer is EZ-Builder no longer requires a communication speed filter. This also means far more responsive commands. During tests last night, Jeremie was changing colors of a BlinkM RGB LED over I2C while running a 12 servo Auto Position Script. With the previous 16.0 firmware, the BlinkM color changes were twitchy and laggy. With the new improved firmware 16.3, the responsiveness was very noticeable.

Also, those who use Ping and Sharp IR sensors will notice a dramatic performance difference!

There have been a few other changes in the latest v3's 16.3 firmware... However, these are changes which are internal to the operation of the EZ-B v3 for compatibility with the upcoming v4. Although there are no "new" features to the EZ-B v3, there are many reliability and performance enhancements - that I am certain you will notice.

The biggest change to this update is also the communication protocol. In order to make room for the new EZ-B v4 commands, the protocol needed to be reworked a little - do not worry, it's still as efficient as always :). This does mean that the Android App will also need to be updated in order to work with this new firmware 16.3. I'll post the Android App update later this evening.

Changes:
- new command: GetADC12()
- new command: checkForUpdate()
- fix for $array[$x] support
- SDK supports 12 bit ADC
- all tracking types display more than one object returned but will only use the largest detected object
- support for three UART ports on v4
- removed support for v1 file format
- removed TCP password for v4 compatibility
- removed TCP EZ-Builder Command Server which allowed EZ-Builders to be chained together for v4 compatibility
- display variable arrays in form varaiable watcher
- EZ-B v3 Firmware v16.3
Windows Changes:
- i2c speed improvement
- new EZ-B v4 command: i2cClockSpeed() allows you to specify the clock speed of the i2c interface
- EZ-B v4 support for two UARTs

Android Changes:
- Compiler supports the new EZ-Script arrays
- Compiler supports SendUDP()
- Compiler supports new command: i2cClockSpeed()
- Compiler supports two EZ-B UARTs
Changes:
- Joystick no longer attempts to restart if joystick driver goes away (i.e. disconnected)

- No threading for "Send Only" commands on BlueTooth connection because EZ-B v3 cannot keep up with the speed of commands being sent. This was causing an issue with the i2c peripherals specifically
Changes:

- new EZ-Script command: SendUDP()

- Attempt at preventing controls for people with increased DPI/Text Size from slowly moving down the screen

- Camera Engine performance enhancements and uses a little less memory

- Fix for empty string variable in new EZ-Script compiler (i.e. $variable = "" )
This new release has a few enhancements for EZ-Builder for Windows. This also has a huge change to the EZ-Script Compiler Cache. What I had done is created a pre-compiled cache of the EZ-Script operational codes. The cache is updated every time you edit an EZ-Script, or load a new project. This provides a significantly noticeable improvement to any actions that use EZ-Script. This includes Custom Movement Panel, WiiMote, Joysticks, etc..

Changes:

- Pre-Compiled cache of EZ-Script

- New camera command for ControlCommand(): ClearLastGlyph (i.e. ControlCommand("Camera", ClearLastGlyph)

- Array reference by variable fix (i.e. $Variable[$n] )

- Fine tune adjustments to the Face Detection and custom HAAR object detection algorithm

- EZ-Script commands DefineArray and FillArray will create an array that now displays values of each location in the Variable Viewer. If you are an array user, you'll see :)
This release updates both Android and Windows versions of EZ-Builder. It is a recommended update to sync between the two. The Windows version includes small enhancements to the EZ-Cloud interface and an enhancement to the Mobile Interface Builder. The Android version includes support for the Image Button type of Mobile Interface Builder.

Download both installations from: http://www.ez-robot.com/EZ-Builder
This release includes a few new commands, including a new control for the Mobile Interface Builder.


Changes:

- Mobile Interface Builder now has an Image Button, which allows you to add an image to use as a button. There are two states for the button as well, for running and stopped scripts.

- New EZ-B v4 support for UART Peripheral Adapter (UARTInit(), UARTWrite(), UARTRead(), and UARTAvailable())

- EZ-Cloud sorts Public apps by latest modified date
This update features some enhancements to the EZ-Cloud browser.

Changes:

- EZ-Cloud browser scrolls the entire window, including settings

- EZ-Cloud App List is loaded one by one as they are downloaded
This is an awesome update, I hope. It has an enhancement to the performance and memory usage of the Camera Control. Also, a few more updates to how the EZ-Cloud works with some enhancements.

Changes:

- Updated video processing library

- EZ-Cloud configuration saves the description to the file so it will re-use it

- background set for Interface Builder properly resizes to not make project huge
This release of EZ-Builder Mobile for Android includes a few enhancements to the Cloud. That is all :) It is a recommended update, do it :D
This release includes a bug fix to the EZ Cloud when selecting the Open menu, but not selecting a project when closing the window.
You will be seeing a lot of updates regarding the EZ-Cloud over the next while.

Changes:

- Cancel button works when Opening file from EZ-Cloud

- Open file from EZ-Cloud has activity display to show that it is working

- Asks if you would like to arrange the project after loaded from EZ-Cloud

- Saving to EZ-Cloud shows activity progress and includes a Cancel button
This release of EZ-Builder Mobile for Android includes the Public App Store and a new file browsing model. Similar to the Windows version, this Android version uses threading while loading the App List. There is also filtering on the public apps - because otherwise the app list is very long!

Download From Here: http://www.ez-robot.com/EZ-Builder

Changes:

- Threaded App Store List

- Public Apps Support

- Filtering for Apps on Public View

- Performance enhancements
This release updates the EZ-Cloud interface. The new interface includes a multi threaded loading screen. This means that the information for each online project load slowly - which makes the interface more responsive. Also, there are filtering details and sorting as well.

Changes:

- 3D Print Button when viewing EZ-Bits defaults to MakerBot MakerWare application (if installed)

- EZ-Cloud Saving allows specifying the EZ-B version

- EZ-Cloud Open has multi threaded loading and file filtering with search

- EZ-Cloud File Versioning is working. Every time you save a file, the history is recorded. Now you can go back in time and restore to any historical version of your saved files.


User-inserted image

User-inserted image

User-inserted image
This update includes a new control for the Dynamixel Servos which allows configuration settings - specifically to set the ID's of each servo.

Changes:

- New Control: Dynamixel Servo Configuration Tool
This release of the Android EZ-Builder Mobile includes the Custom Movement Panel and a few changes to how the projects are stored. There are also a few internal changes to increase performance on slower devices. Although, there is really only so much we can do to run on older devices - sorry :)

Download EZ-Builder Mobile from here: http://www.ez-robot.com/EZ-Builder

Changes:

- new control supported: Custom Movement Panel
This release introduces the Dynamixel AX servos to EZ-Builder and the EZ-B v4. They are supported with both Mobile and Windows. In EZ-Builder, you will now see AX01 to AX50 servo options. Those are the Dynamixel servos that are chained together and connected to the D18 port of the EZ-B v4


This version of the EZ-Builder Mobile App updates the scripting engine and adds a script monitor page. All scripts log their activity to a log file which can be accessed by the log page.

You can download the app here: http://www.ez-robot.com/EZ-Builder


This is the long awaited release of the EZ-SDK for C#, VB and C++. There are dozens and dozens of examples - and new features. I'll be creating newer examples for the v4 as we move forward and begin updating the SDK more often :)

Download: http://www.ez-robot.com/EZ-Builder
Control your robot from Android by downloading the Android EZ-Builder Robot App here: www.ez-robot.com/EZ-Builder

This version adds support for the new EZ-Script Compiler. You will need to update to this version for support of the EZ-Builder for Windows 2014.01.21.00 version



This release introduces an entire new EZ-Script compiler implementation. Behind the scenes the individual EZ-Script compilers from each control are now combined into one centralized manager. For example, if the speech recognition control compiler is executing a script, it is actually being executed in a centralized manager - this saves on resources and allows run-away scripts to be monitored by the Script Monitor.

The centralized manager can be monitored by the new Script Monitor control... Found in the Scripting category of EZ-Builder.

This doesn't seem like much of an upgrade, but it actually is quite a huge upgrade. There is also speed improvements to the way the EZ-Script compiler works.

Changes:

- new control Script Monitor (under Scripting)
This release continues to add new feature support for Android EZ-Builder Mobile. You may download the Android App from here: http://www.ez-robot.com/EZ-Builder

Changes:

- New Control: Modified Servo Movement Panel

- New Control: Sabertooth Movement Panel

- New Control: Roomba Movement Panel

- New Control: HBridge Movement Panel

- New Control: HBridge PWM Movement Panel
EZ-Builder Windows Changes:

- Speech Recognition control stops previous script if it is running in a loop when new phrase is detected

- Speech Recognition displays command output in window (i.e. Print("hello") will display Hello in the output window

- Script Manual View has zoom in and zoom out buttons to adjust the size of the text


EZ-Builder Android Changes

- New Control (Variable Watcher)

- New Control (Horizontal/Vertical Servo)

- Additional fixes and enhancements...
Download: http://www.ez-robot.com/EZ-Builder

Changes:

- Increased load time of projects

- More debug information

- Increased stability

User-inserted image

User-inserted image

User-inserted image

User-inserted image
You may now control your EZ-Robot from your Android Mobile Device! This includes both EZ-B v3 and EZ-B v4 Robots! The Android App can be installed on your Android Phone, Android Tablet, or Android Game Device. The EZ-Builder Mobile for Android Application will load EZ-Builder files that you created and save to the EZ-Cloud.

This is the beta release of the EZ-Builder Android Mobile App. There are a few known bugs, specifically with the EZ-B v3. As usual, we will continue updating the app and making it more awesome and reliable.

User-inserted image

Installation Instructions

- From your Android Device, select the download link: http://www.ez-robot.com/EZ-Builder

- Once downloaded, select Open from your notification menu

- You will be prompted to active Unknown Sources from the Settings menu. This is because you are downloading the file from our website and not Google Play or Amazon, etc...


User-inserted image

User-inserted image

User-inserted image
This release has a few updates for the mobile designer support. I am actually working on the mobile app to work with EZ-B v3 this week. It will support some but not all of the EZ-B v3 features. The app is tailored for the EZ-B v4, but there is a bit of cross-over between the two platforms.

Changes:

- Project Details displays a drop down for the default Control to load with Mobile App

- Mobile Interface Builder has some included templates. We will include more as time goes on.

- New EZ-Script Commands for EZ-B v4: GetVoltage() and GetCPUTemp()

- Mobile Interface Builder has a beta version of the Image Editor for editing your own background images rather than creating in Photoshop, Gimp or MS Paint. This app will eventually have more features.
This release has a few additions for the v4...

Changes:

- Sound v4 Microphone has a Time Stretch effect to make your voice sound like a robot
- new control for EZ-B v4 Info displays CPU Core Temp and Battery Voltage
Tomorrow is a big day for me because I'm going tubing. I meant for this release to be for December 31st, so you'll have to accept it being a day early. Oh, isn't that rough? :)

So I've been on holidays - which means more time spent on new features. I seem to be the most inspired when I am on vacation *shrug*. In this case, it's a pretty big deal to EZ-Robot users. Specifically regarding the Mobile EZ-Builder.


Mobile Interface Builder
Now everyone can make Robot Apps for your iOS or Android mobile phone or tablet - without programming! :) Introducing the Mobile Interface Builder with Drag'n'Drop functionality for creating robot apps for your mobile device!

There is a new control under Add Control in EZ-Builder located in the new Mobile category. This new control is an interface builder for mobile apps. By default, if you do not have any mobile interfaces, the default EZ-Builder Desktop #1 will be displayed. However, if you use the Interface Builder to build apps, you can specify which interface will be displayed.

*Note: You may specify which control is default displayed in the Project Details menu. It doesn't have to be a Interface Builder. It can be any control - Camera, Wii, Script, Connection, Etc.. Just specify by it's name.

The interface builder configuration menu allows you to specify a background for your robot interface. Then, start adding buttons for a variety of features. For example, there are buttons for movements, scripts, connection, camera, sliders and more. Each button actually acts as a script, so you can add EZ-Script to the button press. If your script loops, the button will turn red for when it is running. Press again and the script exits.

All of the features are testable in the Windows EZ-Builder - except the Camera view. This is because the camera view in EZ-Builder displays in it's own viewport already. It can't display in two separate places, that's just silly :)

User-inserted image

I included the demo app from the photo above in the Examples\Mobile Apps folder.

Instructions to view demo app:
1) Press Open
2) Select Examples button
3) Double click on Mobile Apps
4) Select Revolution Six with Wii


Mobile App
All EZ-Builder projects run on the Mobile version. The mobile version is compatible with Android and iOS devices. The mobile app will be released for Android in beta within the next week or two. The iOS version is developed along side the Android version. The iOS version will take longer to be released due to the Apple iTunes review process.

The mobile version of EZ-Builder does not require a computer. It is a standalone application that lets you control your robot from your mobile device.


Changes:
- New example project section for "Mobile Apps"
- Camera engine rewritten to be faster and in exchange use a little more memory
- Mobile Interface Builder
- new command ShowControl() for mobile use
- new command ShowDesktop() will display the specified virtual desktop
- Project Details specifies which default control is displayed for Mobile Apps
Bug fixes...

- EZ-Script Halt()
- Check for updates
- Script Wait
This release has GUI improvements and enhancements to the EZ-Script compiler. You should experience a noticeable performance increase in EZ-Script compile time.

I also created a custom drop-down textbox that is used in a few places. Specifically the Connection Control and Camera Control.
There was a little mishap in the last version while we upgraded to Visual Studio 2013 for compiling EZ-Builder. The Visual Studio 2013 does not include the Microsoft Deployment project type and has been replaced with Install Shield. There are plenty of bugs in the Install Shield application which caused installation issues of EZ-Builder. This release uses a new installer and is still compiled with VS 2013.

You can follow this thread for a historical reference to the Install Shield Fiasco: http://www.ez-robot.com/Community/Forum/posts.aspx?threadId=4873

There are quite a few GUI enhancements, and some speed improvements to the UI.

This release also updates the dependency to .Net 4.5
This latest release of EZ-Builder has a pretty big change. We have upgraded to Visual Studio 2013 and a bunch of things have changed from VS 2010. Let me know if you have any installation issues...

Warning: This is a very beta installer. Only upgrade to this version if you are volunteering to help debug the installation issues

*Note: You must uninstall the previous EZ-Builder version before installing this
1) Visit Control Panel
2) select Programs and Features
3) Select EZ-Builder in the list and uninstall
4) Reboot
5) Install the latest version

Changes:

- Updated GUI with flat buttons

- Connection control has Scan and Web config buttons for EZ-B v4
You're getting more and more excited about Revolution showing up on your doorstep, right? Well while the new manufacturing facility is taking care of their responsibility, I keep adding new features for you :)

Changes:
- Assign title images when saving to EZ-Cloud

- Auto Positioner has faster and more responsive communication to EZ-B v3 and v4

- Transmission to both EZ-B v3 and v4 is a little bit faster :)

- New Sound Servo EZ-B v4 control. Moves servos for any audio being sent through EZ-B v4 audio stream

- Soundboard EZ-B v4

- New Audio Stream codec for EZ-B v4 built into EZ-Builder

- Camera control GUI enhancements to Start/Stop and a few other buttons

- New EZ-Script command StopEZBAudio()

- EZ-Cloud fix for opening Public Files

- Audio Recorder for EZ-B v4 has Repeat option and can change pitch of your voice

- Audio Recorder for EZ-B v4 allows exporting audio samples to the SoundBoard EZ-B v4
This release includes updates to the EZ-Cloud in preparation for the EZ-Robot App Store. This version is a enhancement to the EZ-Cloud which includes photos, more details and version history of files.

The future of the EZ-Cloud will include an App Store similar to your mobile phone. With Revolution, there will be more App categories, free, tutorial and paid apps. Because remember, all projects designed in EZ-Builder can now be run on your mobile device :)

Changes:

- EZ-Builder support for EZ-B v4 now queries the 96-Bit unique identifier hardcoded in each EZ-B
- EZ-Builder supports new EZ-Cloud with images, descriptions and version history
- Wii Control has script for Start/Stop tracking

*Note: Only public files with descriptions are displayed in the EZ-Cloud as of this release!

User-inserted image

User-inserted image
This release includes updates for the new file format which is compatible with the upcoming iOS and Android mobile EZ-Builder App.

Any projects saved in previous versions of EZ-Builder will not work with mobile apps. There will be future updates for mobile support of EZ-Builder over the next bit...

To update to new version of file format, simply load your project in this version and save it. :)
Hi! This is a release with a few of the new features available on the [sku:40].

- Speech control section is now renamed to Audio
- New Audio Microphone control. Streams recorded audio from your PC microphone to the [sku:40]
- Camera Control added support for EZ-B v4 Camera
- Connection Control with support for EZ-B v4 Camera
- Soundboard v4 support for streaming WAV/MP3 audio to [sku:40]
- EZ-Script commands for adjusting Volume of [sku:40] speaker
- EZ-Script command for speech synthesis that speaks out of the [sku:40]
This release updates the Cheat Sheet tab when editing script. There have been questions lately on how to control the Roomba or RoboSapien, etc.. And this release contains examples within the Cheat Sheet tab.

I feel the next release we will rename the Cheat Sheet tab to "Auto Code" or something - because that's pretty much what it is.

The Cheat Sheet tab creates available code based on the project configuration.
This release has a few updates for the new [sku:40] support. As well as a bug fix for the virtual desktop support. It would appear our friend Dave has been hard at work on his Full Size B9 Lost in Space EZ-Robot and found an interesting bug! Don't worry dave, here's the fix!

Changes:
- Fix for loading projects with duplicate controls when using virtual desktops
- Auto Position Fine Tune now allows math to the servo positions so you can easily upgrade to the v4 servo positions (180) from the v3 (100).
This update has a few changes in the backend in preparation for the [SKU:40]

It's a recommended update because there are a few general performance enhancements.
This release fixes a bug that our community member Dave found with the Wall Paper :) Good work Dave! Now you can get back to rock'n that EZ-B powered B9 robot!

There are no other changes in this release
This release has a few backend performance updates but not a lot of new functionality. I would recommend downloading this.

Changes:

- EZ-Bits store product id. Soon you will be able to press the "Buy" button and bring you right to the buy page for the bits

- AutoPositioner can select bitmap if not using the 3D designer. The Change Image button is located beside the Save button on the Config form
Screen real estate has been a popular discussion in the past. Because EZ-Builder is a graphical control software, the controls can take up large amounts of screen space. There was an option that I had implemented a few months ago called Advanced and Basic view. Being an EZ-Builder user myself, I have never really felt it was a solution.

Today we introduce Virtual Desktops built into EZ-Builder.

Changes:

- Removed Basic/Advanced view

- Add Virtual Desktop feature. Change desktops under the Window menu tab, or press F10, F11, F12. Additionally, you can move existing controls to other desktops by right-clicking on the Title Bar and selecting the destination desktop.

- Auto Position controls hide the servo ports unless the Checkbox is checked. Making it much easier to move servo positions.

- Configurable Wallpaper per project. Using the Project Details button, you can now select wallpaper for your project.


User-inserted image
I finally got around to looking into the Twitter issue. Seems they discontinued the v1 api and force everyone to use the v1.1 api. The differences are substantial so EZ-Builder was not compatible with their update. This release includes the Twitter fix...

Changes:

- Camera Control has a two new variables for the object location quadrant

- Twitter fix for v1.1 api. Now updates Tweets and Images. Tweets use the Tweet() EZ-Script command. And images can be uploaded using the Camera's ControlCommand() syntax. Look at the Cheat Sheet tab when editing EZ-Script for example syntax.
Here are a few new features...

- New ControlCommand() for Camea control: CameraStart, CameraStop

- New Example Project for CameraStart/CameraStop in the Examples folder

- New ControlCommand() for Speech Settings. Allows you to change the speech settings using ControlCommand.

- New Example project for Speech Settings ControlCommand() in the Examples folder

- Change to custom movement panel. The Speed script will only execute when the speed has changed, it will not execute everytime a direction is specified. This will also execute if SetSpeed() EZ-Script command is called from anywhere in EZ-Builder.

All of these new ControlCommand() are available in EZ-Script by looking at the Cheat Sheet tab.

Enjoy :)
This release is a speed increase and allows versioning of EZ-Bits. It is a very minor release, but recommended.
Changes:

- Texas Instruments Chronos Watch ez430 now allows variables to be assigned to accelerometer values

- new command: REPEAT()

- new command: REPEATUNTIL()

- Number Selector sensitivity is adjustable in Preferences Menu

- New function example project for REPEAT() and REPEATUNTIL()
This release pretty much only focuses on some new EZ-Script commands, additional manual help, and some better error messages.

Changes:

- Example projects under "Function Examples" for all new functions

- Better description of compiler error messages

- New command: FromBinary()

- New command: GetBit()

- New command: SetBit()

- New command: ToBinaryString()

- New command: DefineArray()

- New command: GetAsByte()

- New command: ToHexStr()

- New command: AppendArray()
This release contains a few fixes for the new compiler. Thanks for all the testing :)

Changes:
- Sketchpad points to help when question mark is pressed

- SendSerial() fix
This release has a few enhancements and a new feature - which I think is pretty neat :)

Changes:

- Configure which sensor data is displayed in Sensor Stream Server

- new Video Player ControlCommand() for FullSreen and Restore Screen mode

- Variable data are now cleared when a new project is loaded

- New control SketchPad. Use ControlCommand() parameters to custom draw on the control. Use the control for custom room mapping. Or robot path history. Or face expressions in full screen mode. Or or or :) ... There is an example of how to use it in the Examples folder

- i2cWrite and i2cRead fix. Look at the i2c example for BlinkM in the Examples folder

- Memory Garbage collection forced for 3D Robot Designer. If opening and closing the 3D designer dozens of time in a session with lower memory PC would error.

Screenshot of the new SketchPad Control
User-inserted image
This release contains a rewrite of the EZ-Script compiler for more features, functions, scientific math and compliance. The old compiler allowed you to embed variables within a quoted string ( i.e. "Text: $variable" ). However, that wasn't a compliant syntax to be similar with other programming languages. The new compiler requires the strings to be concatenated (i.e. "Text: " + $variable). This will aid in education and readability.

There is also a slight speed increase in the compiler. And many new functions for Math and Logic.

A really neat add-in is a new control for the Apple Mobile Device App called FNI Co. Sensor Streamer. There is both a free and paid version available. The control can be found under the Misc category of Add Control. The control will set variables to the values of parameters from the application. This includes sensors such as Compass (teslameter), Accelerometer, Gyroscope, GPS (longitude, latitude), and touchscreen. It's a really great app! Download App: https://itunes.apple.com/app/sensor-data-streamer/id608278214?mt=8

Changes:

- New EZ-Script compiler

- New Control: Sensor Streamer Server

- New memory Variable Manager

- File->Open dialog remembers last open location
To Use

1) Load EZ-Builder
2) Select Projects tab from top menu
3) Press Add Control
4) Select MISC tab
5) Add the control "Sensor Streamer Server"

The control will default to port 1111. Configure your Mobile Device to connect to your computer's IP Address. The control will display the Accelerometer, Gyroscope and Compass Direction. The Config menu will allow you to assign sensor values to EZ-Script variables. The Sensor Stream Server will also control servos. This can be configured under the Config menu of the control.

User-inserted image

User-inserted image
Changes

- Auto Positioner Controls now have Delay, Steps and Servo Speed

- New EZ-Script commands (PullVar & PushVar). More information coming soon :)

- New Control: Video Player. Found under Misc. This control will play videos by the ControlCommand() syntax

- 3D Viewer has adjustable Light Color. Select from Preferences Menu
Here is an update to EZ-Builder with some small changes... The biggest is regarding the MMA755 Accelerometer.

Changes:
- removed NeuroSky MindWave control

- Firmware updater logs to file in My Documents\EZ-Builder\Logs

- Better lighting in the 3D Viewer (designer, instructions, Bit Builder)

- MMA755 has script timer and variables

- new board image in controls help for EZ-B v3 Mini
More updates for Revolution Beta...

Changes:

- sorts EZ-Bits by name when displaying category during Design and Library Manager

- few other small interface enhancements of formatting, spacing, etc.. Visual changes.
Due to the evacuation and flooding of our city, I've had some free time to code...

Changes:

- New HBridge PWM Movement Panel. Combines your HBridge and PWM settings into one.

- Joystick control now supports speeds and smooth turning, etc. Currently the HBridge PWM control is the only supported for speeds. Soon the modified servo, Roomba and AutoPosition will be done.

- EZ-Bit Sync utility now displays download progress.

- New EZ-Script command SetSpeed() supports Left and Right wheel speeds

- New EZ-Script command SetSpeedLeft()

- New EZ-Script command SetSpeedRight()

- New EZ-Script command GetSpeedRight()

- New EZ-Script command GetSpeedLeft()

- Debug popup smoother

- Project Open dialog includes screenshot, information link and user defined image


Here is a video demonstrating the smooth turns and control using an analog joystick and HBridge PWM on the rover...


Hi! This is a new release of EZ-Builder with some neat enhancements and a few new features. I would recommend upgrading to this version :)

Changes:

- EZ-Bit Library displays progress bar when syncing
- EZ-Bit will auto sync when loading a project when you do not have the files and answer Yes to sync
- ADC_WAIT(), ADC_WAIT_BETWEEN() and DIGITAL_WAIT() now accept optional parameter for poll interval from EZ-B
- Projects can contain details, author, links and thumbnail. Found under Project, My EZ-Robot, Details
- save project details
- save project thumbnail image
- prompts to open video link when open project
- auto arrange checkbox on open project
- info button on project list in file open dialog if project contains link
A few small updates for EZ-Robot Revolution Beta...

Changes:

- New EZ-Script command Min()
- New EZ-Sctipt command Max()
- Auto download EZ-Bits when opening project
- Auto download uncertified EZ-Bits when opening project
This is a very minor update for EZ-Builder Revolution Beta.

Changes:
- Search in File Open dialog will search selected folder for filename or Notes of a project. Very useful for finding Examples.
This release is an update to fix and add new functions to the Revolution Beta release of EZ-Builder. Enjoy! :)

Changes:
- prompts for ezcloud account info on startup
- more noticeable information button for viewing STL files in EZ-Bits
- controls display EZ-Robot connection information under Board Image tab during configuration
- no longer warns about adding a new connection control when NEw Project is selected while connected to ez-b
- Bit Builder includes decorative parts (Not Printable) to save as STL but not printable
Thanks to Microsoft and a buggy webservice in .Net4, we were able to find a solution by recommending an upgrade to .Net 4.5.. However, that wasn't a very good solution! So I decided that we go back to the original web service method.

Changes:
- Contains the original web service from the old EZ-Builder (EZ-Cloud and EZ-Bits)
- EZ-Bit Library has a manager to delete EZ-Bits
- Updated EZ-Bit library with new Bits for JD and Six


*Note, it is recommended that you delete all of the items in your EZ-Bit Library after installing this upgrade. Then, you will be able to Sync and get the least EZ-Bits.

1) Load EZ-Builder
2) Press PROJECT from the top menu
3) Press LIBRARY
4) Select MANAGE tab
5) Press REFRESH
6) Press SELECT ALL
7) Press DELETE
8) Answer YES

Now all of your EZ-Bits will be deleted. This is good. :)

1) Switch to DOWNLOAD tab
2) Press SYNC

Now you will have the latest EZ-Bit library. Voila!
Dust off your 3D Printer because now it has a purpose. The time to change the world of robotics has begun... With EZ-Robot Revolution!

Revolution is not just a new product. It is a community of sharing, growing and learning. Most importantly, creating really awesome robotics, easily! Revolution provides an online library of 3D Printable parts (EZ-Bits), 3D EZ-Robot Designer, online storage of apps (EZ-Cloud) and brings it all together with our amazing robot control software (EZ-Builder).

Until now, the challenge with robotics has been a segmentation of hardware, software and components. EZ-Robot is the first company to successfully unite advanced robotic features, easy graphical design interface, video tutorials, reliable robot controller hardware, and now a modular platform.

Revolution is the unification of robotics!

Revolution introduces a new flexible modular platform while maintaining and supporting community creativity. This is done through a new EZ-Cloud library of 3D printable robot parts called EZ-Bits. EZ-Robot is committed to continue designing modular EZ-Bits for you to assemble beautiful and functional robotics. To support the community's creative engagement, we have integrated a 3D design feature which enables you to submit your own EZ-Bit creations.

With the support of our strong community, we will grow our library of 3D printable EZ-Bits for the world to share! Imagine the impact this moderated collection of compatible 3D printable robot parts will have on education, industry prototyping, and hobbyists.

The world is ready...

Let me be the first to introduce to you, EZ-Robot Revolution!




Project Menu
The project menu provides you with the tools to create an EZ-Robot. Add controls for custom behaviors, 3D design and 3D print your EZ-Robot parts.
User-inserted image

Examples
Projects can be opened with the File Open menu option. Here you are presented with Revolution example robots (Hexapod codenamed Six and a Biped codenamed JD). You may also browse the subfolders to load projects which provide examples of EZ-Script syntax and functions. Many more Revolution EZ-Robot examples to come!
User-inserted image

Revolution Projects
A robot designed with Revolution EZ-Bits will require the files to be cached on your computer. If the files are missing from your local library, you will be prompted to start the sync utility to download the missing files. The project will not open unless the EZ-Bit cache files have been downloaded.
User-inserted image

Downloading EZ-Bit Library
The EZ-Bit Library Sync utility will synchronize your local library with files from the server. Pressing the Sync Now button will begin the process. EZ-Bit cache files range in size from 200K to 3MB, which means the process time depends on your internet connection speed.
User-inserted image

Assembly Tutorial Prompt
When opening a Revolution EZ-Robot, an instructional tutorial prompt is presented to you. By selecting to view the assembly instructions, you will be presented with a 3D step-by-step animation of assembling your robot. You can follow along with each step while you are presented with details, such as EZ-B connections. You can view the assembly instructions at anytime by selecting Instructions from the Project section of the EZ-Builder menu.
User-inserted image

3D Animated Assembly Instructions
By choosing to view the assembly instructions, you will be presented with a new window. In this window, you are given control to browse through steps of the EZ-Bits with detailed instructions. The instructions tell and show you where to connect the EZ-Bit and what ports to use on the EZ-B.
User-inserted image

EZ-Robot 3D View
Once in the project, the EZ-Robot control gives you a 3D view of your robot. In this example, the AutoPosition control comes in handy to create GAITs and movements for your robot.
User-inserted image

EZ-Robot 3D Design
When it's time to create your first EZ-Robot, the 3D Design mode makes it easy! Use EZ-Bits from the library to build your robot. Each EZ-Bit will have a property tab which allows you to specify a friendly name and EZ-B connections. This information will be used throughout your robot configuration and to generate the auto assembly instructions.
User-inserted image

EZ-Bit Designer
Adventurous robot designers can create custom EZ-Bits. By importing the STL files generated in your favorite 3D design software, you can assemble all the parts into one EZ-Bit. Each STL file is saved within the EZ-Bit and can be used for 3D printing.
User-inserted image

EZ-Bit Profile
Before saving your EZ-Bit, you are prompted to complete a simple form. Give your EZ-Bit a title, detailed description, and 3D printer settings. This information will help you and others around the world 3D print and use your contribution with their EZ-Robot!
User-inserted image

3D Printing and Community 3D Printing
The information button on each EZ-Bit will provide you with access to the raw printing files. From here, you can launch your favorite 3D printing software to bring the EZ-Bit into physical reality. For those without a 3D Printer, the Community Print option will come in handy! Coming soon, the EZ-Robot Community Print Network will help you locate someone to 3D print the parts for you. Additionally, a selection of EZ-Bits will be available for purchase in the store.
User-inserted image
In this update, we introduce an active Debug Window and a Port Summary Control. The Port Summary Control will be used to summarize your connections. When you use the Port Summary, every control that displays an image of the EZ-B will now default to a list of your connections for easy reference. You can easily keep track of peripherals connected to your EZ-Bs :)

Changes:

- New control: Port Summary

- New Active Debug Window. Pops up to display debug information rather than occupying screen realestate with the old Debug Control.

- All servo settings default to their center location of 50. This way, when specifying max and min, you do not need to worry about damaging anything by having the servo move past it's structural limit.


User-inserted image

User-inserted image
This release hosts 2 new features that I am excited to introduce. Together, they will allow your robot to switch projects on demand without dropping connections. This is a great feature because you can now have different projects with different functions. Switching between the projects will make your EZ-Scripts and control configurations easier to manage.

For example, you can create a Speech Command to load a project that is configured to follow a red ball. Then, you can have another speech command load a project that is configured to follow your face. This will be much easier than using ControlCommands() everywhere within a single project.

I recommend reading the LoadProject() syntax usage in the EZ-Script manual before using. :)

Changes:

- New EZ-Script command: LoadProject()

- Connection Control does not drop existing EZ-B connection when new project is loaded. This allows smooth transitions between projects using either LoadProject() or the manual File Open Dialog.


That is all :) ... May not seem like much, but the impact is quite huge to those with complex EZ-Robots.
This release introduces two new features which have been occasionally popping up in the community.

Changes:

- New EZ-Script command: WaitForChange()

- New EZ-Script command: Pause()

- New ControlCommand: Resume

- New feature "Merge" to merge two projects together

- New project examples for WaitForChange and Pause/Resume

User-inserted image
There has been a lot of talk recently about adding conversational A.I. to your robot. Many years ago, I created a learning A.I. called Synthia. I appreciate the interest in Synthia, however she'd require a bit of work to go public. So, a few of you have mentioned PandoraBots - which is an online bot hosting service.

This release introduces a PandoraBot Control, found under the Speech category when adding controls. Please use the ? to read details on how this control works, and the issues with speech recognition. There is also an example project you may load to review functionality.

If you create your own Bot, you may also add speech commands that are specific to your robot. If you review the example that I had included, you will notice that "Move Servo Left" will execute EZ-Script. Any response that includes EZ-Script can be surrounded by [ and ]. The help page will explain more :)

Changes:

- New Control: PandoraBot Artificial Intelligence


User-inserted image
This is a recommended update. It contains a few enhancements to the GUI and a couple of interested new features.

Changes:

- Performance increase for Multi Color tracking. You probably won't notice the increase, but it's there. It's a very small enhancement.

- ControlCommand() for Multi Color Tracking options. Check the Cheat Sheet tab when editing scripts to see the available ControlCommand() for the Camera Control.

- Servo Summary generates EZ-Script for the specified positions. This is great if you use the summary control to move your ez-robot's servos into init position. You may now press the Copy button and it generates EZ-Script with Servo() commands. Finally, paste the contents into an EZ-Script control and voila!

- Script Editors display Clipboard command shortcuts in a top menu (called Edit). This is because some people have asked how to copy, cut, paste who didn't know there are generic windows shortcut keys.

- A few GUI changes. Button resizes, default form sizes, etc.. Just esthetics enhancements.

:)
We wouldn't have the world's leading robot control software without innovation. Today, we introduce a fantastic new feature that will leverage your EZ-Robot's ability. Are you ready? :)

Changes:

- Fix for some windows installations not continueing speech recognition after speaking (i.e. SayWait(), Say())

- Firmware Update displays additional logging information for debugging users who don't follow the tutorial to use microsoft native bluetooth stack

- Smart Motion Delay. Pauses specified number of frames between detection. Very useful to maintain motion tracking by not attempting to detect during camera movement. Specify the number of frames to delay to allow your camera to move.

- Camera Overlay has a larger default font. Right Click, Add Overlay on the Camera Preview image and the default font is larger.

- Frame Speed is displayed in Tracking Speed Adjustment. You can adjust the frame speed with the slider. Now the frame speed is displayed in ms. You can also diagnose how fast your computer is at processing different tracking methods.

- *Drum Roll* Multi Color Tracking




Introducing Multi Color Tracking!
This new feature allows you to tune into a specific color for tracking and recognition. You can add as many colors as you wish, giving each a unique label that can be determined by a global variable.


The new Multi Color Tracking Type can be selected from the Tracking Type list
User-inserted image


The Multi Color tab will display the selected color ranges and their name. You may also Add or Remove colors from this screen.
User-inserted image


When editing a color, you can use the color wheel to isolate a specific range. Then use the Min and Max values for Saturation and Luminance to isolate the object color. When creating your own color filter, you will need to ensure no other objects are detected within the color range you specify. It's tricky, but start by isolating the color wheel first. Then slowly move the Min and Max values toward each other until only the object is recognized.
User-inserted image


I created an Example Project... Examples -> EZ Script - Examples - Camera - Multi Color. This contains isolated colors for a Stop and Go sign. The code below will Stop() and Forward() your robot based on the color it detects. The signs are below in this post.
User-inserted image


This is an example of the robot moving forward by recognizing the green go sign. Notice how the FORWARD button is highlighted on the Modified Servo Movement Panel.
User-inserted image


This is an example of the robot stopping by recognizing the red stop sign. Notice there are no highlighted directions on the Modified Servo Movement Panel.
User-inserted image


Stop Sign
User-inserted image


Go Sign
User-inserted image
I'll never get used to writing 2013... On every release update, I write 2012 and have to correct it. I must be stuck in last year :)

This release is a minor update for new camera module back-end code in preperation for a major release. This is a recommended update, as it has many performance enhancements to the camera tracking.

Changes:

- When choosing multiple servos for a control, a check is done to ensure the same servo isn't selected twice

- WebServer displays port in URL for Camera Image

- Camera Motion Tracking Skip Frame option update. This allows your robot to move before checking for motion and acting crazy

- Camera tracking response time increase and uses less CPU

- Smoother Camera Overlay update
I was trying to debug a serial LCD, and then another serial device when I realized there aren't many good Serial Terminals available. So I made one, and here it is in this latest release of EZ-Builder.

Changes:

- New Control: Terminal


User-inserted image
Sometimes... Something strange happens in my head... Something pops in and says "Dude, try this".

If that voice/vision wasn't telling me how to make EZ-Robot any better, then I would be alarmed.

In this case, we are all safe! Over the past while, I had been considering a few options to increase the tracking speed and response of the Camera Control. I would try something, and it would partially work. I would try something else, and it would break. Last night, something clicked!

This release increases the response of the camera control with the EZ-Robot Wireless Camera. It also decreases the CPU usage! A few new features have been added, including an adjustable framerate. The underlying Control framework has been rewritten, thanks to a lengthy plane ride today.

I hope you enjoy these new enhancements :)


Changes:

- Smoother camera control video and uses less resources

- Super fast video response with ez-robot wireless camera

- Adjustable capture speed framerate

- Windows 8 fix with closing some controls on slower AMD processors

- Camera control initializes all user defined variables when control is loaded

- JPEG Streaming bug fix in Camera Control when viewing an image by an HTTP:// source

- Floor map turn resolution increased

- Another attempt at preventing controls from creeping on low resolution displays

- Sleep() ez-script command has increased resolution

- Fixed some EZ-Script manual entries


User-inserted image
This is a minor release with a few enhancements and a bug fix :)

Changes:

- New EZ-Script math commands (aCos, aSin, Sqrt, Power)

- Scrollbars move to top when saving which prevents controls from creeping up on lower resolution displays or large projects

- floor map degree accuracy increased

- vuzix augmented reality glasses displays graphical position


Enjoy :)
This is a minor-release that contains a few fixes and updates... However, nothing too spectacular :) It is a recommended update because of the fixes. Enjoy!

Changes:

- Firmware Updater resolves issues updating from old firmware to latest

- New EZ-Script command: GetPWM()

- ScriptManager has editable window name

- When editing scripts, Cheat Sheet now displays all Script Manager options

- HBridge movement panel highlights current direction

- Some controls had text being cut off from the icon in the number drag selector (ie AutoPosition and Virtual Robot) now fixed

- ScriptFlow has refresh button

- ScriptFlow saves with project

- ScriptManager has better management for moving UP/DOWN scripts
I had a long wait on a plane and decided to whip out a few more features from my little brain. Hope you enjoy this latest release of EZ-Builder :)

Changes:

- The Cheat Sheet when editing EZ-Script is way cooler. It displays every feature for every control, including audio tracks in soundboard, positions for AutoPosition, and more! So you simply only need to click on the ControlCommand() and it will insert into your script. Voila, some kinda magic!

- New Control: Servo Summary. This is an all-in-one servo control that displays position and speed. It also lets you adjust. It doesn't work like a Horizontal or Vertical Servo Control because it doesn't perform multiple servo positioning... Because this control is literally only for display summary. It's pretty wicked.

- New EZ-Script command: GetPWM()

- Servo Sliders display the direction for dragging as a little icon next to the position value


Decimal Change
If you receive the error, this is because your culture is not set to use a Period as a decimal seperator.

Visit the Control Panel -> Region -> Additional Settings -> Change decimal from a , to .

User-inserted image


Servo Summary
User-inserted image
This is one of my most proud releases of EZ-Builder yet! When we advance the functionality of the EZ-Builder Robot Control Software, sometimes your projects will need to be updated also... This is one of those updates :)

The major change in this update is the Servo Configuration in all controls that use Servos. All Servo Controls now support Multiple Servos! This is a very unique feature to EZ-Robot and an excellent example of how innovative our product is. I'm very excited to see what amazing uses this feature will be used for.

*Note: Existing projects will need the servo ports and ranges re-selected for this update.

Changes:

- Auto Position Editor has ALT-KEY shortcuts for common used functions

- Background Images added to Auto Position and Virtual Robot are resized to decrease EZB saved file size

- QR Code Generator has a help file (when clicked on ? question mark icon)

- WaitForSpeech() displays a popup with available commands, and also displays a countdown timer

- All Servo Controls support Multiple Servos (camera, ez430, Joystick, Wiimote, Servo Pad, Servo Horizontal, Servo Vertical, Sound Servo, Vuzix, etc)

- Controls that support Mulitple Servos can also be adjusted by a ratio.

- Digital Controls display custom text instead of ON/OFF

- MP3TriggerPlay() bug fix (does not require Speech Recognition Control)

- Speech Recognition has a "Display available commands" button

- Preferences has option to hide default EZ-Robot Wallpaper

- Some of the CONFIG buttons have changed to icons instead of txt. All will eventually be changed.

- EZ-SDK has also been updated

- New EZ-Script ControlCommands to Show/Hide the available speech commands

- Relative Servo Control updated with new multi servo editor


User-inserted image

User-inserted image
This release introduces a full enhancements only :) enjoy!

Changes:
- EZ-builder can now be run in Full Screen. Look under the Options tab for Preferences

- Window tab commands for Maximize, Minimize and Restore (in case you're in full screen mode)

- Custom Movement Panel includes a script option to execute when the Speed is changed

- New Examples -> Camera -> Change Tracking Color

- EZ-Builder checks for use of Period instead of Comma for decimal values

Custom Movement Panel
User-inserted image
This release is minor and the update focus is on the EZ-Script i2c read/write commands. The i2c is normally a confusing protocol due to the addressing issues. I have created the i2c commands in EZ-Script to figure out all addressing conversion for you :)

Click here to read about i2c: http://www.ez-robot.com/Community/Forum/posts.aspx?threadId=322

Click here to locate the i2c port on your EZ-B: http://www.ez-robot.com/Tutorials/Hardware.aspx

For example, the confusion behind the i2c addressing lies in shifting the 7 bit address into an 8 bit address, and setting the LSB to 0 or 1 depending on the direction of the data. Does that sound confusing? Good, because you do not need to worry about any of that with EZ-Builder!

If you communicating with an i2c device (for example an Arduino or Compass, etc) - you may be given one of many address types....

Quote:


Device Address: 0xa0

or

Device Address: 0x50

or

Device Read Address: 0x50
Device Write Address: 0x51



The above list of addresses are all the same - surprisingly. In any other environment, you would need to understand how they are the same to know how to use them. You would need to convert between 7 bit and 8 bit of 0xa0 to 0x50. You would then also need to convert the 0x50 to 0x51. Wow, so confusing! Well, EZ-Builder makes it easy.

In fact, you can use ANY i2c device address - without needing to format or convert the bytes. EZ-Builder will figure it out for you :) You simply connect the device to your i2c port, read the manual to find the i2c address, and enter it in EZ-Builder's EZ-Script i2cWrite() or i2cRead() commands.

Changes:
- Release() fix
- i2cWrite() and i2cRead() do not need device address conversion
- Change tracking color by ControlCommand(). See below example


Tracking Color Change Command

Code:


ControlCommand("Camera", CameraColorTracking, "Red" )
or
ControlCommand("Camera", CameraColorTrackingEnable, "Blue" )


Progress sometimes means change... This release has many additional features, but a few things have changed also. :)

Changes:

- EZ-Script Variables can return boolean response during assignment (i.e. $x = (3 > 2))

- HTTP Server's Script Interface encodes script console command

- Windows 8 bug fix when stopping HTTP Server or TCP Server

- EZ-Script compiler and executor is much faster

- Variables can be increments and decremented with ++ and -- (i.e. $x++ or $x--)

- Auto Format EZ-Script feature (ALT-F). Will automatically indent code within IF, ELSEIF, ELSE and ENDIF condition

- Joystick supports 3 analog joysticks

- New EZ-SCript command: PlayAudio() and StopAudio() will play files from your local drive, rather than embedding within SoundBoard EZB File

- IF/ELSEIF/ELSE/ENDIF stack bug fix. There was a state stack issue in the compiler when creating the condition tree. It's been fixed, and now all IF statement condition trees need to be terminated with an ENDIF. See examples below.

- Multi EZ-B references have changed. No longer do you specify the board # at the beginning of the line. It was limiting and ugly - so it's been changed to be an optional parameter of the port. Example: Servo(2.d2, 20) will move servo D2 to position 20 on EZ-B #2

- HTTPGet now also receives data to a string - rather than simply performing a request (See Example -> Functions)

- New EZ-Script Command: IsConnected()

- Firmware Updater has a fix for some computers that have been returning strange results

- New EZ-Script Command: ToString() is used for sanitizing a variable to a string from an i2c read, for example.

- Many new EZ-Script examples of functions



IF/ELSEIF/ELSE/ENDIF
The IF conditioning has been changed, here are the examples..

Code:


IF (true)
print("Yes")
ENDIF



Code:


IF (true)
print("Yes")
ELSE
print("No")
ENDIF



Code:


IF (true)
print("Yes")
ELSEIF (false)
print("No")
ELSE
print("Maybe")
ENDIF


I got the year right! :)

Changes:

- QR Code now has "Not Found Script", which will execute when ever a QR Code isn't found in the list (View Examples->EZScript->Functions->Camera->QR Code)

- QR Code stores the QR Text in a specified variable.

- New EZ-Script command: SubString() extracts part of a string within a string

- New EZ-Script command: IndexOf() returns the character position of the string within a string

- New EZ-Script command: Contains() returns TRUE or FALSE if a string is found within a string

- QR Code Encoder Control. Create your own QR Codes on the fly within EZ-Builder, save, print and copy to clipboard

- Recorder displays total time, position, and number of events

- Firmware Upgrade includes more information for people who don't want to read tutorials... even after all the hard work we put into making those fancy videos :D


Examples for all new EZ-Script commands can be found under Examples->EZ Script->Functions within EZ-Builder


A note on the recorder... I have tested it with 10,000 events over 5 minutes with no errors. The size is going to be dependent on your available memory. Remember, EZ-Builder is SUPER efficient and amazingly optimized for slow processors - but memory is something we can't optimize any further. Fact is, the larger your robot project, the more memory it uses :)
Communicate with your robot with QR Codes? Only with EZ-Robot! Due to your loyal support, we will never stop advancing the world of robotics. It's our passion to make robotics accessible to everyone! This means continually developing new features, new features, new features, and more new features :)

Changes
- Camera Control now detects QR Codes!
- New EZ-Script ControlCommand() parameters for Camera QRCode detection control
- New Example to demonstrate QR Code (Examples -> EZScript -> Functions -> Camera)

Enjoy :D

User-inserted image
First release of the year :) ... Too bad it's not that big of a deal, but recommended upgrade for a few bug fixes.

Changes:

- Digital_Wait() bug fix, no longer prompts Syntax Error

- Firmware has more debug messages for ppl with issues

- GetPing() bug fix


that's all :)
Happy New Year! :)


Changes:

- New EZ-Script Command: WaitForSpeech() will wait the specified number of seconds for one of the specified words/phrases to be detected by the speech recognition

- MP3 Trigger will not unpause the speech recognition control if it was already paused before playing audio

- speech recognition culture is dynamically detected, but prefers English US Culture to be installed. The Speech Recognition only supports a select number of cultures - that is an issue you can take up with Microsoft :). Check the Debug Control for more information when loading Speech Recognition.



WaitForSpeech( timeOut Seconds, phrases )
. Pauses and waits for one of the specified phrases to be spoken.
. Returns the phrase that was spoken.
. Will return "timeout" if no word is detected in the specified timeout length.
. Example: WaitForSpeech(30, "Yes", "No")
. Example: $value = WaitForSpeech(30, "Yes", "No")



This example can be found in Examples -> Functions -> WaitForSpeech
The code below will ask the user a YES or NO question if they would like to know today's date. If the timeout is exceeded (10 seconds), then the script will repeat.

Code:


:START

SayWait("Would you like to know todays date?")

$response = WaitForSpeech(10, "Yes", "No")

if ($response = "Yes")
Say("Today's date is $date")
Halt()
elseif ($response = "No")
Say("Okay, I will keep it a secret")
Halt()
else
SayWait("Hello, is anyone there?")

goto(START)


Our EZ-Builder Robot Control Software is a masterpiece of simplicity and flexibility. Even without prior programming experience, your robot will be doing amazing things, quickly! No matter how easy we make the graphical interface, there will always be need for some programming. However, do not worry - we have made EZ-Script very, well, easy! Every new release of EZ-Builder introduces more functions to help customize your robot's behaviour. I hope you enjoy this release and the new scripting power it introduces to your robot creation :)


Changes:

- WiiMote Control displays log of button presses

- WiiMote Control has fix for Non-Nintendo WiiMotes

- Joystick Control has graphic display of analog joystick positions

- New EZ-Script Commands: GetChar() and GetCharAt() will return the character at the specified location within the string

- New EZ-Script Command: Length() will return the length of the string array

- EZ-Script Control displays execution time... We want to show it off - because it's THAT fast!

- EZ-Script Variable Manager entirely re-written to be faster and support more functions

- EZ-Script Debug View displays line numbers

- New EZ-Script Command: PrintHex() will print the contents of a variable in hexadecimal. Great for debugging data received from i2cRead()

- New EZ-Script Command: i2cRead() will read the specified number of bytes to the assigned variable from the i2c interface on the EZ-B. You can use this to communicate with other Microcontrollers (such as arduino) over the i2c interface.

- EZ-Script allows character index support (see help manual for GetCharAt() for more information)

- Examples Form has Tree View of example projects for easy organization

- New EZ-Script Command: GetByteAt() and GetByte() will return the byte as a literal within a variable array. This is great for converting Hex to Decimal from an array holding i2cRead data

- New Control: Slide Script will allow custom scripting for a slider. Look at the i2c example for a demonstration.

- New EZ-Script Command: IsNumeric() will return True or False if the passed variable is a number


New Examples Form with Tree View
User-inserted image


New Slide Script Control
For a demo, Load the Examples -> Functions -> i2c
The Slide Script allows you to assign a variable to a slider. You may also create a script that will execute when the slider is moved. Also, a custom button will be visible when a script is added to that button.
User-inserted image


EZ-Script Displays Script Execution Time
We are very proud of EZ-Script and the compiler we have designed. The compiler is very very fast! Scripts that depend on EZ-B communication will take longer due to the communication delay.
User-inserted image


WiiMote and Joystick Controls display the position
The WiiMote and Joystick Controls will display their position with a graphical view. As you move the device, the position will update also.
User-inserted image


GetCharAt()
This method uses the GetCharAt() function to return the byte at the specified position

Code:



$x = "Hello"

$a=0

:start

$y = GetCharAt($x, $a)

print("$a = $y")

$a = $a + 1

if ($a = Length($x))
Halt()

goto(START)




Square Bracket Array Reference
This example uses the array method of specifying a single byte within a variable at the specified position by using the array reference of a string. This is the same as using GetCharAt()

Code:


$x = "Hello"

$a=0

:start

$y = $x[$a]

print("$a = $y")

$a = $a + 1

if ($a = Length($x))
Halt()

goto(START)




i2cRead() and PrintHex()
This will read data from the i2c interface at the specified address. The first line of code will convert the 7 bit hex address of the device into an 8 bit address, and set the first bit (LSB) to a 1 for reading. The i2cRead() function will read the data as an array into the variable. Each byte of the variable can be converted into a readable Decimal value using GetByte(). The raw received data is written to the debug window using PrintHex().

Code:


$ReadAddress = (0x09 << 1) + 1

Print("Read Address: $ReadAddress")

$raw = i2cRead(AUTO, $ReadAddress, 3)

Print("Received: Length($Raw) Bytes")

PrintHex($Raw)

$Red = GetByte($Raw[0])
$Green = GetByte($Raw[1])
$Blue = GetByte($Raw[2])




i2cWrite() and IsNumeric()
The i2cWrite() function will send specified data on the i2c interface. In the example below, we first check to ensure the variables are numerical values. Following that, we convert the 7 bit i2c address of the device into an 8 bit value, and ensure the first bit (LSB) is 0. Then we send the data to the i2c device.

Code:


# Check if $Red is a numeric value
if (IsNumeric($Red) = false)
print("Set the Red value to a number")
halt()
endif

# Check if $Green is a numeric value
if (IsNumeric($Green) = false)
print("Set the Green value to a number")
halt()
endif

# Check if $Blue is a numeric value
if (IsNumeric($Blue) = false)
print("Set the Blue value to a number")
halt()
endif

print("Red: $Red, Green: $Green, Blue: $Blue")

# Shift the bits over
# Set the LSB (first bit) to a 0
# When first bit is a 0 on i2c, that means
# it is a Write Address
$WriteAddress = 0x09 << 1

print("Write Address: $WriteAddress")

i2cWrite($WriteAddress, 'n', $Red, $Green, $Blue)


In this release, we introduce a collection of enhancements to existing controls and small bug fixes. I really like this release - the enhancements are very subtle and although you may not notice, you'll find the GUI becoming more comfortable and productive to work in. :)

Changes:
- Key Control changes color based on focus. The control needs to be in focus for the Keyboard Control to work

- Added Speech Volume to Speech Settings

- New EZ-Script function: SpeakVolume()

- Intro has smoother fade transition

- New EZ-Script function: FileReadLineRandom()

- New EZ-Script variable $Direction which stores current movement direction

- New EZ-Script function: WaitForChange() which will pause the script until the specified variable/value has changed

- EZ-Script function: Move() has a fix when specifying Stop as a direction

- MP3 Trigger now displays 255 buttons and is resizable with scrollbar

- All EZ-Builder Controls have smarter resizing for different DPI displays

- Added "Virtual Servo Ports", which range from V0 to V19. These can be used as "stubs" for extending the flexibility of existing EZ-Builder Controls. For example, look at the example "Example - Script - Joystick Switch Between Servos"

- Audio Display Graphs have smooth rounded edges

- Speech Recognition Audio Graph changes color depending on Pause status (red/green)

- AutoPosition Control (without movement) has bug fix for ControlCommand()


File Read Random Example
This project can be found in Examples, titled: Example - Script - File Operations
User-inserted image


Virtual Servo Example
This project can be found under Examples, titled: Example - Script - Joystick Switch Between Servos
User-inserted image


Pretty Rounded Corners in Audio Graphs
User-inserted image


New MP3 Trigger Control
User-inserted image


Very Elegant Speech Recognition Control :)
User-inserted image
This release includes a few new EZ-Script commands for file operations and GUI enhancements.

Changes:
- EZ-Script Edit Window now saves the size of the window you resize to

- Examples Menu has easier to read buttons

- New EZ-Script File Operations (FileReadClose, FileReadReset, FileExists, FileReadEnd, FileReadChar, FileReadLine, FileReadAll)

- New EZ-Script function for splitting string into fields - Split()

- Speech Recognition Control includes Audio Level Graph


The File Operations example project will demonstrate how to perform EZ-Script File Operations for Reading, Writing and Parsing. Choose Examples and select the File Operations project.

File Operation Example Project
User-inserted image


New Speech Recognition Control with Audio Level
User-inserted image


File Write Example

Code:


# This EZ-Script will log the positions of
# servos D3 and D4 in the specified file.
# The loop will repeat 10 times for 10 seconds

$filename = "c:\temp\myfile.txt"

FileDelete($filename)

$cnt = 0
$max = 10

:START

print("Writing line $cnt or $max")

FileWrite($filename, "Time: $time")
FileWrite($filename, ", Left Servo: GetServo(d3)")
FileWriteLine($filename, ", Right Servo: GetServo(d4)")

$cnt = $cnt + 1

if ($cnt = $max)
halt()

sleep(1000)

goto(START)




File Read Example

Code:


$filename = "c:\temp\myfile.txt"

if (FileExists($filename) = false)
print("File does not exist")
Halt()
Endif

FileReadReset($filename)

:START

$txt = FileReadLine($filename)

print("Read: $txt")

if (FileReadEnd($filename) = true)
print("End Of File")
halt()
endif

goto(START)




File Read with Splitting Fields By Coma Seperator Using SPLIT() Function

Code:


# Reads a file and seperates each field by a comma.
# The Split() function will return a
# specified field index

$filename = "c:\temp\myfile.txt"

if (FileExists($filename) = false)
print("File does not exist")
Halt()
Endif

FileReadReset($filename)

$cnt = 1

:START

$txt = FileReadLine($filename)

$DateField = Split($txt, ",", 0)
$LeftArmField = Split($txt, ",", 1)
$RightArmField = Split($txt, ",", 2)

print("Row: $cnt")
print("Date: $DateField")
print("Left Arm: $LeftArmField")
print("Right Arm: $RightArmField")
print()

if (FileReadEnd($filename) = true)
print("End Of File")
halt()
endif

$cnt = $cnt + 1
goto(START)




SPLIT() Example #1

Code:


$x="one, two, three"

$first=split($x, ",", 0)
$second=split($x, ",", 1)

print("First Field is: $first")
print("Second Field is: $second")




SPLIT() Example #2

Code:


$x="one - two - three"

$first=split($x, "-", 0)
$second=split($x, "-", 1)

print("First Field is: $first")
print("Second Field is: $second")


Our Community's ideas are like seeds. It's our job to nurish their ideas into reusable solutions that help everyone. This latest release has a few new features that will make EZ-Script even easier. It is these subtle changes that continue to make EZ-Builder the world's easiest and most powerful Robot Control Software!

Changes:
- KeyControl has "KeyUp" event, to compliment the existing "KeyDown" event

- EZ-Script Code AutoComplete Popup can be selected using the UP/DOWN arrows and ENTER keys

- Analog Joysticks can set EZ-Script Variables of their position

- When adjusting MIN/MAX limits in Config Menus, the servo moves in realtime. This makes adjusting servo ranges very easy.

- EZ-Script Cheat Sheet display has Clickable items. For example, click on a Control Name, and it automatically inserts a ControlCommand() statement. Next, click on a respective command and it inserts the command into your EZ-Script.

- Camera Control has configurable video Resolution.

- EZ-Script now displays active variables. Clicking on a variable will insert it into your code

- New EZ-Script Commands: FileDelete(), FileWrite() and FileWriteLine()

- New Example Projects: Camera Scan For Motion, File Operations


Code Completion
In this example below, as you type the AutoComplete popup is displayed. Use the UP/DOWN/ENTER/ESC keys to navigate, cancel, or select the desired command. Saves time for slow typers :)
User-inserted image


Cheat Sheet
In this next example, the Cheat Sheet page displays all controls and their available ControlCommand() methods. Clicking a Control Name will insert the ControlCommand() function into your code. Clicking on a method will insert the method into your code.
User-inserted image


EZ-Script Variables
The EZ-Script has a page for Variables. Clicking on a variable will insert the variable name into your code.
User-inserted image


Joystick Position Variables
EZ-Builder provides an easy interface for your joystick. However, if you wish to use the Analog Joystick values in custom EZ-Script code, visit the Variables tab within the Joystick Config.
User-inserted image


File Operations
The new EZ-Script File Operations allow you to write to a local file on your computer. Now you can save log information on your robot's activities. This example demonstrates how: Example-Script-FileOperations.EZB

Code:


# This EZ-Script will log the positions of
# servos D3 and D4 in the specified file.
# The loop will repeat 10 times for 10 seconds

$filename = "c:\temp\myfile.txt"

FileDelete($filename)

$cnt = 0

:START

FileWrite($filename, "Time: $time")
FileWrite($filename, ", Left Servo: GetServo(d3)")
FileWriteLine($filename, ", Right Servo: GetServo(d4)")

$cnt = $cnt + 1

if ($cnt = 10)
halt()

sleep(1000)

goto(START)



Example Output:


Time: 11:26:28, Left Servo: 2, Right Servo: 43
Time: 11:26:29, Left Servo: 4, Right Servo: 41
Time: 11:26:31, Left Servo: 20, Right Servo:53
Time: 11:26:32, Left Servo: 2, Right Servo: 56
Time: 11:26:33, Left Servo: 5, Right Servo: 11
Time: 11:26:34, Left Servo: 75, Right Servo: 19
Time: 11:26:35, Left Servo: 32, Right Servo: 32
Time: 11:26:36, Left Servo: 92, Right Servo: 44
Time: 11:26:37, Left Servo: 0, Right Servo: 0
Time: 11:26:38, Left Servo: 34, Right Servo: 66


Camera Resolution
If your computer can handle it, the Video Resolution DropDown allows customizable resolutions. This will help if you are scanning for Glyphs from a further distance. Keep in mind, higher resolution requires more processor power - some computers may bog down while raising the resolution. Use the Real-Time video for HiRes viewing resolution. The Processed Video is not for humans esthetics... Only modify the resolution for your environmental application requirements.
User-inserted image
This update contains a few new features for EZ-Script and the HTTP Server. The EZ-Script enhancement displays the list of User Controls and their supported ControlCommand methods. Rather than having to search through the help manual, the Cheat Sheet tab will display the list of methods and controls.

Changes:
- EZ-Script Config windows have a new tab "Cheat Sheet". This displays the list of Controls and their ControlCommand methods.
- HTTP Server includes new "Script Console" page to execute realtime EZ-Script over web browser
- HTTP Server supports Web Service to execute and return values from the EZ-Script compiler. This is for remote processing applications that wish to control EZ-Builder via EZ-Script and HTTP.

Enjoy :)
This release contains a few new features, enhancements and fixes. It is a recommended upgrade.

Changes:
- Menu button added to "Stop Speaking"
- If/Else/Endif now supports multiple lines of code within each condition
- Sound Servo Control supports an EZ-Script variable for the sound level
- PWMRandom fix

Enjoy :)


Example multiline IF/Else/Endif:

Code:



$x = 1

# This is a single line condition example
if ($x = 1 )
Servo(D5, 20)
elseif ($x = 2)
Servo(D5, 30)
else
Servo(d5, 5)

# This is a multi line condition example
if ($x = 1)
Servo(D5, 20)
Servo(D6, 20)
elseif ($ = 2)
Servo(D5, 30)
Servo(D6, 30)
else
Servo(D5, 5)
Servo(D6, 5)
endif


How do you create the worlds easiest, most scable and powerful Robot Control Software? I started by making it do what I wanted. Then I listen to what the community wanted. And finally, I spent countless hours developing and innovating hundreds of features.

Introducing... EZ-Builder

This release focuses mostly on EZ-Builder's built-in scripting language. EZ-Script was originally designed to be used for scripting actions and servo positions. Then we started adding conditional statements for custom behaviours. Even though we implemented other scripting controls (C# and VB), they lacked an integrated command syntax to control specific EZ-Builder features. This meant EZ-Script continued to grow and evolve. Before we knew it, EZ-Script had become a full featured programming language.

EZ-Script is very fast. It is actually incredibly fast and full featured. This release adds even more features to the powerful EZ-Script programming language only found in EZ-Builder.

Changes:
- EZ-Script performance optimizations
- EZ-Script supports If/ElseIf/Else
- EZ-Script supports multiple comparisons
- EZ-Script math functions (Sin, Cos, Abs, Round)
- Camera Control creates EZ-Script variables for the detected Object's Width and Height

Example:

Code:


$y = Sin(5)
$y = Round($y, 2)
$y = Abs($y)

if (GetServo(D5) = 5)
print("Servo 5")
elseIf (GetServo(d5) = 7)
print("Servo 7")
else
print("Unknown")

if ($y = 5 or ($y = 3 and GetServo(D5) = 2))
print("Super yes!")
else
print("Who knows")



User-inserted image


This is a small release regarding Random features of your robot. There was a recent discussion about what "random" really means in programming. Random() is a common function used in computers making unpredictable decisions. However, if you wish to write your own routines for random behavior, perhaps Random() isn't optimized.

As a disclaimer: We encourage people to use the Personality Generator, which uses an algorithm based on trending - not random.

So, the solution? After a bit of brain storming, I came up with a new Random function called GetRandomUnique(). This new function tries to make the returned value unique from the last. This is not a Personality Generator replacement, but it will make your robot much better behaved.

Changes:
- EZ-Script controls can be resized
- New EZ-Script command: GetRandomUnique()
- EZ-Script compiler optimizations

Here is an example project displaying the differences between Random() and GetRandomUnique(): Example-Script-RandomNumberFunctions.EZB

User-inserted image
This release updates the Sabertooth HBridge Control and a few interface enhancements.

Changes:
- TCP Server does not require password
- SendSerial fix for TCP Server
- Sabertooth Config panel no longer resets all values to 1
- Icon not displayed on Control windows, leaving more room for title
- Window Titles auto increment with naming if duplicate title exists
The Auto Position Control has been modified in this release. You can now have more than one Auto Position Control (not the movement panel version). The Auto Position Control now supports multiple EZ-B's. Pressing the Settings button will let you set the EZ-B for that Auto Position Control.

Changes:
- Multiple instances of Auto Position Control (Read more: http://www.ez-robot.com/Tutorials/Help.aspx?id=180)
- SpeakTwitter() uses new Twitter RSS feed method
- EZ-BoxBot example projects added (for tutorial page: http://www.ez-robot.com/Tutorials)
- New EZ-Script command to stop speaking the current phrase: SpeakStop()
This EZ-Builder update introduces a fantastic new feature to extend single scripts for event triggers. Until now when an event was triggered, it would execute only a single script command. Now you can add multiple scripts to a single command. Keep in mind, these are still "Event Triggers" and not complete scripts. This is how event trigger programming works in software - while a trigger is executing, it blocks all other commands until it has completed. This means you should not perform time intensive commands (i.e. loops and waits, etc).

Changes:
- All Event Triggers now support multiple EZ-Script lines
- SendSerial() command no longer disconnects EZ-B if more than 9 characters are sent

User-inserted image

Enjoy :)
The latest EZ-Builder Robot Control Software includes many new enhancements! High joystick response resolution, and Interface enhancements. Over the last few releases, we have been changing the user interface... With these changes there are many subtle enhancements and updates.

Changes:
- HTTP Server Control displays logged in users and their respective ip address
- Script Flow window no longer moves other windows around when openned
- Pressing ESC when Add Control no longer Auto Arranges (if set)
- Fix for Camera Control causing a lock-up when exiting
- Did You Know start-up window removed. It's encouraged to use Tutorial Walk-Through
- Loading large projects on low screen resolution organizes windows correctly

Enjoy :)

User-inserted image
This update includes many interface enhancements and a few new features. This is a recommended update.

Here are some statistics for camera detection methods:
- Glyph Detection: ~2700 Ticks (<= 1ms)
- Motion Detection: ~6000 Ticks (<= 3ms)
- Face Detection (detected face): 14000 Ticks (<= 7ms)
- Face Detection (no face): 65000 Ticks (<= 31ms)
- Color Detection: 3200 Ticks (<= 1ms)

Changes:
- New UI windowing engine
- New webserver engine
- HTTP Remote Control update
- Check For New Updates includes "View Release Notes" shortcut
- Some controls contain their name within the control opposed to just title bar (for lengthy names)
- Script Flow enhancement
- Camera control supports Motion JPEG streaming
- HTTP Server includes static camera view which can now be viewed from another EZ-Builder instance
- TCP Server includes Password Protection
- MP3 Audio fix
- Camera includes FULL SCREEN button (rather than window maximize option)
- Send Serial bug fix for Strings
- Disables menu options when HTTP Server is running (prevents Open/New/Save/Etc)
- Camera timing for servo response increased

Enjoy :)

User-inserted image
This release is another tiny one with a big impact for those of you who miss the drop-downs for selecting options. A few releases ago we updated the UI to a new control which requires holding the mouse and dragging the cursor in the appropiate direction. Although many of us like it, some of you miss the old style.

Well, now the Drop Down item list has been restored if one of these two conditions are met:

1) Right Click on a control displays DropDownList

-or-

2) When HTTP Server is ENABLED displays DropDownList always

Changes:
- Right click on parameters to show Down Down list
- HTTP Server makes all parameter fields Drop Down lists
- New ControlCommand() for HTTP Server [StartServer, StopServer]
- HTTP Server Image Compression adjustment for high and low bandwidth connections

Enjoy :)
Wow, it's november already? Well here is a very small update release for EZ-Builder. It updates the HTTP Server - hopefully resolving an issue that one user has been experiencing. :)

Download EZ-Builder <- Click there

Changes:
- HTTP Server new UI interface code
Happy Halloweeeeeeeeeeeeeeeeen! :)

Today's release contains a few small enhancements, nothing huge. The biggest one for Biped/Hexapod users is the AutoPosition Action Frame Edit feature. Now you may edit Frames that have been added to an action. You may change the speed, steps and move the frame around. This is a large improvement. It's something I should have done weeks ago :)

Changes:
- Auto Position Action editor allows editing and moving frames
- Variable assignment and IF conditioning works across multiple EZ-B boards

Code:


# Get ADC 0 value from second EZB
1.$x = getADC(adc0)

# Compare ADC 0 value between Second and First EZB Boards
0.if ($x > getADC(adc0))
print("Board 1 adc is higher")


Someone said they can't keep up with the updates... Well, tough luck! :D

This update contains a graphical view of your script path. It's neat to view your project in a graphical representation. Any script or control which uses a "ControlCommand" to interact with another control is displayed. For example, if you have a speach recognition phrase that uses a ControlCommand, it will be displayed. If you have a speech recognition phrase that moves a servo (does not use a ControlCommand), it will not be displayed. This allows you to only view the interactions between controls.

Changes:
- New Control: Script Flow
- Additional connection debuging for Brookstone Rover in Debug Control
- ControlCommand has a short-hand alias "CC" (check EZ-Script manual)
- ADC Graph performance improvement
- Intro windows (check new version, etc.) always display when loaded. They close when first control is added


Download
Get your copy of EZ-Builder <- Click there :)


Script Flow Example

In this example I used the Wall-e Big (from included Examples in EZ-Builder)
User-inserted image

Select the Add Control option, Scripting, and Script Flow
User-inserted image

The graphical view displays all scripts and control functions that execute each other. For example, the Speech Recognition Control has many phrases, phrases that execute other controls are displayed :)
User-inserted image

Enjoy!
This is a UI performance update for a few controls. Affected controls are listed below in the change log :)

Changes:
- Wiimote control performance increase
- Autocloses intro windows when control is added to new project
- mp3triggerPlayTrack bug fix when not specifying speech recognition delay parameter
- servo controls (horizontal & vertical) UI performance increase
- Virtual Robot UI performance increase
- "Auto Arrange" option when adding control is in larger font size

Enjoy :)
This isn't a huge update, but it does contain some GUI changes. It is a suggested update. :)

Changes
- New GUI user controls for servo positions and config menus
- Auto Smart Arrange (can be disabled)
- Connection control contains Refresh button to refresh port lists
This latest EZ-Builder release includes a new interface and enhancements. The new menu interface promotes productivity by making the most common features accessible. Add functions to your robot faster than ever!

Changes:
- New Menu interface update to increase productivity. Common menu items are more accessable
- Vuzix Augmented Reality displays connect/disconnect status
- sound servo bug fix when not connected to ez-b
- new EZ-Script Speech Recognition ControlCommand "PauseMS". Pauses the speech recognition for the specified number of MS. (i.e. ControlCommand("Speech Recogniton", PauseMS, 500) will pause for 500 ms)
- new optional parameter for MP3 Trigger Play. Pauses Speech Recognition for specified MS
- EZ-Cloud interface enhancements
- New Add Control Menu Interface
- New Examples interface
- New Windows List Menu interface for manipulating controls in projects with lots of controls

Enjoy :)

User-inserted image

User-inserted image
This update is for a few enhancements and fixes to the items listed. I recommend updating to this version if you use any of the items that have been altered. :)

Builder Changes:
- Bug fix in AutoPositioner for duplicate Frame displayed
- Bug fix in AutoPositioner when deleting Frame used in Action
- New EZ-Script command: SayWait()
- Shortcut Creator bug fix to not give error when not all items have been selected
- SendSerial() supports variables
- i2cWrite() supports variables


SDK Changes:
- 47 Examples
- Video Player/Recorder
- Realtime video
- Enhanced tracking
- Multiple Joystick support
- AR Parrot Drone selectable camera
EZ-Builder is getting a makeover... This includes new colors, buttons, controls and more. This release is the first in our series of makeover updates. I want you to be proud of the fantastic EZ-Builder application you have inspired for me to create. Show off your EZ-Robot in style! :)

Changes:
- New startup splash intro
- New startup audio
- ESC key cancels splash intro
- Splash intro not displayed when file is loaded from command line or explorer
- Custom Movement Panel is controlled by external controls
- Camera Control saves and restores selected video device
- HTTP Server displays mouse location in Live Remote Control
- Wallpaper feature removed to be replaced with user defined wallpapers in next update

Enjoy!
:)
Video Recording, Multiple Joysticks, Video Overlay, and more! Welcome to a fantastic new release of EZ-Builder! There are many new features in this release to keep you busy. The video recording is one of my personal favorites - allowing you to begin recording by a speech command or touch of a button to capture moments with your robot.

Changes:
- Now updated to use .Net 4 Framework
- Video Overlay of custom text and EZ-Script variables
- New color tracking (faster and smoother)
- AR Parrot Drone selectable cameras
- AR Parrot Drone real-time navigation data
- Unlimited number of joystick controls
- Twitter Camera Image Update is faster and uses seperate thread while uploading
- Brookstone Rover Camera fix for slower AMD processors
- Camera Object Tracking information available as EZ-Script Variable
- New Examples (Auto connect at specific time, Camera Overlay, AR Parrot Drone, Camera Recording By Script)
- Video Recording includes customizable auto title
- Video Recording (Start/Stop/Pause)
- Video Recording EZ-Script Commands (start, stop, pause, toggle, etc)
- Video Recording Encoding Codec (mpeg4, wmv, avi, etc.)
- New EZ-Script $time constant (added to other constants, check EZ-Script manual)
- New AR Parrot Done EZ-Script command (DroneEmergency)
- Speech Recognition pauses when speaking
- Camera Image Snapshot has adjustable compression quality
- Camera Image Snapshot is now higher resolution




Enjoy! :)


User-inserted image
Some new features and fixes in this release - still concentrating on the video processor. I know there have been fantastic results from the last update, and this update increases performance also.

The new video processor uses dynamic frame rate. The frame rate is adjusted based on the speed of your computer. The funny thing is, people may ask why the max is 10 fps? Well the answer is simple: Your robot will act like it's having a siezure if the frame rate is any higher. Because the video is analyzed in real-time by the processor, the hardware also reacts to real-time results... And if the object is being tracked with a high fps, the robot goes a little insane. So, the only real reason for having a high FPS is human esthetics. The work-around to make humans happy is to use the Real-time Video View mode when viewing your robot via remote presence, etc.

I've also found a work-around for the Shortcut Creator issue on some computers. It seems ones of the libraries I was calling for creating the LNK file was not default installed on all computers. That was a surprise to me and many others who tried to use the library. So, I found a work-around by using an operating system call, and now the Shortcut Creator works.

The biggest change in this release is how the video data is passed between tracking modules. It now uses a newer and faster method in shared memory - so it's much happier. This leaves more processor speed available for other controls. :)

Changes:
- Video Processing Enhancements
- Dynamic Video Frame Rate
- Shortcut Creator Fixed (File->Shortcut Creator)
Does your EZ-Robot need faster Face Tracking? High Resolution Realtime Video? Custom Haar Tracking? Updated Camera Control? Transparent Grid Lines? And more?

Okay! This is the last update of EZ-Builder for a few days, because I need to sleep. I don't know how I did it, but this has been a very productive week of releases. This release is a complete re-write of the camera control. You will notice an updated interface, new options and a new layout. The new layout is much easier to navigate and supports the new High Resolution Realtime Video display.

In the next while, I am working on a custom Haar Cascade Trainer built into EZ-Builder. This means you will be able to train objects to be recognized in EZ-Builder. Right now, you can use existing Haar Cascades definitions for tracking.

Changes:
- New Control Commands (CameraViewProcessed, CameraViewRealtime)
- High Resolution Realtime Video
- Adjustable transparency on Grid Lines for Processed Video
- Custom Haar tracking
- Updated Camera Control Layout
- Camera Snapshot saves high resolution images
Face Detection has been re-written from the ground up - and now uses less processor and is more accurate. Also in this release is an update to the EZ-SDK. This is a major release update for the SDK, which includes new features and command syntax. You may receive errors with your code against the new DLL, but the online documentation and code examples should help you through :)

Changes:
- Face Detection v2 implemented (faster and increased accuracy)
- Fixed documentation of IF command examples in EZ-Script
- EZ-SDK Updated to 2012.09.19.00
This is a release of EZ-Builder you can't miss! I woke up this morning with a new video processing model in my head. I don't know where it came from, or how - but this is the release you want. The main features of this release are speed and memory improvements to the video processor. However, one feature you will appreciate most is the Frame Update Manager - which is the new video processor I came up with.

The idea behind the Frame Update Manager is it only processes the video when a new frame has been received. Sometimes the AR Drone or EZ-Robot Camera will skip frames due to radio interference - and this will cause your robot to process the last video frame over and over... Which results in a robot spinning in circles! Well, no more! Now the robot command processor waits for an updated frame before reacting - Sometimes I impressive myself!

Also in this release is a fix for the AR Drone Video Processor. For many months, certain AMD processors have suffered lock-ups in EZ-Builder when displaying the AR Drone Video Stream - requiring a force shutdown... And usually run-away drones! Well that issue is now resolved also :)

Changes:
- New video processor (Frame Update Manager)
- Fix for AR Drone Video on AMD Processors
Changes:
- Virtual Robot now supports Digital ports (input and output)
- Camera uses a new threading model
- AutoPositioner (without movement control) allows Movements to be assigned to Actions. You may now create dance routines, etc. using the AutoPositioner
Changes:
- Bug fix for IF condition compare in EZ-Script
Someone asked if they could upload a photo of their robot to an EZ-Builder project. Ironically, I had been working on a new Virtual Robot Control - which provides a visual display of your robot servo positions. This is a much friendlier method of organizing servo settings.

Changes:
- Virtual Robot Control (Add Control->Misc->Virtual Robot)



User-inserted image
This release updates the project file format to EZ-Configuration v2! This newer file format is smaller and requires less physical machine memory. The EZ-Configuration v2 data is nearly 5 times smaller! This upgrade is necessary on our preperation towards mobile device support.

*Note: When loading a EZ-Configuration v1 file, a dialog will display with Import details. This dialog will only be displayed during EZ-Configuration v1 file loading. Once the file has been re-saved, the dialog will not appear for that file. Re-saving a file will upgrade it to EZ-Configuration v2 file format.

For fun, compare the file sizes between your old and new files - notice the difference :)

Changes:
- New Control: Custom Movement Panel (located under Add Control->Misc) for unsupported movement controllers
- New Configuration v2
The Auto Position control included a Movement Panel, which prevented you from using the control if you already had a movement base (i.e. Roomba, HBridge, Etc.). So this release includes an additional Auto Position Control that does not include a Movement Panel.

Download: EZ-Builder

Changes:
- New Auto Position Control without Movement Panel
- Fix for String Comparison in EZ-Script

Code:


$x = "Hello"
$y = "Hello"

if ($x = $y)
print("They Equal")


Robots Walk! Robots Dance! Robots Crawl! Robots now have Auto Positioning :)

This release introduces a new control for Servo Auto Positioning. Using waveform and data interpolation calculations, servos are adjusted in relation to each position. Multiple frames can be created and added to Actions. Now your Hexpods, Bipeds and other robot motions can be easily designed.

Changes:
- New EZ-Script Command for Script Manager: ScriptStopAll
- Part 1 of emotions added to Personality Generator and new EZ-Script commands for SetEmotion
- AutoPosition Control
- Sound Servo displays audio input when not connected to EZ-B
- Variables support text strings


You've created your robot and would like more control and more buttons? Joysticks are great! But not applicable to all applictions... So this release introduces a new control which allows movement with arrow keys, and assignments of any key to scripts.

Changes:
- New Control: Key Control (located under Scripts)
- New EZ-Script reserved words ($day, $month, $year, etc.)
- New EZ-Script Example ("Say Day Of Week") located under File->Examples
This release contains many new updates - from new EZ-Script commands, to small interface changes. Beware, a few of the EZ-Script commands have changed parameter syntax, which will cause errors for existing projects. You will need to modify your existing projects for the new EZ-Script Command syntax. Do not worry, only two commands have changed their syntax :)

Changes:
- Script manager has move UP and DOWN buttons for organization
- Movement Panels have graphical arrow icons and are larger for Microsoft Surface
- Auto check for new update when EZ-Builder loads (can be disabled)
- Brookstone Rover added IR light feature (on and off IR LED for night vision)
- New EZ-Script command to STOP audio from Soundboard
- AR Drone vertical thrust set to recommended value of 1000 rather than 2000
- Movement Panels have adjustable speed support
- EZ-Script syntax changed for Left(), Right()... (see below)
- Forward and Reverse now accept speed parameter, as well as milliSecond parameter
- New EZ-Script Command: GetSpeed()
- New EZ-Script Command: SetSpeed()
- New EZ-Script Command: GetRandom()
- File->Examples updated for EZ-Script syntax change
- Larger font size in EZ-Script Manual Document

EZ-Script Syntax Change:
Support is being added to include speed control by external devices (wiimote, joystick, etc.). This new addition will be amazing! However, it requires a small change to two commands: Left and Right.

The old syntax for Left() and Right() were as follows (square brackets are optional parameters):
- Left( [milliSeconds] )
- Right( [milliSeconds] )

The new syntax for Left() and Right() are:
- Left( [speed], [milliSeconds] )
- Right( [speed], [milliSeconds] )

The [speed] can be a value between 0-255. Currently two Movement Panels support speed: Brookstone Rover and iRobot Roomba. More are coming in a future release: HBridge (via PWM), Sabertooth and Modified Servo.

In your past projects, the controls to look for to update with the new syntax are:
- Speech Recognition
- Scripting Controls for dance routines, etc
- Twitter Recognition
Are you running out of workspace from too many Scripting Controls? This latest release of EZ-Builder includes a new control: The Script Manager. It is a control that contains EZ-Scripts! Now you can combine your scripts into the Script Manager and free up your desktop.

Changes:
- New Control: Script Manager
- New EZ-Script Command: Browser()
- New EZ-Script Command: Exec()
- New Example for Script Manager (Wall-e Big Script Manager)
- EZ-Script bug fix with Goto Labels


This fantastic release of EZ-Builder includes many new add-ons to make scripting even more powerful! Comfortable with the simplicity of EZ-Script and do not have the time to learn C# or VB? We now introduce variables, math and new commands into EZ-Script!

Changes
- Variable Support
- Math Support
- Variable Watch Control
- Optimized camera support for slower CPU's
- New EZ-Script Control Command: ScriptStartWait
- New EZ-Script Command: Print()
- New EZ-Script Command: Halt()
- EZ-Script GOTO() stack increased
- New EZ-SCript Command for Roomba Control: Roomba()
- More Examples within EZ-Builder->File->Examples

Variable Examples

Code:


# Move a servo slowly in increments of 10
# from position 10 to 90

$position = 10

:loop

servo(d1, $position)

print("Position: $position")

Say("$Position")

sleep(1000)

$position = $position + 10

if ($position > 90)
goto(end)

goto(loop)

:end
Say("I'm Done counting!")



Code:


# Simple demonstration of variable usage
# All variables must be assigned before
# being used in a function

say("I'll do some math for you")

$y = 5

$x = 5 + 3 + $y

servo(d1, $x)

say("X equals $x")



Code:


# This script will read the position of
# the servo on D1

$servo = GetServo(d1)

Say("Servo 1 is at position $servo")


This release of EZ-Builder introduces a useful wizard utility to create shortcuts for autoloading projects and executing scripts at load time. For everyone with embeded computers within their robot, this will be a great benefit.

Changes:
- Shortcut Creator
- New EZ-Script Command (HTTPGet)



User-inserted image
Robots deserve social media too! Have your robots post photos to twitter! Auto-load projects! Auto-connect to EZ-B's! And more...

Changes:
- Twitter Configuration located under File -> Twitter Settings
- EZ-Script includes search
- New EZ-Script Camera Twitter Control Command (i.e. ControlCommand( "Camera", CameraTweet, "Our New Image" ))
- New EZ-Script Tweet Command: Tweet("I love EZ-Robot!")
- Autoload project
- New EZ-Script Connection Control Command (i.e. ControlCommand("Connection", Connect0))
- Resizable script editor

Auto Load Project:
The EZ-Builder.exe accepts a few parameters.

- Param 1: Path and Filename of project to load
- Param 2: Name of Script to start when project is loaded

Here is an example of loading a project on startup:

Code:


"C:\Program Files (x86)\EZ-Builder\EZ-Builder.exe" "C:\My Documents\MyFile.ezb"



Here is an example of loading a project on startup and execute a script named InitScript

Code:


"C:\Program Files (x86)\EZ-Builder\EZ-Builder.exe" "C:\My Documents\MyFile.ezb" "InitScript"


This release of EZ-Builder features support for the WowWee RoboQuad! Using the similar modification as the RoboSapien, you can connect two wires from the EZ-B to the RoboQuad to enable full control. Watch the video for a wiring tutorial and demonstration :)

Changes:
- RoboQuad Movement Panel
- RoboQuad EZ-Script Commands


Rock'n new release of EZ-Builder! Some great new fixes and enhancements. I'm adding lots of neat new features to the Wii Remote - so this is the first of a few releases with Wii Remote enhancements. A few releases ago the Camera control changed to a new threading method - you were warned of a few bugs - those bugs have been resolved.

Changes:
- Partial Nunchuck support (almost complete)
- Wii Remote Button Ez-Script assignment
- Servo Auto Release new Pause option
- Wiimote Rumble Ez-Script commands
- Camera Control Bug Fix
- Wiimote accelerometer speed enhancement
- MP3 Playback Bug Fixes - now using NAudio rather than writing my own library


Enjoy!
Do you have a RoboSapien toy kicking around? Time to do something awesome with it! This EZ-Robot release implements a few new awesomeness! Yeah, "awesomeness" is a word. With the new firmware update from this release, you may now follow our tutorial video and control your RoboSapien v1 and v2.

This release also implements a long over due feature for file associations. The .EZB files are now associated with EZ-Builder, this also includes downloadable internet files too. When you are on the community forum, and someone has pasted an EZB file, you can click and select OPEN. The file will be openned into EZ-Builder directly. Also, you can double-click any EZB file on your drive and open EZ-Builder.

Changes:
- RoboSapien Movement Panel
- RoboSapien EZ-Script commands (all remote commands supported)
- File Associations
- 4800 BPS Baud Serial Support


This release does not have many updates, but one of the updates is quite large, so we count that! :)

Changes:
- Multiple sound boards can be added to a project
- New command to play random sound from soundboard: ControlCommand("Soundboard", Track_Random)
- Camera control has a new threading structure. Should increase responsiveness and speed, but it is mostly upgraded for the upcoming Kinect integration

And also here is the video for the L298 motor drive tutorial:


This is a small update with a few new commands and example projects. Now your robot can tell jokes with the joke example. :) To find updates, look under File->Examples within EZ-Builder.

Changes
- New command "RSSSayDescription" - only say the description peice of the RSS feed
- New example - C# Day Of The Week - reads the day of the week
- New Example - Camera - Demonstrates how to control the camera from EZ-Script
- New Example - RSS Jokes - Shows how to have your robot tell jokes
- New Example - RSS Weather - Demonstrates how your robot can tell you the weather
This is a very small update.

EZ-Builder Changes
- Motion Tracking has "skip frame" option to avoid robot from going crazy
- Camera Snapshot control re-added

EZ-SDK Changes
- Multiple camera support
- Capture resolution
- eZ430
- Augmented Reality Image Overlay
- Wii Remote enhancements
Welcome to EZ-Builder Release 2012.05.29.00! I'm pleased to introduce a few new features that make EZ-Robot even more powerful! Watch the video to see a quick demo of some of the new features...

Changes:
- Multiple Camera Device Support
- High Resolution Capture
- eZ430 Chronos Texas Instrument Programmable Watch
- Image Overlay Augmented Reality!
- New EZ-Script Commands (BVForward, BVLeft, BVRight, BVReverse, BVStop, MP3TriggerVolume)
- HTTP Server View Image has been temporary disabled due to multiple camera support. It will be resolved in a future release.

Enjoy :)



User-inserted image
Changes:

- Wii Control no longer requires A button to be pressed to stop movement
- Wii Control has faster response
- Joystick/Speech Recognition/Twitter Recognition have adjustable panes for script help on low resolution displays
- Servo controls have "Center" button
At Maker Faire, Texas Instruments gave me an eZ430 programmable watch! It's a very cool little wrist watch with a built-in accelerometer and awesome other functions. I couldn't wait to get back to the hotel and add support for it in EZ-Builder!

This version of EZ-Builder supports the eZ430 accelerometer. It can be configured to control specified servos, much like the Wii Remote EZ-Builder Control.

There are some additional commands also - such as random scripting commands for PWM Random and Servo Speed Random.

Changes
- Added support for Texas Instruments eZ430 programmable wrist watch
- new EZ-Script command: PWMRandom
- new EZ-Script command: ServoSpeedRandom
- new EZ-Script command: SetRandom


User-inserted image
I've been working hard at adding compass and gps navigation support. There are now new features for your robot using the Sure Dual-Axis Compass module (DC-SS503). I have completed the PCB design and it is being sent to the printers and should be available on our website when we return from Maker Faire :)

Updates
- EZ-Builder
- EZ-SDK

Changes
- New EZ-Script command: CompassTurn()
- New EZ-Script command: CompassForward()
- New EZ-Script command: GPSStop()
- New Control: i2c -> Sure Dual Axis Compass
- ADC Control allows multipler for custom units



User-inserted image
Yesterday we began focusing on the GPS support for your EZ-Robot. We've also added native support for the Sabertooth Electronic Motor Controller. In this release, we've added logging support to the GPS and more configuration options for the Sabertooth. The new Sabertooth options allow speed configuration between Forward, Reverse, Left and Right motions.


Changes
- Additional parameters added to Sabertooth
- GPS has logging ability and additional


We are working toward having your robot follow pre-recorded gps positions.
This release of adds an introductory feature to GPS and Sabertooth integration. The connectivity to Sabertooth is done through a one wire serial interface as a movement panel. This will make Sabertooth Motor Controllers much easier to use with the EZ-Robot platform :)

Changes
- EZ-Script editor window can be resized by dragging the middle seperator
- Sabertooth Serial Movement Panel
- GPS Control to view data
Changes:

- Firmware 15.8
- Servo no longer holds position while slider is moved when servo speed is set
- Fix for external connectivity options (Xbee, Synapse, Wifi, Direct TTL)
We've updated the speech recognition control to accept global Enable and Disable commands. Now you can use global voice commands to choose when your robot is actively listening for more voice commands.

Updates

- Speech Recognition Control has new options for Speech Global Speech Commands
- Example files updated for new servo positions
- EZ-Script manual has a few spelling mistakes fixed
- C# and VB Script control now allows Start and Stop for looped scripts
Your robot can now respond to Twitter Feeds! Also now speaks the news, weather and more!

This is a social media features update to EZ-Builder! It contains a few new functions and controls to interact with Twitter and RSS feeds. The new Twitter Recognition Control will allow your robot to respond to commands sent over Twitter. The new EZ-Script commands gives your robot the power to speak RSS and Twitter updates to you.

Updates:
- New Twitter Recognition Control (Add Controls -> Misc -> Twitter Recognition)
- New EZ-Script SpeakRSS command
- New EZ-Script SpeakTwitter command

Enjoy! :)

Read Most Recent News Example:

Code:


say("Here is the most recent news update")

speakRSS("http://rss.cbc.ca/lineup/topstories.xml", 0)



Read All News Example:

Code:


say("Here is the news!")

speakRSS("http://rss.cbc.ca/lineup/topstories.xml")



Read Third EZ-Robot Twitter Post Example:

Code:


speakTwitter("EZ_Robot", 2)



Read All EZ-Robot Twitter Example:

Code:


speakTwitter("EZ_Robot")


User-inserted image

We hacked away at the EZ-B Firmware over the past 48 hours to resolve the servo jitter issue. This has been a crazy past few days. The release 15.3 seemed to cause issues with some controllers, and that's because there are a few differences between EZ-B versions. They were tested in-house, but clearly not good enough. We setup a new testing environment with a pile of servos and sensors to verify older boards.

The only downfall to the latest firmware is the servo position resolution is now 100 vs 130. Not a dramatic difference, but the lower resolution is required for the servo speed.

Changes:
- bug fix random ports going high
- bug fix servo jitter
- enhancements to PWM duty cycle
- enhancements to ez-b bootup speed
- camera tracking enhancement for slower cpu's

Download: EZ-Builder
Get the latest EZ-Builder and experience the most powerful EZ-Robot Software to date!

Are you ready for the greatest EZ-Robot update? We have a huge list of features and enhancements for your robots! The Firmware, SDK and EZ-Builder are available for download. I personally can barely contain myself from telling you how excited I am! These new features and enhancements are going to blow your mind! The speed increase in the camera tracking alone is very exciting. Plus servo speed and higher servo resolution... Wow, it's gonna be a great release!

EZ-B Firmware: v15.4
EZ-Builder: 2012.04.09.00

Some new features:

Full Screen Camera View
The camera control can be maximized to full screen. Your entire screen becomes the view of your robot's camera. Great if using the Vuzix Augmented Reality Headset!

Amazing Fast Vision Tracking (up to 60% speed increase!)
I had a sudden moment of clarity one evening - and BANG! It hit me... I had a great idea to speed up the vision tracking processor. It takes a bit more RAM, but it'll save your CPU! Now even my little AMD C-50 netbook is processing high vision tracking at low cpu usage.

High Resolution PWM
Pulse Width Module has been used more and more lately. Due to our 2.5 Amp motor controller, the PWM can be connected to control the speed of your motors. I recognize the value of higher resolution PWM control. I've also added PWM control as an EZ-Script command.

New EZ-Script Commands
A few new commands and functions to our EZ-Script. Adding more power to the scripting engine enables more customization. And of course, more customization means more robot personality!

Customizable Vision Tracking Modes
The old tracking type drop down has been replaced with checkboxes. Now you can select tracking types on demand. This means you can mix face tracking with color tracking, or motion tracking with glyph tracking. More control means smarter robots!

Double Servo Position Resolution
You've asked for higher resolution servo positioning, and you got it! Watch your robot move smoother, track more accurately, and most of all have higher control.

Individual Servo Speeds
No longer do servos move at the same speed. Now each servo can have its own specified speed. Smoother movements and more control will add to your robot's personality.

Smarter Self Navigation
The radar controls have new a few new features which enables hallway navigation and smarter object avoidance. Your robots will now cruise around the environment in a convincing manner. So convincing that others may even think the robot is remote controlled!

Vision Correction Adjustments (brightness, contrast, sharpness, tint, etc)
Your robot is not always in the most optimal lighting condition. We know how poor lighting can be embarassing when demoing your new bot. I've added a few new controls to fine-tune the camera picture adjustments. You may even find some interesting uses with these settings.

Auto Positioning Controls for Hexapods, Bipeds and Custom Robots
This features allows servo position frames to be defined. You can play the frames back like a movie, one by one by one. The servos move at a relative constant speed between frames. This is a great feature for defining custom hexapod or biped movements.

Biped Support with User Defined Framed GAIT Positioning by Wave Calculations
Much like the Auto Positioning Control, this feature allows you to customize servo position frames. An assembly of frames creates a GAIT. Different GAITs can be defined for movements, such as Walking Forward, Stopping, Crouching, Turning Left, Turning Right, etc.. This enables your robot to be controlled by a movement panel, which also means compatibility with joysticks, Wiimote, speech recognition, and more.

Speakjet Support for Voice Synthesis and 4 Channel Synthesizer
Have you seen the Speakjet chip? If not, this is a great little unit! It's affordable and easy to use. Plus, I've already drawn up the PCB schematic to have these included in EZ-Bits. When will EZ-Bits be released? Soon as I send the schematics to the printers!

Third Party Platform Support Without EZ-B
Controlling third party platforms (such as AR Drone and Brookstone Rover) required a connectiont to the EZ-B. This was due to the software being very tightly connected with the EZ-B. Now that I've spent some time re-writing the back-end, I've allowed connectivity to these devices without the need of the EZ-B. Of course, we still want you to purchase an EZ-B to support our development and add fantastic new features to your AR Drone or Brookstone Rover.

New EZ-SDK
Of course, all of the features found in EZ-Builder are always available in the EZ-SDK. We want to support custom user development and extensions of the EZ-Robot Platform functionality. The EZ-SDK allows full access to EVERY feature of the platform. I don't hold anything back!

Realtime Scripting
The EZ-Script engine is great for some things.. But this new feature is great if you're looking to fully customize the EZ-Builder interface with your own controls. The realtime C# or VB actually compiles your code into memory and executes it against the EZ-Builder EZ_B library. That means you can control the EZ-SDK functions from within the EZ-Builder software! Now you're playing with power :D



User-inserted image
Hello! Here are the details of the 2012.02.17.00 release.

HTTP Server Live Control
User-inserted image
- The new Live control in the HTTP server allows connected devices to interact with EZ-Builder in real-time over the web browser. This includes ipad, iphone, android, firefox, safari, internet explorer, and even blackberry. Do people still use blackberry?
- Does not require any additional plug-ins or activex stuff :) . It's just magic!
- Now you can control your robot at home from the office with your phone


Brookestone Rover Support
User-inserted image
- EZ-Builder now supports connectivity to the Brookstone Rover and the Rover's Camera.
- The brookstone rover panel works like all other panels - speech recognition, joystick, wii, webserver, camera tracking, etc...


Camera Control
User-inserted image
- I've made the camera control size adjustable. You can full screen the image, if you'd like to see large pixels :). Or you can hide the settings and fit the window somewhere snug away.


Pulse Width Modulation
User-inserted image
- The new pulse width modulation control allows pulses of current to simulate voltage control. This means you can adjust the speed of an HBridge, or the brightness of an LED


Touch Pad Movement
User-inserted image
- Drag your finger or the mouse cursor and sketch the route of your robot. When you release your finger, or mouse the robot will drive that path.
- This control compliments any movement panel.
- Control takes some configuration to adjust turn distance and forward speeds.


Touch Movement
User-inserted image
- Instead of using a regular movement panel, this is great for tablets. Lets you drag your finger on the screen to move the robot.
- Controls any movement panel.
User-inserted image

We introduce the EZ-Cloud in EZ-Builder. This feature allows users to save their project files on our server; safe and secure. This feature also enables users the option to publically share their projects with others.

Click here to download

Access the EZ-Cloud from the File menu in EZ-Builder. Use your EZ-Robot.com account to save and open files from the cloud.
User-inserted image

In this release of EZ-Builder, I introduce support for the AR Drone Parrot. This is a remote control flying quadcopter that can now be a fully featured robot. This includes support for our fancy EZ-Robot controls: Voice Recognition, Wii, Joystick, Web Connectivity, Etc, Etc.

Click to download


User-inserted image

Welcome to a new fancy release for EZ-Builder. In this version, I introduce Client/Server and Remote Control. The HTTP Server allows control of your robot over a web browser. The EZ-Server allows EZ-Builder instances to link together to control your robot. You can link thousands of people together and control one robot - or you can control your robot from the office.

This version is supporting the TCP connectivity - which you may guess - means iPhone... Soon.

Changes
- HTTP Server streams video image
- Connection allows TCP connectivity (wifi modules coming soon)
- Connection allows Telnet EZ-Script access




Hello! Happy Boxing Day! So, another release right after christmas? Yeah, but don't worry - it isn't a firmware update. This one is full of nice enhancements and a new feature. For enhancements, I finally got around to adding the Invert option for Joysticks, Finger Pad and Wii Controller. The new feature is the Relative Servo. Watch the video to see what it does.

EZ-Builder Changes

- Joystick no longer has Center. Now uses Min and Max like other controls
- Invert option added to Joystick
- Invert option added to Finger Pad
- Invert option added to Wii Remote
- New control: Relative Servo




User-inserted image

Happy Holidays and Merry Christmas! Why am I working over the holidays? Because I am the Santa of Robots and my gift to you is a faster, smarter, and stronger EZ-B Firmware and EZ-Builder. Oh, The latest version lets you rename the bluetooth connection - COOL!

Updates

- EZ-Builder v2011.12.25.00
- EZ-SDK v2011.12.25.00

Changes

- BV4113 native support
- Utility -> Configuration - allows you to change the bluetooth name of your EZ-B
- New roomba protocol and baudrate (115,200) for newer models
- Ping Sensor accuracy and distance increased
- Camera tracking speed increase
- Camera tracking smarter color tracking
- Camera tracking smarter motion tracking
- Modified Servo Movement Panel compatible with ESC (i.e. sabertooth) with Stop Value settings

Many other little hidden fixes, enhancements and such.

*Note: Due to the new modified servo movement panel, you will need to re-select your servo ports on existing projects

Click Here to download
Updates

- EZ-Builder v2011.12.11.00

Changes

- Modified Servo Movement Panel allows you to select the position for Forward/Reverse values. This will support Sabertooth and other unconventional R/C Pulse Width mode hardware.
This latest version of EZ-Builder contains new features and enhancements to camera tracking. The new tracking algorithms are much faster and more reliable - many new settings also. The latest feature is Relative Position Tracking. This feature is to be used if your camera is stationary and you are controlling a robot arm, robot eyes, or other appendages.

Updates

- EZ-Builder v2011.12.10.00

Changes

- New Motion tracking algorithm
- New Color tracking algorithm
- New Camera Config Layout - Hide Settings saves with project for smaller window
- New Track By Relative Position for Servo Tracking - Watch video demo below to see it work
- New Roomba Movement Panel Features



User-inserted image
This latest version of EZ-Builder allows remote control from a Wii Remote over a Bluetooth Connection. You can use the tilt to control multiple servos in X/Y (much like the Finger Pad or Joystick). You may also use the Arrow Pad to control any movement panel.

User-inserted image

Updates

- EZ-Builder v2011.12.04.00

Changes

- Wii Remote Control (Follow control instructions using the ? button)




Updates

- EZ-Builder v2011.12.03.00

Changes

- New color tracking mode (Advanced Color). Removes other colors and tracks specified color

- Motion tracking speed increase

- Programmable Glyph Detection. Print four of the glyphs off and assign script commands to them.

Download



User-inserted image

User-inserted image
Welcome to the latest EZ-Robot Software Release - Let's Motor!

Updates

- EZ-Builder v2011.11.28.00
- EZ-SDK v2011.11.28.00
- EZ-B Firmware v15.1

Changes

- Finger Pad Control: For tablet (or mouse use). Great for controlling a head, or arms for your robot.

- Scripting Recorder: Allows recording of all ez-b communication to be replayed

- IR Decoder: Control your robot from a RC-5 Infrared Remote Control

- Camera Device: Tracking Script works for all types of tracking, not just color

- Support for EZ-Robot Certified HBridge motor controller

- HTTP Server contains Movement control interface

- Camera tracking increased. Higher quality color and motion tracking

A few other things too, minor interface enhancements and a bug fix that no one else noticed except me :) .. So i'll just keep that to myself

Click to download


Script Recorder and Finger Pad Demo

Updates

- EZ-Builder v2011.11.15.00

Changes

- Startup "did you know" help. Displays tips and tricks for EZ-Builder
- Float Controls - Located under the Windows menu option. Try it and see :)
Changes:

- EZ-Builder v2011.11.11.00

Updates:

- Added Examples to the File menu. Many examples for using scripts, and explaining various controls. More examples will come as we create more

Click to visit download page
WOW! We've released the final firmeware to compliment our i2c development. This firmeware update includes many new simplified i2c commands and features not found anywhere else. Now that's the EZ-Robot way! :)

Click to read full article
Wondering why there have been so many i2c updates? We have some new i2c controls to support! And it all starts with this release... Firmware 15 WOW!

Updates

- EZ-Builder v2011.11.09.00
- EZ-SDK v2011.11.09.00
- EZ-B Firmware v15

EZ-Builder changes

- i2cRead now accepts Auto for AutoAck mode. Which acknowledges every read byte except for the last byte
- i2cRestart command added for special restart
- New control for i2c Sure Electronics Dual-Axis Magnetic Compass Module. Soon we'll have some directional controls to work with it :)
- New control for i2c BV4615 RC-5 Infrared Decoder. Control your robot by an infrared remote. Soon you will be able to remote control the EZ-B without the computer connected.

SDK Changes

- i2cReadAutoAck command added. Reads data from the i2c and acnowledges every byte except for the last byte
- i2cRead has override for reading just one byte
- i2cRestart command added
- WriteBinary command added
- BV4615 module added for RC-5 Infrared decoding
- SureDualAxisCompass module added for dual axis magnetic compass
Updates

- EZ-Builder v2011.10.07.00


Changes

- Camera tracking fix when servo reached maximum position, would not recover
- Camera Tracking adjustable frame count to trigger script
- Changed default background :)

I think that's it. Just a few camera tracking issues resolved. And that new option.
Did you think the enhancements to v13 OMG were enough? Now DJ has just released v14 RAD! It contains many new features, one that prevents your robot from running away (literally) when Bluetooth communication is disconnected. :)

There is also a new extended i2c command set, an automatic servo release control and more! Upgrade your EZ-B firmware for free now!

Click to read full article
Hello! Welcome to the RAD Release :)

Updates

- EZ-Builder v2011.11.05.00
- EZ-B Firmware v14

Changes

- I2C commands (start, stop, read, write, ack, etc)
- Auto Release servo control. Automatically releases servos from holding positions after the specified number of seconds
- After testing with 10 different servo brands, the servo timing has been modified to accept their range
- Uart/Serial timing accuracy increased for picky devices
- All EZ-B ports float and servos stop when connection is lost or dropped. No more run-away robots

i2c Changes

The i2c interface has been modified in the SDK and EZ-Builder Scripting. The commands do not change the 1st bit (LSB) for 0 (Write) or 1 (Read) for you. To give full control to the user, the software can not change those bits. This is because some devices are unusual and do not require those bits to be modified. We're trying to cover all devices, and this means more i2c commands.

Now you would need to do the following to send a color change request of Red:255, Green: 10, Blue, 50 to a BlinkM on address 0x09:

Code:


i2cStart()
i2cWrite(0x12, 'c', 255, 10, 50)
i2cStop()



This is because the LSB is used (on some devices) for the direction of data 0 (Write) and 1 (Read). You will need to use the Windows Calculator to shift your bits over by one to set the Write or Read bit. You can simply multiple your address by 2 to get a 0 (Write) on the first bit. Or multiple your address by 2 and add 1 to get 1 (Read) on the first bit. :)

For more information on i2c, I suggest you read: www.robot-electronics.co.uk/acatalog/I2C_Tutorial.html

Post any questions and I'll hopefully be able to help you out :)

Enjoy! *cool*


Updates:

- Firmware v13 (Codename: OMG)
- EZ-Builder v2011.10.31.01

Download Now, Watch Firmware Update Video

This release updates the Firmware v13 OMG, EZ-SDK and EZ-Builder v2011.10.31.01

Changes:

Contains many new features... Including:
- 70 Servo Positions (double resolution!)
- 50 Servo Speeds
- I2C Read for interactive console (Great for debugging and learning about your i2c device)
- support for 5 EZ-B's at once! (That's 100 Servos!)
- an interactive console to the script engine.
- more object avoidance.
- smarter self navigating.
- Script labelling, goto's and conditions.
- Faster and more reliable Ping Sensor support (with false positive algorythms)
- Improved timing on uart output
- Return() allows returning from a goto label in scripting
- Invert servo direction option in Radar Controls
- HTTP Web Server now works with Firefox, Safari, Apple iPhone and Android
- Release and ReleaseAll servo script commands
- ServoSpeed() script command to set the speed of a servo
- IF conditions in scripting
- EZ-Builder has keyboard shortcuts for quick access to help, console, openning and saving projects
- Benchmark control helps diagnose connection/peripheral/power related issues
- Various bug fixes

*Notes: Your existing scripts and controls dealing with servo positions will need to be modified for the higher servo resolution.

Did you know?

Here are a few statistics for the EZ-Robot Community...
- EZ-Builder has 19,695 lines of C++ and C# code
- EZ-SDK has 3,188 lines of C++ and C# code
- EZ-B Firmware has 2,546 lines of Assembler code
- The EZ-B Robot Project was launched February 1st 2011
- The project concept was conceived in April 2010 with this Wall-E Robot
- The current development time has been in excessive of 3,000 hours

Download Now, Watch Firmware Update Video
Updates

- Script engine now understands :Labels. You can GOTO() labels
- Script engine now has IF conditions.
- Fix with Script/Console Intellisense when specifying a board index. The popup intellisense didn't pop up if you specified a board number ( i.e. 2.Servo(d5, 2) )
- Print Script Manual option under Help menu tab


To understand IF conditions, please consult the Script Manual. When an IF condition is true, it will execute the next line of code. If it is false, it will skip the next line of code.

For Example:

Code:


If (Servo D0 > 5)
Goto(Skip)

# Turn on LED
Set(d5, On)

# Move Servo to position 5
Servo(D0, 10)

:Skip
# Turn off LED
Set(d5, Off)

# Move servo to position 2
Servo(d0, 2)



User-inserted image


Updates

Not a huge update.. This is a small update with a few new script commands that I missed a while ago :) ...

- ReleaseAll()
- Release( servo Port )

These new script commands will release a servo from holding its position
Updates

- Can support 5 physical EZ-B Boards now :)

- Fixed a performance issue with serial and i2c connections

- For those with embedded PC's or Soundcards in their robot, there is a new control called Sound Movement which allows your robot to follow loud noises with stereo microphones

- New Control: Script Console. Access the scripting engine directly in real-time
This is a long awaited release of EZ-Builder :) . You will notice some new controls, and much quicker interface. Some new features are:

Updates:
- Connection Control allows script to be executed on established connection
- Sound Servo allows servos to be controlled by sound input of a microphone
- Multiple Servo allows many servos to be controlled at once
- Joystick control re-written to fix errors on some unusual USB joystick responses
- Soundboard now plays WAVs and MP3s
- Soundboard can have unlimited number of audio files
- Ping Radar has improved object avoidance and self navigation
- Ping Radar has increment steps to move scanning servo quicker
- Ping Radar displays debug information to help
- Camera has more options and increased stability when tracking objects
- Roomba Movement Panel now self initializes

There are many more enhancements that you will notice. There are a few controls that read "not implemented" when you load them. They are in development and will be released hopefully soon. I have a few other items being worked on also. Expect another release very soon :)

*Warning
This new EZ-Builder version will not be compatible with some previous controls. Specifically the SoundBoard Control. If your existing project used a SoundBoard Control, then it will need to be removed from the project before loading this version.
Updates

- EZ-Builder 2011.08.10.00

Changes

- New Control (Floor Map, located under misc). Now you can track the location on the screen of your robot. Even draw pictures :)

- Firmware updater contains more logging
EZ-Builder Changes:

- Intel Research Face Detection Haar data file parsing is fixed for different cultures. Ops sorry about that bug *eek*
- Max, Min servo positions for camera servo tracking
- Frame rate for camera tracking


*Notes: Do not specify the frame rate too high. Your camera probably won't support it. In that case, you'll end up getting duplicate images and the robot will be very jerky and act a little crazy.... Unless thats something you want to happen? :)
I'll call this the Hack-a-Day release :)

Updates:

- EZ-Builder v2011.07.22.00


Changes:

- Added script commands to play WAV files from SoundBoard control
- Voice recognition has a "catch all" script command. Play a BEEP as acknowledgement that command was understood
- HTTP Server speed issue resolved
Updates:

- EZ-SDK v2011.07.17.00

- EZ-Builder v2011.07.17.00

Changes:

- Added support for vertical tracking. Now two servos can be configured (optional) to a Camera Control. The camera control will move your camera and track the object horizontal and vertical

- Added support for adjustable quadrant sizes in camera control. The object and lense of your camera might be different than ours. The adjustable quadrant size lets you customize the tracking areas of the image.

- Added Facial Tracking support. Now your robot can track human faces using a very fast algorithm has been added to the camera tracking features.



Updates:

- EZ-Builder v2011.07.11.01

Changes:

- Faster video processing (uses less cpu and memory)

- New feature for Radar Scanner (reverse before turn when object detected)

- Connection control allows user enter COM ports (when the microsoft bug hits for invalid com port entries)
Updates:

- EZ-Builder v2011.07.08.00

Changes:

- Bug fix with camera color tracking script

- Added new control HTTP Server
Updates:

- EZ-Builder v2011.07.04.00

Changes:

- Addition to Camera Device Control. Allows a script to be executd when a color has been tracked, or lost tracking focus. Now your robot can behave differently for detected colored objects



Updates:

- EZ-Builder v2011.07.02.00


Changes:

- Help button on all controls. Loads new control help page on ez-robot.com
- Checks for latest version under Utlities menu option
- Help page linked off ez-builder's home page: Clicky
*Warning: This version is not compatible with older .EZB project files if using Camera controls. Remove camera controls from your previous version and resave.

Updates

- EZ-B Firmware v12
- EZ-Builder 2011.06.28.00


EZ-Builder Changes

- New Window Control Commands
- Added Camera Device (combines all features into one control)
- Camera tracking mode AUTO added to automatically switch between Motion and Color tracking
- Few bug fixes



Updates

- EZ-Builder v2011.06.12.01

Changes

- Sharp IR Radar Control bug fix

- New Control: Movement Script. Allows script commands to be assigned to movements

- New Control Command: RunOnce. Runs personality generator one time (if paused)
Updates

- EZ-Builder v2011.06.10.00

Changes

- ControlCommand script command fix
- Joystick response speed increased
Updates

- EZ-Builder v2011.06.08.00

Changes

- New Control (Personality Generator). This control allows you to create an unlimited number of script commands that will be randomly executed between a High and Low interval in seconds. Use this control to randomly move your robots head, toggle it's eye lights, turn around, speak, beep, begin exploring, stop moving, etc. This will add character to your robot

- Voice Recognition Bug Fix. Crashed when two or more script commands were overlapped

- Joystick Enhancement: Speed of joystick response has been increased

- Color Camera Tracking Enhancement: Speed of color detection has been increased

- Camera Motion Tracking Enhancement: Speed of motion tracking has been increased
Updates

- EZ-SDK v2011.06.03.00

Changes

- Com port enumeration bug fix
- Removed references to unused dll's in example projects
- Removed/Sorted unused Using statements on example project source code
Updates

- EZ-Builder v2011.06.02.00

Changes

- Bug Fix? Initialization of the designer has been re-ordered and moved due to a possible threading issue.
Updates:

- EZ-Builder v2011.05.30.00

Changes:

- New Script command "ControlCommand". Allows scripts to interact with other controls. A script command can now execute another script (i.e. on a button push or voice recognition, execute a multiline script). Or script commands can pause/unpause other controls (have a joystick button toggle the color tracking)

- New feature for Sharp/Ping Radar Controls. The new feature enables AutoCollision Detection. Specify your servo, sensor ports and voila... Your robot can automatically avoid objects. If the sensor is not attached to a servo, simply select NA for the servo port.
Updates

- EZ-Builder v2011.05.27.00
- EZ-SDK v2011.05.27.00


SDK Changes

- Video devices do not require audio input


SDK Changes

- Camera Color Tracking with Movement Panel now includes an adjustable delay in milliseconds

- Video devices do not require audio input
Updates

- EZ-Builder v2011.05.24.00

Changes

- Color Tracking Motion Panel Control optimized with higher precision

- Smaller memory footprint (removed vs hosting process which was used for debugging prior to this release)
Updates:

- EZ-Builder v2011.05.20.00

Changes:

- Faster joystick response

- Left() and Right() script commands accept MS parameter

- More backgrounds
Updates

- EZ-Builder V20.11.05.15.00

Changes

- Analog Joystick #1 defaults to control a movement panel

- Joystick, Script, Movement panel, Camera control movements individually. For example, you may use the joystick to control the movement while the camera is set to follow an object, etc.

- Voice Recognition contains "Confidence" value. This is the mininum confidence for recognition.
Update

- EZ-Builder v2011.05.12.00


Changes

- Added new script command (toggleDigital)

- Added Voice Recognition Enable/Disable control

- Added adjustable joystick axis centering values
Updates Download
EZ-Builder: 2011.05.11.01
Firmware: V11

Changes

- Added new script commands (sleepRandom, MP3TriggerPlayRandom)

- Added Speech Synthesis Control

- Added wallpaper background

- Added application icon

- Bug fixed memory leak in Set Digital, Vertical Servo and Horizontal Servo
Updates Download
EZ-Builder: 2011.05.11.00
Firmware: V11

Changes

- Added MP3 Trigger Control in EZ-Builder

- Added MP3 Trigger Scripting commands

- Speed increase in scripting compiler

Pics

User-inserted image
Hello! Welcome to another release of EZ-Builder! Wait, didn't we just have one yesterday? Sure did! Here is the update...

Updates Download
EZ-Builder: 2011.05.10.00
Firmware: V11

Changes

- Joystick support now includes a command for PRESS and RELEASE of joystick buttons

- Joystick Configure will highlight the button when pushed on the joystick. Makes finding buttons easier

- Soundboard Control added for WAV files. 10 Wav files can be loaded into the sound board and triggered from the buttons to play from PC Soundcard. TODO: Add scripting ability to trigger soundboard files.

- Script compiler returns more descriptive error messages

- New script command: WaitUntilTime( hour, minute ). Pauses script until the desired hour and minute has been reached. Neat feature for configuring your robot as an alarm clock

Pics

User-inserted image

User-inserted image
Update Details - Download
EZ-B Firmware Version: 11
EZ-Builder: v2011.05.09.01
EZ-SDK: v2011.05.09.01


Changes
- EZ-B V3 Support Added!

- Communication protocol speed increased by 75%!

- Joystick Support Added!

- I2C Support Added!

- BlinkM Module and Control

- Now supports 20 Servos (rather than 14)!

- UART bug fix

- EZ-Builder's Modified Servo Movement Panel bug fix

- Roomba Module Bug Fixed

- EZ-Builder Script compiler speed increase

- New Script commands (serial, i2c, playnote, text to speech, etc)

- EZ-Builder camera color tracking module now contains motion control to follow objects

- Servo timing accuracy increased

- Modified Servo speed added

- Ports renamed from RA, RB, RC, RD to D0..D19

- Pause buttons added to EZ-Builder query controls

- Servo position references range changed

- EZ Builder controls default to NA for optional servo port settings

- Many more enhancements and updates

Benchmarks
User-inserted image


This release is not backwards compatible for existing EZ-Builder projects. This is nearly an entire re-write of EZ-Builder, EZ-SDK and Firmware. And because of that, we were not able to salvage backward compatibility references. We assure you that this is a very rare incident.

And as promised, this firmware update is compatible with the EZ-B v2.1! :)