Firmware is a kind of operating system software that runs on microcontrollers (tiny computers) such as used in the USB-microDig, Wi-microDig and microDig. It handles the capture of analog signals, communication with digital (I2C) sensors, their translation into MIDI messages and communication with I-CubeX software, in both standalone mode as well as host mode. It adds intelligence to the digitizer hardware in the form of the features described below. Starting with digitizers that use version 5.0 of the I-CubeX firmware, the digitizers' firmware can be updated with newer firmware versions. For information about other (older/newer) versions of the I-CubeX firmware please visit the support resources.
Standalone mode gives allows you to operate without further processing of sensor data on a computer. Configure the Wi-microDig's new standalone mode features released in firmware v6.3 with EditorX v7.3x and it will remember the settings after power down.
Host mode configurations are edited with Link or SensePlay. For more sensor mapping complexity, use the digitizer with the openFrameworks addon, digitizer Max plugin, iCube & oCube Max plugins or Pd plugin, and apply almost any signal processing algorithm you like.
Firmware v6.3x is available for Wi-microDigs programmed with firmware v6.1 or greater. To upgrade your Wi-microDig to firmware v6.3x click the "check firmware" button in Connect (v1.5 or higher, only on MacOS for now) or, if you're on Windows, run FirmwareX v6.3x. Access the new features with EditorX v7.3x.
New in v6.33
- Firmware versioning with 4 digits and build date. As a result, version 6.32x, v6.31x and v6.30x are all the same as v6.3 and will show in Connect (as of Connect v1.5) as v6.300.
- Improved signal processing for HotSpot2D, Magnetic3D and MoveAround I2C digital sensors.
- Expanded feature list for FeelVibe and SeeRGB I2C digital actuators.
- Improved compatibility with other I-CubeX software.
- Disabled due to memory limitations: support for MoveAlong sensor, support for pulse width modulation output (PWM) to control RC servos, mapping sensor input(s) to an actuator output. Revert back to v6.32 if any of these features are needed.
Example of the virtual input feature: You can map the pitch of an Orient3D sensor placed on the back of a hand to a Pitch Bend message but map the roll of that same Orient3D sensor such that it triggers a Note On when rotating the wrist left to eg. 45 degrees and a Note Off when rotating right to 45 degrees. These mappings can be combined with mapping to actuator outputs so that the pitching movement could control an RC servo that moves something (eg. a light pointing into the audience) up/down while the heading could control another servo that moves the same thing but in the horizontal plane (ie. the light rotates). Of course, the roll movement could turn on/off the light as well.
For binary (on/off) and (firmware v6.32 - 6.30) PWM actuators, the actuator plug's control pin may need to be moved in the housing to the slot between ground and power. The sensor input of the Wi-microDig input / output connector, to which usually the sensor's white wire is connected, is re-purposed as the actuator control output.
Released in previous versions
- Virtual inputs for digital (I2C) sensors, allowing the separate mapping of each parameter of an I2C sensor.
- HotSpot2D support.
- More Orient3D methods.
- Support for I2C actuators (SeeRGB, FeelVibe).
- Support for binary (on/off) actuators (may require re-pinning the actuator plug).
- Support for pulse width modulation output (PWM) to control RC servos (may require re-pinning the actuator plug).
- Map (multiple) sensor input(s) to an actuator output: trigger/dim LEDs, control servos or any other device connected to the actuator outputs in standalone mode directly with (analog or digital) sensors; no need for software on a computer to map inputs to outputs.
- Convert signals varying around a center value to a value from zero: useful for eg. GForce3D, BioVolt.
- Measure time between or frequency of signal peaks or each signal peak and its reset threshold: eg. measure heartbeat BPM with a BioVolt, time between taps on a Touch sensor, frequency of jabs with a GForce3D sensor.
- Use digital (I2C) sensors such as the Orient3D in standalone mode.
- More efficient protocol for digital (I2C) sensors in host mode.
- Use multiple digital (I2C) sensors on one Wi-microDig.
- Various other communication protocol and signal processing improvements.
- Mapping of sensor values to any MIDI channel voice type message ie. note-on/off, key-pressure, control-change, program-change, after-touch (all 7 bit resolution) or pitch-bend (10 bit resolution). MIDI running status can be turned on or off.
- Sensor data processing: inversion (increasing sensor values result in decreasing MIDI data values), thresholds (the sensor values within the specified range are offset and scaled to the MIDI data output range), zooming (set the sensitivity of an input to a specific voltage range), time averaging (reduce noise by averaging over up to 16 sensor values), differentiation (output only the difference between two successive sensor values), peak/dip detection (detect the largest/smallest value of up to 16 sensor values and output that or a preset value), noise gate (output only when the sensor value changes more than a user-set difference from its current value).
- Gesture recognition: gesture onset detection (through peak or dip detection mapped to e.g. note-on event with velocity value corresponding to peak or dip value), post-onset processing (continuous averaging and/or differentiation, mapped to e.g. after-touch or pitch-bend messages), gesture end detection (sensor value above/below threshold, mapped to e.g. note-off event).
- Factory reset option: allows you to return all digitizer settings to its original settings when it was first shipped to you.
The digitizer MIDI communication as implemented by the firmware is described in the USB-microDig firmware reference documentation.
We are not aware of any bugs at this time. Please notify us if you think you may have encountered one.