Release Note
86Duino Coding 500– 2024.06.08
Update of the Arduino IDE from Version 1.8.9 to 1.8.19
- Theme Color Optimization: The theme colors have been optimized to use softer colors.
- Theme Font Optimization: The theme fonts have been optimized to use more suitable fonts and colors.
- Serial Monitor Update: Added a new 3000000 Baudrate option.
- Programmer Update: Updated the programmer (v86dude.exe) to support more necessary programming commands and to handle PL2303 pin operations.
- New QEC Series (with Vortex86EX2 CPU) Boards Added:
- QEC M01
- QEC M043T
- QEC M070T
- QEC M090T
- QEC M150T
- Help and Example Menu Updates: The items displayed in the Help and Example menus will vary depending on the selected board.
- New Features for QEC Series Products:
Plugins and Tools
- 86HMI – Visual Human-Machine Interface Editing Tool (Beginner-Friendly):
- Draw QEC UI interaction interface in a 1:1 screen ratio.
- Full support for QEC M043T, M070T, M090T, M150T.
- 33 types of UI components with necessary parameter settings.
- Allows loading of custom images, sounds, fonts, etc.
- Two theme styles available, customizable theme styles.
- Automatically generates code in the IDE without writing any drawing code.
- 86EVA – Visual EtherCAT Configuration Tool (Beginner-Friendly):
- Implements low-threshold EtherCAT operation using the concept of Virtual Arduino.
- QEC Slave online position swapping; does not require reconfiguration after removal, the original program continues to work.
- Automatically generates Arduino-style code.
- Automatically generates GPT descriptive statements, allowing users to generate required code with ChatGPT assistance. (ArduBlock and GPT can only choose one).
- ArduBlock – Drag-and-Drop Block Programming (Beginner-Friendly):
- Corresponds to 86HMI, EtherCAT functions, and provides basic Arduino functions (digitalWrite, analogWrite, etc.).
- Fully provides 86HMI component blocks, implementing interactive behavior after components are triggered.
- Provides QEC EtherCAT specific blocks, allowing completion of EtherCAT programs on QEC without writing any code, using 86EVA.
- One-click generation and upload of programs.
- Resource File Upload Function: Uploads all files in the resource folder of the 86Duino project.
- Resource File Download Function: Downloads all files in the resource folder from the QEC machine (this function can be disabled in the Bootloader, enabled by default).
- QEC Reboot Function: Reboots QEC online (software reset), no need to manually toggle QEC power.
Firmware Package Programming
- Automatic Multi-Firmware and Tool Programming: Includes EtherCAT, 86EVA firmware tools, Bootloader Menu firmware tools, etc. Future IDE versions can update all firmware and tools on the QEC Master with this button (update time varies by model).
- One-Click Program and Resource Package Programming: During the programming process, if 86HMI resource files or 86EVA configuration files are detected, they will be automatically included.
Additional Features
- Three New Shortcut Buttons: Added to the top right corner, corresponding to 86HMI, 86EVA, ArduBlock, hidden when a non-QEC board is selected.
- New Libraries:
- EtherCAT – EtherCAT Master library providing complete API needed for EtherCAT, suitable for basic developers.
- SCoop – Cooperative multitasking library for writing multitasking programs in the Arduino environment.
- FRAM – FRAM library for non-volatile data read/write similar to EEPROM.
- MySQL
- LVGL86 – 86HMI underlying library to assist in drawing QEC UI screens.
Bootloader Updates
- New Commands: Upload executable files + resource files, upload firmware packages, corresponding to the new programming functions in the IDE.
- Load Balance Programming Support: Enhances the number of programming cycles within the limited disk overwrite life.
- Automatic Disk Formatting and Recovery: Supports automatic disk formatting and work environment recovery upon disk damage.
- Built-in Menu on QEC M070T, QEC M090T, QEC M150T (Enter by pressing the top left corner of the screen):
- Set Bootloader password, User App password, enable/disable IDE upload program function, enable/disable resource download function, providing data security for developers.
- Real-time touchscreen calibration.
- Set QEC display time.
- Launch the built-in 86EVA program, scan QEC EtherCAT Slave devices, complete configuration file modifications/settings.
- Modify/set EtherCAT Redundancy, CycleTime (without entering the BIOS menu).
BIOS Update
- EtherCAT Redundancy and CycleTime Settings: Support adjustments for these settings.
86Duino Coding 318– 2019.09.11
- IDE re-ported to Arduino 1.8.9, supporting all functions of Arduino 1.8.9
- Added Modbus library, supports Modbus ASCII, Modbus RTU, Modbus TCP protocol, supports Modbus Master / Slave and Gateway functions.
- Added Motion86 library, supports various motion control functions, up to 9-axis pulse wave output (86Duino One), can control 3 XYZ three-axis machines at the same time, G-Code command, can dynamically modify feed (Feedrate override), can achieve speed smoothing (lookahead), and support manual functions such as JOG, MPG (handwheel)
- Updated Encoder library to support link with Motion86 library
- Update the TimerWDT library to allow FPU functionality when calling attachInterrupt()
- Fixed a bug in the Servo86, TimerOneMs, and Timer2 libraries for interrupt status
86Duino Coding 317– 2018.10.12
- IDE re-ported to Arduino 1.8.7, supporting all functions of Arduino 1.8.7
- twi.cpp fixes a bug about I2C ISR
- Update the Servo86 and AIServo86 libraries, add detach servo behavior to Servo class and AIServo class destructor
- Updated Audio library to support the new sound features of 86ME Mk-II 2.2.0
86ME MK-II 2.2.0
- Added robot pronunciation command (PlaySound) to allow the robot to send a specified audio
- Add to the audio list editing window to load up to 32 mp3 or wav audio files
- Update the automatically generated robot firmware code to support the robot to play sound through the 86Duino HD Audio interface (use the 86Duino Coding 317 to compile the program)
86Scratch (1.2)
- Updated Python helper, support for 86ME Mk-II 2.2.0 automatically generated Scratch lesson, new sound playback blocks
86Duino Coding 316 – 2018.02.05
- Re-ported IDE to Arduino 1.8.5, support all Arduino 1.8.5 features
- Program compilation upgrade to GCC 6.4.0
- Added FirmataPlus86 library, allows develop own 86firmware connecting to Scratch
- Fixed when compiling FirmataPlus.ino
- Added AIServo86 library support Robotis Dynamixel MX-64 servo
- Improve the FreeIMU1 library to significantly accelerate the initialization of inertial estimates
- Fixed a bug in detach() of the Servo86 library
- Improve bootloader memory usage and improve program reliability
86Scratch (1.0)
- Support Scratch 2.0
- Built-in S2A, S4A, 86Hexapod, 86Humanoid Rider 4 courses, and supports the addition and deletion of custom course
- Support USB Serial, Bluetooth, Ethernet, ESP8266 WiFi client & AP connection
- Windows 7/8/10, Linux, Mac OS X operating system supported
86Duino Coding 315 – 2017.1.23
- Added AIServo86 library to support various types of AI servers using serial transmission (eg Robotis Dynamixel AX-12, RX-28, MX-28, XL-320, …), using the Servo86 Library
- The Servo86 library includes the Catmull-Rom spine trajectory planning feature
- Fixed array size error for the FreeIMU1 library
- Fixed an error in the attachInterrupt () of the Encoder library
86ME (1.95) update
- Added ESP8266 WiFi wireless remote control function
- New function for triggering on analog pins (for infrared obstacle avoidance)
- “Mirror” function is added to the action editing interface
- Robot Motion Interpolation (motion path interpolation) The Catmull-Rom spine option is supported
- The Motion Flow Control instruction supports reading keyboard and GPIO inputs
86Duino Coding 300 – 2016.8.29
- IDE transplant to Arduino 1.6.11, support all the features of Arduino 1.6.11
- Upgrading compiler to GCC 6.1.0 and DJGPP 2.05
- Servo86 library update, adding cubic spline path planning function, and can be read VStone control board frame files, and support for the new 86ME1.9
- New RGB Matrix Panel library, support Adafruit serial RGB LED matrix panel
- Integrated Adafruit GFX library to match RGB Matrix Panel library compilation requirements
- Fixed an Arduino max () and min () macro defined in the library ROSserial86 caused conflict with the C ++ STL issue
- correction V86DUDE long file name bug
86ME (1.9) update
- The ability to support the dynamic balance of the compensation angular velocity, angular velocity sensors can be used inertial data dynamic correction posture of the robot, the robot enhanced standing and walking
- Attitude angle and angular velocity compensation can be realized while every single servo position control inertial sensor PD
- It allows you to set start inertia sensor attitude angle range compensation
- Robot motion interpolation (motion path interpolation) support cubic spline smoothing options
- Support for more Motion editing options (duplicate motion, rename motion, import / export motion, …)
- Support video remote control
86Duino Coding 213 – 2016.6.27
- Servo86 library update, adding inertial sensor dynamic multi-axis servo motion correction function to support the new 86ME1.8
- FreeIMU1 library update speed up the correction rate gyroscope initialization
- Update stdint.h content to support early XBee library
86ME (1.8) Update
- Added to support 86Duino ONE built-in 6-axis and RoBoard Module RM-G146 9-axis inertial sensor
- Each servos individually using inertial attitude data corrected position sensors, autonomous robot to achieve dynamic equilibrium
- Allow use accelerometer data to trigger an action when the robot fell down to achieve self-protection and automatic up function
- Added math operation flow control and conditional skip instruction
- Allow when in editing, release of individual servo output, servo avoid overloading burn
86Duino Coding 212 – 2016.3.30
- Support new Model 86Duino PLC
- New library: compatible Arduino Zero’s RTCZero
- Firmata library updated to version 2.5.2, supports the latest version of the S4A (Scratch for Arduino) graphical programming environment
- WiFi library updates, compatibility Arduino 1.6.8
- Servo86 library updated to support the 86ME1.7
- Fixed Audio Library to adjust the output sound bug
- Fixed rosserial86 libraries in ESP8266 wireless module with data transmission, data fumbled occasionally cause a bug
- Fixed IPAddress.h result in a conflict with ThingSpeak communication library bug, now supports ThingSpeak Things Cloud Platform (need to install ThingSpeak_86 library: https://github.com/acen2009/ThingSpeak_86)
86ME (1.7) Update
- New Action layered editing functions (such as: humanoid robot on the lower body can edit individual separate action, and then dynamically compounded when handling)
- Support Japanese operating interface
86Duino Coding 211 – 2016.1.14
- Added Arduino-compatible WatchDog function:. Wdt_enable (), wdt_disable (), wdt_reset ()
- Most Arduino WatchDog program now able to compile and execute on 86Duino.
- Added TimerWDT library (86Duino only), can access advanced features from Vortex86EX WatchDog hardware.
- Update FreeIMU1 library algorithms, provide more stable inertial pose estimation.
- Wire Library Added WireLEGO category, accessible Lego Mindstorms NXT sensors.
- ROSserial86 Library Added support ESP8266 WiFi module, take advantage of this feature allows 86Duino via WiFi connection to other ROS nodes.
- SPI library updates, Arduino 1.6.5 compatibility.
86Duino Coding 210 – 2015.7.7
- Rewrite Exception Handlers, allowing users to program when the crash does not return DOS. This ensures that when a user writes a bug in the program caused 86Duino dead when, still upload through USB normal 86Duino new program, no need to pass through SysImage restore the firmware system.
- Improve I / O initialization program priorities, solve the problem of incompatibility with S4A. S4A (Scratch for Arduino, http://s4a.cat/) Arduino is a graphical programming environment, is now available directly on 86Duino .
- Extended Servo86 library functions:
- Read Innovati (niche) action editor motion generated file
- Read Pololu Maestro action editor motion generated file
- Read KONDO KHR-2HV action editor motion generated file
- Implementing reading function KONDO KRS-786/788/4014 of the servo position feedback
- Rewrite Servo86 action editing server program, with 86ME 1.2
- Fixed Time86 library reading time incorrect bug.
86ME Robot Action Editor
- fine-tune the user interface, make it even more easy to operate.
- Allows servo movement speed adjustment in Edit mode, drag the robot movements become more smooth.
86Duino Coding 209 – 2015.5.18
- Modify the program files under cores/arduino directory, making it compatible with Arduino 1.6.x
- Fixed USBCore.cpp access I / O register bug
- Added 86Duino dedicated Servo86 library
- Compatible with the Arduino Servo library
- Dynamically controlled RC servo rotational speed
- Trimmable RC servo center offset values
- Available sensor sensing value corrected RC servo action
- Supported control multiple RC servos synchronized actions
- Dynamically set and control of the robot frame (motion frame) playback process
- Supported loaded and stored in advance edited robot motion frame
- Provide action editing server program, permeable Firmata cooperation protocol with 86ME, Edited Robot action on PC
- The Firmata library’s default buffer size increase from 32 bytes to 128 bytes, in order to edit the server with the action program
- Fixed a bug when initialization EthernetClient library
86ME Robot Action Editor
- Support graphical user interface
- Support edit movements and robot frame playback
- Support store edited action frame for Servo86 library use
- Support automatic playback operation flow generated 86Duino program, saving the time to write programs
86Duino Coding 208– 2015.3.20
- New rosserial86 library (86Duino exclusive), porting from ROS (Robot Operating System) rosserial to 86Duino, also supports Ethernet and Serial mode allows 86Duino integrated serial port via the Internet or any ROS system.
- Based on Arduino 1.6.1 update, modify SD library, accelerate SD card write speed.
- Fixed Serial.peek () action is inconsistent with the Arduino problem.
- Update avr / pgmspace.h, increasing the program’s compatibility with Arduino.
- Update delay (), delayMicroseconds () and millis () and other time-related function, so that function can adapt to change when the CPU clock frequency is automatically adjusted.
- Update the internal underlying I / O libraries, speed I / O and interrupt processing speed.
- Fixed IDE serial monitor display abnormal bug in Linux.
- Speed up compilation IDE repeat the same program when compiled.
86Duino SysImage (20150312) changes
- Modify the IRQ4 default BIOS settings to Level Trigger Mode
86Duino Coding 207 – 2015.1.1
- Upgrade IDE bottom layer, compatible to Arduino 1.5.8
- Complier system updates, change to DJGPP cross compiler
- Do not need to perform DJGPP through DOSBOX simulator, speed up compiler
- Upgrade to gcc version 4.9.2
- Upgrade to binutils version 2.24
- The new complier system has no 8.3 character filename limitations
- All of the kernel source file name and sample code file name, changed back to the original Arduino long file names.
- Linux version of IDE began to distinguish 32-bit and 64-bit versions to adapt JAVA runtime of 32-bit and 64-bit platform differences.
[ Libraries ]
- Added RF12 library, support RFM12B wireless transmission modules.
- Added RF24 library, support nRF24L01 wireless transmission modules.
- Added Mirf library, another set of common nRF24L01 library.
- Added RadioHead library, support and other RFM22 and nRF24L01 multiple wireless transmission modules.
- Improved EEPROM library, does not rely the CMOS battery can work.
- Improved Encoder library unloaded interrupt subroutine.
- Correction Ethernet library at client repeat 16 times will break the connection bug.
- Correction Serial read () function timeout, solve for the ROS rosserial for arduino kit compatibility problems.
86Duino Coding 106 – 2014.11.11
[ Libraries ]
- Added GLCD library, support Arduino graphic LCD.
- Added LCD12864 library, support ST7920 chip graphic LCD.
- Added TLC5940 library, support TLC5940 PWM chipset.
- Added MsTimer2 library, supports some Arduino program, requires second timer.
- Added Adafruit Motor Shield library, support Adafruit DC / stepper motor drive expansion board: Adafruit Motor Shield.
- Added VirtualWire library, support Sparkfun WRL-10534 and WRL-10532 RF modules.
- Correction Ethernet library to compile some of the conflict on the OneWire library examples.
- New AVR / pgmspace.h increased compatibility for Arduino.
- New WProgram.h increased compatibility for Arduino.
- Join #define ARDUINO definition, increased compatibility for Arduino.
86Duino SysImage (20141103) changes
- Updating the BIOS version to Guava 0.97, amend the BIOS Shadow RAM setting bug.
- BIOS includes Vortex86VGA VBIOS, support new mini-PCIe Vortex86VGA Card. (MINIPCIE-9160)
86Duino Coding 105– 2014.09.19
[ API ]
- Fixed analogRead () a potential of bug.
- Fixed tone () when enter 0, inconsistent behavior problems with Arduino UNO.brary, for sending / receiving infrared remote control signals.
[ Libraries ]
- Added TimerOne library (Note: This library adds another TimerRTC class, support x86 RTC timer interrupt callback)
- Added H. Karlsen’s UTFT library, support most Arduino TFT LCD screen.
- Added H. Karlsen’s UTouch library, support touch screen.
- Added Adafruit CC3000 library, support Adafruit wireless network expansion board: CC3000 WiFi Shield.
- expansion Encoder library functions, added setRange () set the encoder’s counter bound, and directionRead () reads the encoder rotation direction.
- fixed EEPROM library write_cmos () function bug.
- Fixed CANBus library init_Filt () function bug.
- Modified IDE Main-> Examples menu display allows display a list of examples beyond the screen resolutions.
- Upgraded DJGPP compilation version to 2.04
- EduCake added forced into the bootloader mode (allow EduCake RS232 port Ring and RTS (or DTR) pin shorted to reboot), users can upgrade EduCake the bootloader via IDE (or SysImage 20140918).
86Duino SysImage (20140918) changes
- Updated BIOS version to Guava 0.96, modify BIOS crossbar table initial value, all PWM and Encoder pin set to GPIO as boot default.
- modified FreeDOS boot config, default does not load EMM386.
- DPMI server set to CWSDPR0.
- Changed EduCake bootloader.
86Duino Coding 104– 2014.07.14
[ Libraries ]
- USB keyboard transplanted from the Arduino Due join the USB Host library, used to access external / mouse (Note: use USB Host library, need to upgrade BIOS to Guava version 0.95, use 86Duino SysImage 20140709 to upgrade
- Added 86Duino dedicated Encoder library (support Vortex86EX of motion-control module’s sensor interface interface) that supports the 32-bit Step / DIR & CW / CCW & A / B Phase incremental encoder, optical ruler, SSI absolute encoder, and 10ns resolution pulse width measurement function.
- Join transplanted from Arduino 3rd parties IRRemote library, for sending / receiving infrared remote control signals.
[ API ]
- Added USB HID support, can be simulated as 86Duino USB keyboard / mouse.
- tone () function switch to digital / PWM pin timer 32 is implemented to solve the original tone () shared timer conflict with Servo library.
86Duino Coding 103– 2014.04.25
[ Libraries ]
- Added SoftwareSerial library (UART software simulation) and GSM library (use 86Duino dial cell phone, text message! ).
- Added 86Duino special CANBus library (support Vortex86EX CAN BUS interface)
- Fixed SPI library transmission speed setting bug.
[ API ]
- Added tone() to support PC speaker.
- Fixed analogWrite() bug.
86Duino Coding 102 – 2014.03.07
[ Changes ]
- Arduino 1.5.2 built-in 73 sample programs can all compile in Coding 102.
- Support Chinese title display function.
- Fixed “Add Library …” (to install a third-party library from IDE) features bug.
[ API ]
- Added cpuTemperature () function can be read Vortex86EX CPU temperature.
- Rewrite analogRead () and analogWrite () function, it can be called in the interrupt subroutine.
- Correction pinMode () function sets the tri-stated pin bug, added INPUT_PULLDOWN parameters, support Vortex86EX GPIO’s pull-down mode.
- Increase the Serial Class of TX / RX buffer, the 128 bytes changed to 4K bytes.
[ Libraries ]
- Added Arduino-compatible Audio library (Support One and EduCake HD Audio output)
- Added Arduino compatible Time86 library (read Vortex86EX RTC clock)
- Added Arduino compatible FreeIMU1 library (read 86Duino ONE six-axis inertial sensors and calculate the precise posture)
- Added Arduino compatible CapacitiveSensor library (supports capacitive sensing function)
- Added Arduino compatible OneWire library. (One-wire protocol support temperature sensors)
- Increase the maximum connections of Ethernet library to 128 (regular Arduino connections only 4), and add another Ethernet.localMAC () function can be read Vortex86EX’s MAC address.
- Correction EEPROM EEPROM library source virtual switch settings (default 16KB using virtual EEPROM).
- Correction Wire library, added after 86Duino reset mechanism to prevent I2C mess.
86Duino Coding 101 – 2014.01.01
[ bootloader ]
- Update to Hehuan 1.0
- Fix USB device library with USB serial driver Mac’s clash problem.
[ IDE ]
- Support MAC OS X Mavericks
- Support Boolader Hehuan protocol
- Support for Arduino libraries to connect external DOS libraries
[ API ]
- Rewrite time functions (delay (), millis (), …, etc.), improved Arduino time limit function can not be interrupted during use.
- Fixed serial and USB serial driver Mac’s clash problem.
- Added Serial232 (for 86Duino EduCake of COM6)
[ Libraries ]
- Added Arduino WiFi library
- Added Arduino Ethernet library
- Added Arduino TFT library
86Duino Coding 100 – 2013.11.01
- Officially Release