The Dilduino is the name for the brains of the Mod — the hardware and software that work together to get you off. Let’s take a look.
The Dilduino is very similar to an Arduino Leonardo or Arduino LilyPad USB (or any other ATmega32u4-based Arduino). We’ve made three special additions for our version:
- Integrated motor driving circuitry — connect your 3 vibration motors at 1+/1-, 2+/2-, 3+/3- and each is directly connected to the battery.
- Integrated battery charging over USB.
- On-board multiplexer for selecting between inputs. The Hacker Port on your Mod gives you regulated 3.3V power (up to 350mA) and two pins for sensor/controller communication in a standard USB port. The multiplexer acts as a switch to give you two PWM outputs, I2C/Two-Wire sensor communication, analog sensor communication and software serial communication, all on the same pins.
|Micro B USB port for charging/programming|
|3.3V output (350mA max) for peripherals|
|Hacker Port access for I2C (HP0=2,HP1=3)/software serial (HP0=15//RX,HP1=14//TX)/analog in (HP0=A7,HP1=A9)/PWM out(HP0=D6,HP1=D9)|
|#4 / 3mm mounting hole|
|Serial transmit status LED|
|External active-low button hookup|
|Connections for 3 vibration motors|
|Momentary button on/off switch|
|JST connection for single-cell Li-polymer battery|
|Serial receive status LED|
|User LED (13)|
|Battery charge status LED|
We have two important pieces of software for using your Mod. The first our open-source OSSex software. It’s an Arduino library that sets up all of the various inputs and outputs and has functions for storing and running vibration patterns. Release milestones are available at GitHub.
The second is the sketch loaded on your Mod, Mod Sketch. It uses OSSex to provide the patterns that come shipped with your Mod, sets the button behavior (click moves to next pattern, double-click increases intensity, etc.), creates a serial console and has the startup sequence that blips all 3 motors and flashes the LED. If you want to change how your Mod runs, this is a good place to start. Release milestones available at GitHub.
Want to get started programming your Mod? We have a how-to to guide you through the basics.
The Mod Sketch creates a serial console that you can use to interact with or tweak your Mod without having to upload new code. Simply connect to it with a serial terminal app (such as the one built-in to the Arduino IDE, or HyperTerminal or zterm, etc.) at 9600 baud and start typing away. Below is a run-down of the commands it accepts:
l,xto set the LED
To set the LED to a power of 200:
To turn the LED off:
-1,x,… to set a particular output (motor)
To turn all outputs on to 150:
To turn output 2 to 220:
cto cycle through the patterns. This will return the current pattern number.
gto get the current pattern number.
sto stop all patterns and turn all outputs off.
r,xto run a particular pattern.
Run the first pattern:
You can adjust power and time settings with
T. All power and time adjustment commands will return the current power or time scale, with 1.0 being normal. A power scale of 1.5 means all patterns will run at 50% higher power than normal. A time scale of 0.75 means that all patterns will run 25% faster than normal.
pto decrease power.
Pto increase power.
tto decrease pattern step time (run faster).
Tto increase pattern step time.
Read an input:
i command reads a given input channel on your Mod and prints that value to the console. Mods have two inputs, so
i,1 are the two options for now.