Firmware is a kind of operating system software that runs on microcontrollers (tiny computers) such as used in the USB-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 you the freedom to operate without a computer and go anywhere with your I-CubeX setup ! Configure the USB-microDig's new features released in firmware v7.5 with EditorX v7.5x 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 v7.5x is only available for USB-microDigs with hardware v7.5. There are two ways to upgrade your USB-microDig to the latest firmware v7.5x. The easiest way is to click the "check firmware" button in Connect (v1.5 or higher, only on MacOS for now). if you're on Windows, run FirmwareX v7.5x. Access and configure the new features with EditorX v7.5x.
New in v7.51
Firmware v7.5 requires digital (I2C) sensors to use only a single 1x4 column of the digitizer's input / output connector, saving space so that more devices can be connected than with previous firmware versions. To use a digital sensor with a 2x4 plug, use AdaptCableKit or AdaptCable2DtoD. To modify the plug of a digital sensor follow these instructions.
Example of the virtual input feature first implemented in firmware v7.3: You can map the pitch of an Orient4D 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.
Released in previous versions
- Support for BioBeat3D, Orient4D, ReachCloseD, ReachID and Swipe3D.
- Virtual inputs for digital (I2C) sensors, allowing the separate mapping of each parameter of an I2C sensor.
- Support for I2C actuators (SeeRGB, FeelVibe).
- I2C device plug size reduction: only one column of 4 pins is needed on the input / output connector, instead of 2 columns.
- HotSpot2D support.
- More Orient3D methods.
- Improved plug-and-play management of standalone mode and midi output using a USB-microMIDICable.
- Use lookup tables for analog sensors, eg. for linearization or for setting the response curve.
- 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 USB-microDig.
- Set actuator outputs to PWM signals (eg. for RC servo control, or dimming of LEDs).
- 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.
- 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.