Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB: Examples, Pinouts, and Specs

Image of GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB
Cirkit Designer LogoDesign with GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in Cirkit Designer

Introduction

The GM803 is a versatile barcode scanner module designed to read both 1D and 2D barcodes with high efficiency. Utilizing advanced CMOS imaging technology, it ensures accurate and fast barcode decoding. The module supports both TTL and USB interfaces, making it easy to integrate into a wide range of electronic systems, including embedded devices, kiosks, and point-of-sale (POS) systems.

Explore Projects Built with GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based Barcode Reader and Thermal Printer System
Image of negeshoca: A project utilizing GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in a practical application
This circuit features an ESP32 microcontroller interfaced with a thermal printer and a GM67 barcode reader module. The ESP32 handles communication with the printer and barcode reader via its GPIO pins, enabling barcode data to be read and printed. Power is supplied to all components through the ESP32's Vin and GND pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Based Security System with Fingerprint Authentication and SMS Alerts
Image of Door security system: A project utilizing GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in a practical application
This circuit features an Arduino Mega 2560 microcontroller interfaced with a SIM800L GSM module, two fingerprint scanners, an I2C LCD display, an IR sensor, and a piezo buzzer. Power management is handled by a PowerBoost 1000 Basic Pad USB, a TP4056 charging module, and a Li-ion 18650 battery, with an option to use a Mini AC-DC 110V-230V to 5V 700mA module for direct power supply. The primary functionality appears to be a security system with GSM communication capabilities, biometric access control, and visual/audible feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32F103C8T6-Based Water Level Monitoring and Communication System with SIM900A and LoRa Connectivity
Image of water level: A project utilizing GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in a practical application
This circuit features a microcontroller (STM32F103C8T6) interfaced with a SIM900A GSM module, an HC-SR04 ultrasonic sensor, a water level sensor, and a LoRa Ra-02 SX1278 module for long-range communication. The STM32F103C8T6 is configured to communicate with the GSM module and LoRa module via serial connections, and it reads data from the ultrasonic and water level sensors. An FTDI Programmer is connected for programming and serial communication with the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU-Based Environmental Monitoring System with SIM900A GSM Communication
Image of IOE: A project utilizing GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in a practical application
This is a sensor-based data acquisition system with GSM communication capability. It uses an ESP8266 NodeMCU to collect environmental data from a DHT22 sensor and light levels from an LDR, as well as distance measurements from an HC-SR04 ultrasonic sensor. The SIM900A GSM module enables the system to transmit the collected data over a cellular network.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of negeshoca: A project utilizing GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in a practical application
ESP32-Based Barcode Reader and Thermal Printer System
This circuit features an ESP32 microcontroller interfaced with a thermal printer and a GM67 barcode reader module. The ESP32 handles communication with the printer and barcode reader via its GPIO pins, enabling barcode data to be read and printed. Power is supplied to all components through the ESP32's Vin and GND pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Door security system: A project utilizing GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in a practical application
Arduino Mega 2560 Based Security System with Fingerprint Authentication and SMS Alerts
This circuit features an Arduino Mega 2560 microcontroller interfaced with a SIM800L GSM module, two fingerprint scanners, an I2C LCD display, an IR sensor, and a piezo buzzer. Power management is handled by a PowerBoost 1000 Basic Pad USB, a TP4056 charging module, and a Li-ion 18650 battery, with an option to use a Mini AC-DC 110V-230V to 5V 700mA module for direct power supply. The primary functionality appears to be a security system with GSM communication capabilities, biometric access control, and visual/audible feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of water level: A project utilizing GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in a practical application
STM32F103C8T6-Based Water Level Monitoring and Communication System with SIM900A and LoRa Connectivity
This circuit features a microcontroller (STM32F103C8T6) interfaced with a SIM900A GSM module, an HC-SR04 ultrasonic sensor, a water level sensor, and a LoRa Ra-02 SX1278 module for long-range communication. The STM32F103C8T6 is configured to communicate with the GSM module and LoRa module via serial connections, and it reads data from the ultrasonic and water level sensors. An FTDI Programmer is connected for programming and serial communication with the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of IOE: A project utilizing GM803 1D/2D Barcode Reader Module CMOS Scanner TTL/USB in a practical application
ESP8266 NodeMCU-Based Environmental Monitoring System with SIM900A GSM Communication
This is a sensor-based data acquisition system with GSM communication capability. It uses an ESP8266 NodeMCU to collect environmental data from a DHT22 sensor and light levels from an LDR, as well as distance measurements from an HC-SR04 ultrasonic sensor. The SIM900A GSM module enables the system to transmit the collected data over a cellular network.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Retail and POS systems for inventory management
  • Embedded systems in kiosks and vending machines
  • Access control and ticketing systems
  • Warehouse and logistics for barcode scanning
  • Industrial automation requiring barcode identification

