This document provides detailed information about iMin device compatibility and feature support.
This SDK supports all iMin devices with built-in thermal printers. The devices are categorized into the following series:
Handheld Finance Series
- Compact handheld devices with 58mm paper width
- Portable design for mobile payment and receipt printing
- No cutter function
Flat Panel Terminal Series
- Tablet-style terminals with various screen sizes
- Support both 58mm and 80mm paper widths
- Some models include cutter functionality
Desk Cash Register Equipment
- Desktop POS terminals for retail and hospitality
- Primarily 80mm paper width with cutter support
- Enhanced performance for high-volume printing
- 58mm devices: Compact receipts, suitable for mobile scenarios
- 80mm devices: Standard receipts, ideal for retail and restaurant use
- Devices with cutter function support both partial cut and full cut operations
- Cutter availability depends on specific device model
- Use
partialCut()andfullCut()methods only on devices with cutter support
| Feature | All Devices | Notes |
|---|---|---|
| Text Printing | ✅ | Supported on all devices |
| Text Formatting | ✅ | Font size, style, alignment |
| Line Feed | ✅ | Standard line feed operations |
| Paper Feed | ✅ | Custom paper feed distances |
| Feature | Compatibility | Notes |
|---|---|---|
| Anti-White Text | ✅ | Reverse text printing |
| Text Bitmap | ✅ | Text as bitmap rendering |
| Column Text | ✅ | Table-like text formatting |
| Custom Fonts | ✅ | Multiple typeface support |
| Feature | Compatibility | Notes |
|---|---|---|
| Single Bitmap | ✅ | URL and byte array support |
| Multiple Bitmaps | ✅ | Batch image printing |
| Black & White Images | ✅ | Monochrome image processing |
| Color Chart Images | Limited device support | |
| Image Translation | ✅ | Image positioning support |
| Barcode Type | Compatibility | Notes |
|---|---|---|
| UPC-A | ✅ | Standard retail barcode |
| UPC-E | ✅ | Compact UPC format |
| EAN-13 | ✅ | European article number |
| EAN-8 | ✅ | Short EAN format |
| Code 39 | ✅ | Alphanumeric barcode |
| Code 93 | ✅ | Enhanced Code 39 |
| Code 128 | ✅ | High-density barcode |
| ITF | ✅ | Interleaved 2 of 5 |
| Codabar | ✅ | Variable-length barcode |
| Feature | Compatibility | Notes |
|---|---|---|
| Single QR Code | ✅ | Standard QR code printing |
| Double QR Code | ✅ | Side-by-side QR codes |
| Error Correction | ✅ | L, M, Q, H levels supported |
| Custom Size | ✅ | Adjustable QR code size |
| Positioning | ✅ | Left margin control |
| Feature | Compatibility | Notes |
|---|---|---|
| Label Canvas | ✅ | Custom canvas creation |
| Label Text | ✅ | Positioned text on labels |
| Label Barcodes | ✅ | Barcodes on labels |
| Label QR Codes | ✅ | QR codes on labels |
| Label Images | ✅ | Images on labels |
| Label Shapes | ✅ | Geometric shapes |
| Feature | 58mm Devices | 80mm Devices | Notes |
|---|---|---|---|
| Partial Cut | ❌ | ✅ | Only devices with cutter |
| Full Cut | ❌ | ✅ | Only devices with cutter |
| Paper Format | ✅ | ✅ | 58mm/80mm selection |
| Feature | Compatibility | Notes |
|---|---|---|
| Cash Drawer | ✅ | Electronic cash drawer control |
| Status Detection | ✅ | Paper, temperature, errors |
| Serial Communication | ✅ | Device information retrieval |
| Buffer Management | ✅ | Print job buffering |
| SDK Version | Android Version | Recommended | Features |
|---|---|---|---|
| SDK 2.0 | Android 13+ | ✅ Yes | Full feature set: label printing, text bitmap, buffer management, advanced configuration |
| SDK 1.0 | Android 11 and below | ❌ Legacy | Basic printing, image printing, barcode/QR code support |
Important: Choose the SDK version based on your target Android version:
- For devices running Android 13 or higher, use SDK 2.0
- For devices running Android 11 or lower, use SDK 1.0
| Feature | SDK 1.0 | SDK 2.0 | Migration Required |
|---|---|---|---|
| Basic Printing | ✅ | ✅ | No |
| Image Printing | ✅ | ✅ | No |
| Barcode/QR | ✅ | ✅ | No |
| Label Printing | ❌ | ✅ | Yes |
| Text Bitmap | ❌ | ✅ | Yes |
| Buffer Management | ❌ | ✅ | Yes |
| Advanced Config | ❌ | ✅ | Yes |
All iMin device series support both SDK 1.0 and SDK 2.0. The SDK version you should use depends on the Android OS version running on the device, not the device model itself.
The SDK has been extensively tested across multiple iMin device series to ensure compatibility and reliability. All core features including text printing, image printing, barcode/QR code generation, and label printing have been verified on representative devices from each series.
- Paper Width: Cannot change paper width dynamically - requires device restart
- Cutter Function: Only available on devices with physical cutter hardware
- Image Size: Large images may cause memory issues - optimize image size before printing
- Concurrent Access: Only one app can access printer at a time
- Cutter Alignment: Cutter function requires proper paper alignment for best results
// Recommended settings for 58mm devices
await printer.setPageFormat(1); // 58mm format
await printer.setTextWidth(384); // Optimal width for 58mm// Recommended settings for 80mm devices
await printer.setPageFormat(0); // 80mm format
await printer.setTextWidth(576); // Optimal width for 80mm- 58mm devices: Max width 384 pixels
- 80mm devices: Max width 576 pixels
- Height: No strict limit, but consider memory usage
- Use buffer mode for multiple operations
- Optimize image sizes before printing
- Test print jobs on target devices
- Handle errors gracefully with status checks
- Check USB/power connection
- Verify device is powered on
- Restart the application
- Try
initPrinter()again
- Check paper roll installation
- Ensure paper is properly fed
- Clean paper sensors if necessary
- Close printer cover properly
- Check for paper jams
- Ensure print head is seated correctly
- Allow printer to cool down
- Reduce print density if possible
- Check ventilation around device
- Reset device if unresponsive:
await printer.resetDevice() - Check battery level on battery-powered models
- Ensure stable USB connection
- Ensure proper paper alignment for cutter function
- Check cash drawer connection if using
- Verify power supply is stable
- Increase timeout for large print jobs
- Use smaller batch sizes for image printing
- Use buffer mode for complex multi-operation prints
- Check device compatibility in this document
- Verify SDK version compatibility
- Test with simple print operations first
- Check printer status with
getPrinterStatus()
- Device model and firmware version
- SDK version being used
- Error messages or status codes
- Sample code that reproduces the issue
- Expected vs actual behavior
- GitHub Issues: imin_printer repository
- Official Documentation: iMin Printer SDK Docs
iMin regularly releases new devices. This plugin is designed to be forward-compatible with new iMin devices that follow the standard printer SDK interface.
For the latest device compatibility information, check:
- Plugin changelog
- Official iMin documentation
- GitHub repository updates
Last updated: January 2026 Plugin version: 0.6.14