Stackduino-G3

Stackduino version with Android App for my Arduino controller via Bluetooth. PCB available as Gerber files, sized to fit in this small aluminum case. Based on Arduino Pro Mini, Pololu stepper driver and HC-06 Bluetooth modules.

New version for Arduino Nano and IR LED support, additional manual settings and commands.

Click here.

The App

Take a look at the snapshots in my G3 gallery here and read description here below (still incomplete).

From the main (Home) application tab, tap on Connect to list the available paired devices and choose the Stackduino's HC-06. The first time you run the App on a new and fresh Stackduino board you'll probably have to set and save parameters as the appropriate message will suggest.

The app is structured along three main tabs (#1 in the first snapshot)

Home tab: message window (#2); text entry fields (#3 to #9) for setting main application parameters; two checkboxes for Disable stepper driver while the motor is in pause and Return to start position after the end of stacking sequence (or user stop); Reset button will reset the Arduino/Stackduino board; Shot button will test the DSLR camera connection and functionality; Start button will start the sequence; red button #10 is an emergency stop (usage info will follow). After connection to Stackduino-G3 board, the app will load Defaults parameters values and EEPROM saved values, if any.

NOTE: If you assign a Total track value that is incompatible with current Slice depth and Shots values, a window will appear to offer two possible alternatives to choose (tapping on one of the two green fields), it is possible to fix the current value of Slice depth or Shots alternatively and changhe the other.

Settings tab

Main sub-tab: tap on (yellow squares identified) text entry fields and listboxes to change values. Storage sub-tab: you can store and retrieve up to three setting's sets in your Android device internal memory. Set a name by tapping in #14 and save the current set of parameters by tapping on #16.

NOTE: it is possible to clear/reset the memory slot by "long-click" on Save button.

Load defaults button (#18) will load defaults parameter values from the Arduino board to the App. In the save way, you can save and load parameters values to/from Arduino EEPROM using the Controller EEPROM buttons (#19).

Manual tab

Move the rail carriage manually by tapping on left/right blue arrows, using Manual speed setting; while "holding down" (continue pressing) the arrow button, it is possible to change interactively the stepper speed by pressing and holding down the Stack or Fast buttons Fast manual speed and Stacking speed parameters, respectively). The Swap manual motions buttons checkbox will reverse the direction of carriage translation. During Stacking sequence, the Start button will change its function to become a Stop sequence button. The progress of the sequence is shown in the slider widget at the bottom of the screen. By tapping on the Stop button you can break the sequence at any time. The controller will complete the current slice and will return the carriage to the starting position (if the relevant option is set). The Emergency stop red button will immediately stop the stepper motor but it will not be able to return to start.

Refer to the G2 documentation for parameters setting.

  • Slice depth #3 - distance traveled by the rail's carriage for each Slice (shot), unit of measure is settable (micron, mm or cm)

  • Shots #4 - number of camera shots to take (first shot in starting position)

  • Total track #5 - amount of total traveled distance for the whole sequence (from first shot/starting position to the last shot)

  • Exposure post #6 - delay in milliseconds for camera shutter signal

  • Motor post #7 - delay in milliseconds for motor post pause before camera takes shot

  • Stacking speed #9 - delay in milliseconds for stepper stacking speed between shots (during slice travel)

[work in progress]

Part list






SD_G3_1dot0.aia (MIT App Inventor 2 project file)

SD_G3_1dot0a.apk (Android apk file)

Stackduino-G3_1dot1a.zip (Arduino source files)

pierluigi.giorgi@gmail.com