Technical Specifications

Key Technical Details

Parameter Specification
Barcode Types Supported 1D (e.g., Code 128, EAN-13) and 2D (e.g., QR Code, Data Matrix)
Sensor Type CMOS
Interface Options TTL, USB
Operating Voltage 3.3V to 5V
Current Consumption < 120mA
Scanning Speed Up to 300 scans per second
Resolution 640 x 480 pixels
Operating Temperature -20°C to 60°C
Dimensions 21mm x 15mm x 10mm

Pin Configuration and Descriptions

TTL Interface Pinout

Pin Number Pin Name Description
1 VCC Power supply input (3.3V to 5V)
2 GND Ground
3 TXD Transmit data (TTL level)
4 RXD Receive data (TTL level)
5 Trigger External trigger input (active low)
6 Beeper Beeper control output

USB Interface Pinout

Pin Number Pin Name Description
1 VBUS USB power supply (5V)
2 D- USB data negative
3 D+ USB data positive
4 GND Ground

Usage Instructions

How to Use the GM803 in a Circuit

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
  2. Interface Selection:
    • For TTL communication, connect the TXD and RXD pins to the corresponding UART pins of your microcontroller.
    • For USB communication, connect the USB pins (VBUS, D-, D+, GND) to a USB host device.
  3. Triggering: Use the Trigger pin to initiate a scan. Pull the pin low to activate the scanner.
  4. Data Output: The scanned barcode data will be transmitted via the selected interface (TTL or USB).

Important Considerations and Best Practices

  • Ensure the power supply voltage is within the specified range (3.3V to 5V) to avoid damage to the module.
  • Use proper pull-up resistors for the TTL interface if required by your microcontroller.
  • Avoid exposing the module to direct sunlight or reflective surfaces, as this may interfere with scanning performance.
  • For USB communication, ensure the host device supports USB HID or virtual COM port functionality.

Example: Connecting to an Arduino UNO (TTL Interface)

Below is an example of how to connect and use the GM803 with an Arduino UNO via the TTL interface.

Wiring Diagram

GM803 Pin Arduino UNO Pin
VCC 5V
GND GND
TXD RX (Pin 0)
RXD TX (Pin 1)
Trigger Digital Pin 2

Arduino Code Example

#include <SoftwareSerial.h>

// Define RX and TX pins for the GM803 module
SoftwareSerial barcodeScanner(10, 11); // RX = Pin 10, TX = Pin 11

// Define the trigger pin
const int triggerPin = 2;

void setup() {
  // Initialize serial communication
  Serial.begin(9600); // For debugging
  barcodeScanner.begin(9600); // For GM803 communication

  // Configure the trigger pin
  pinMode(triggerPin, OUTPUT);
  digitalWrite(triggerPin, HIGH); // Set trigger pin to inactive state

  Serial.println("GM803 Barcode Scanner Initialized");
}

void loop() {
  // Trigger a scan
  digitalWrite(triggerPin, LOW); // Activate the scanner
  delay(100); // Wait for the scan to complete
  digitalWrite(triggerPin, HIGH); // Deactivate the scanner

  // Check if data is available from the scanner
  if (barcodeScanner.available()) {
    String barcodeData = "";
    while (barcodeScanner.available()) {
      char c = barcodeScanner.read();
      barcodeData += c;
    }
    Serial.println("Scanned Barcode: " + barcodeData);
  }

  delay(1000); // Wait before the next scan
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Data Output from the Scanner

    • Cause: Incorrect wiring or interface selection.
    • Solution: Double-check the connections and ensure the correct interface (TTL or USB) is being used.
  2. Scanner Does Not Trigger

    • Cause: Trigger pin not properly configured.
    • Solution: Verify the trigger pin wiring and ensure it is pulled low to activate the scanner.
  3. Unreadable or Inaccurate Scans

    • Cause: Poor lighting conditions or damaged barcodes.
    • Solution: Ensure adequate lighting and use undamaged barcodes for scanning.
  4. Module Overheating

    • Cause: Excessive voltage or prolonged operation.
    • Solution: Ensure the power supply voltage is within the specified range and allow the module to cool down if used continuously.

FAQs

  1. Can the GM803 read barcodes on screens?

    • Yes, the GM803 can read barcodes displayed on screens, such as smartphones or tablets, provided the screen brightness is sufficient.
  2. What is the maximum scanning distance?

    • The maximum scanning distance depends on the barcode size and type but typically ranges from 5cm to 30cm.
  3. Is the GM803 compatible with Raspberry Pi?

    • Yes, the GM803 can be connected to a Raspberry Pi via the USB or TTL interface.
  4. Does the module require additional drivers for USB communication?

    • The GM803 is typically recognized as a USB HID device or virtual COM port, and most operating systems will automatically install the necessary drivers.