Printing is only possible on devices running Android 3.1 or higher.
Printing is available beginning with ODK Collect 1.3; see the Printing Widget section of the Examples page for how to create a form that uses the printer widget and how labels are formatted.
The ODK Zebra Printer Driver has been tested with the MZ220 and MZ320 printers. See the Zebra Technologies website for information on that printer.
- These instructions assume you have already installed ODK Collect 1.3 (or higher) and
ODK Sensors on your device.
- Please read all the instructions and notes before beginning.
Downloading from Google Play
- From your device's application drawer, choose the Play Store.
- Search for "ODK" choose "ODK Zebra Printer Driver" from "Open Data Kit".
- Select that result and click the Install button. Click OK after viewing the security settings.
Downloading from Web
- From your device's application drawer, choose Settings, then Applications. Make sure Unknown sources is checked.
- Return to the application drawer and choose Browser. Navigate to downloads/download-category/sensors-and-printers/ and download "ODK Zebra Printer Driver vN.N...apk"
- In the download window, you will see "ODK Zebra Printer Driver vN.N...apk". Select it to download the file. On older devices, the APK will automatically install after you approve the security settings. On newer devices, you must go to the download list, rename the file to restore the .apk extension (the extension will have been renamed to .man during the download process), then click on it to install it.
Configuring the Zebra MZ Series Printer
The general steps are as follows. For clarifications, please refer to the documentation on the Zebra Technologies website.
- Download and install the 'Zebra Setup Utilities' for the MZ Series printers (these utilities include all the necessary printer drivers).
- Connect the MZ series printer to your computer via USB cable and install the printer driver for it on your computer.
- Open the 'Zebra Setup Utilities' tool
- Select your printer.
- Click on the 'Configure Printer Connectivity' button
- Select 'Bluetooth' and advance to the 'Bluetooth settings' screen.
- Set the 'Friendly name' and 'Authentication pin' of your printer.
- Complete the configuration and exit the tool
Your Android device will not be able to 'pair' with your printer until it has been given an Authentication PIN; you will need to remember the Friendly name, as it will be how the printer is identified during the configuration process. The MZ series printers do not come with a pre-configured PIN value. If not specified, the friendly name will be the model number of the printer (MZ220 or MZ320). For the following documentation, the 'Authentication PIN' was set to 1234 and the 'Friendly name' was set to HMBPrinter
Configuring the ODK Zebra Printer Driver
There are many steps in this process. Many of them are on Android system settings screens to establish communications between your Android device and the printer. Once that is accomplished, there are only a few ODK-specific configuration setting for the driver itself.
- Click on the 'ODK Zebra Printer' to launch the printer driver. This screen should appear:
- Click on the 'Print' button. Since no printer has been configured, this screen should appear:
- Click 'OK'. This ODK Sensors configuration screen should appear:
- Click 'Add Bluetooth Device'. This screen should appear:
- Click 'Device Scan'. This alert may appear (if Bluetooth is not yet enabled under Android's Settings / Wireless & network settings):
If it does, click 'Yes'. The list of devices will then populate:
- The first time a Bluetooth device has been encountered, before Android has 'paired' with it, it will appear as a cryptic hexadecimal value on this screen (e.g., '00:03:7A:4D:C8:FA'). Click on this cryptic entry. This alert with then appear:
- Click 'Yes'. An Android settings configuration screen will be presented:
The list under 'AVAILABLE DEVICES' should populate (if not, click on the 'SEARCH FOR DEVICES' button at the bottom of the screen). This list no longer reports the cryptic hexadecimal value from the preceding screen. Instead, it presents the 'Friendly name' for the devices it finds. In this case, we gave our MZ220 a 'Friendly name' of HMBPrinter in the earlier section. Click on that device. The following screen will be presented:
- Enter the 'Authentication PIN' from the earlier section (e.g., 1234). The printer should now be successfully paired with your Android. This is indicated by the device moving up into the 'PAIRED DEVICES' section on this screen:
- Click the back button to exit the Android configuration settings. This returns us to the ODK Sensors configuration screen with the cryptic hexadecimal value for the device:
- You can either click on that hexadecimal value, or hit 'Device Scan' (which should cause the hexadecimal value to change to the Friendly name) and click on your printer. This selection dialog should appear:
- Select 'Zebra MZ Series Printer' and click 'Select'. The underlying screen should refresh with a check beside the printer indicating that it has been configured with the driver:
- Click the back button to exit the ODK Sensors configuration screen. You are now back to the ODK Zebra Printer Driver screen:
- Click 'Exit print screen' to exit the app.
You have completed the configuration of the printer.
Using the ODK Zebra Printer
The usage sequence for the printer from ODK Collect is as follows:
- From within ODK Collect, navigate to the print widget. e.g.,
- Click on the 'Initiate Printing' button. This will launch the ODK Zebra Printer app:
- At this point, make sure the printer is turned on (green light is illuminated).
- Click on 'Print'. After some time, the blue 'working' light of the printer should illuminate, and then it should print.
- Once printing is complete, click on 'Exit print screen' or click the back button to exit back to ODK Collect.
If there is a problem printing, or if you need multiple printouts of the same data, you should be able to hit 'Print' to retry or repeat the printing of the label.
In some cases, particularly if you are changing between configured printers, or needed to set up a new printer, you may need to exit back to ODK Collect and click 'Initiate Printing' to successfully print the label.