Skip to content

sbcshop/Scangenie_Software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScanGenie_Software

ScanGenie is your powerful barcode solution with a 1.14" LCD screen, rapid Barcode/QR code scanner, versatile UART communication, Type-C USB port, and a buzzer. It simplifies complex barcode decoding, effortlessly connects to the cloud, and provides real-time feedback. Supporting 20 barcode symbologies, it's an open-source platform for developers and enthusiasts. Say goodbye to tough barcode challenges with ScanGenie's simplicity and versatility.

This GitHub page offers a step-by-step tutorial for using ScanGenie.

Features :

  • Powered with ESP32 makes it IoT enabled device to connect internet Cloud using WiFi and BLE for local wireless transmission
  • 1.14" TFT display for visual interaction
  • Read all mainstream 1D 2D barcodes in the market easily
  • Reads 20 Different Barcode Symbologies, CMOS camera
  • Two type C Support :
    • for direct Scanner access
    • for programming/power
  • High brightness, dark environment scanning
  • Support multiple systems and languages, secondary development.
  • Additional GPIO breakouts for interfacing other peripherals
  • Separate Scan button along with Reset and boot buttons for on the go scanning.
  • Onboard buzzer provides audible alerts and notifications for enhanced user experience and system feedback.
  • Breadboard compatible for easy DIY breadboarding projects

Specification :

  • ESP32-S3 series of SoCs having Xtensa® dual-core 32-bit LX7 microprocessor, 2.4 GHz Wi-Fi (802.11 b/g/n) and Bluetooth® 5 (LE), Flash up to 16 MB, PSRAM up to 8 MB

  • Board supply voltage: 5V

  • Operating voltage of pins: 3.3V

  • Display resolution 240 × 135 pixels

  • ST7789V2 Display Driver

  • Appearance: RGB, Colors: 65K

  • Reads 20 different symbologies:

    • 1D Symbologies-> UPC-A, UPC-E, EAN-8, EAN-13, Code 128, GS1-128, Code 39, Code 93, Code 11, Interleaved 2-of-5, Matrix 2-of-5, Industrial 2-of-5, Codabar, MSI, GS1 DataBar, Datalogic 2-of-5
    • 2D Symbologies-> QR Code,Data Matrix, PDF 417, Micro PDF 417,
  • Scanner Resolution: 640*480

  • Communication Mode: USB(USB-KBW, USB-COM),TTL

  • Operating Temperature: -20℃ to 50℃

  • Storage Temperature: -40℃ to 70℃

Pinouts

  • (1) Barcode DE2120
  • (2) Scan Status LED
  • (3) Type C for direct Scanner Access
  • (4) 1.14” TFT Display
  • (5) ESP32 S3 Wroom - 1
  • (6) Type C to Program
  • (7) Power Status LED
  • (8) Battery Charging Indicator
  • (9) Reset Button
  • (10) Boot Button
  • (11) & (13) GPIOs Breakout
  • (12) Buzzer
  • (14) Scan Button
  • (15) Battery Connector

Interfacing Details

  • Display interfacing with ESP32

    ESP32 Display Function
    IO12 LCD_CLK Clock pin of SPI interface for Display
    IO11 LCD_DIN MOSI (Master OUT Slave IN) pin of SPI interface
    IO10 LCD_CS Chip Select pin of SPI interface
    IO13 LCD_DC Data/Command (MISO) pin of SPI interface
    IO14 LCD_RST Display Reset pin
    IO5 BL Backlight of display
  • ESP32 and DE2120 Scanner Module interfacing

    ESP32 DE2120 Scanner Function
    IO18 B_RX UART Communication Pin
    IO17 B_TX UART Communication Pin
  • Buttons and Trigger pin

    ESP32 Hardware Function
    IO0 BOOT Boot button
    IO7 B_SCAN Scan Trigger Pin
  • GPIOs Breakout

    Breakout 1

    ESP32 Type* Multi-Function (Bold-Italic default Function)
    GP47 I/O/T SPICLK_P_DIFF, GPIO47 , SUBSPICLK_P_DIFF
    GP21 I/O/T RTC_GPIO21, GPIO21
    GP9 I/O/T RTC_GPIO9, GPIO9 , TOUCH9, ADC1_CH8, FSPIHD, SUBSPIHD
    GP46 I/O/T GPIO46
    GP3 I/O/T RTC_GPIO3, GPIO3, TOUCH3, ADC1_CH2
    GP20 I/O/T RTC_GPIO20, GPIO20, U1CTS, ADC2_CH9, CLK_OUT1, USB_D+
    GP19 I/O/T RTC_GPIO19, GPIO19, U1RTS, ADC2_CH8, CLK_OUT2, USB_D-
    GP8 I/O/T RTC_GPIO8, GPIO8 , TOUCH8, ADC1_CH7, SUBSPICS1
    GP16 I/O/T RTC_GPIO16, GPIO16 , U0CTS, ADC2_CH5, XTAL_32K_N
    GP15 I/O/T RTC_GPIO15, GPIO15 , U0RTS, ADC2_CH4, XTAL_32K_P
    GND P Supply Ground
    GP6 I/O/T RTC_GPIO6, GPIO6 , TOUCH6, ADC1_CH5
    GP4 I/O/T RTC_GPIO4, GPIO4 , TOUCH4, ADC1_CH3
    3V3 P Positive Supply, 3.3V
    EN I Enable pin, HIGH - Chip on, LOW - Chip off
    GND P Supply Ground
    3V3 P Positive Supply, 3.3V
    5V P Positive Supply, 5V

    Breakout 2

    ESP32 Type* Multi-Function (Bold-Italic default Function)
    GP43/TXD0 I/O/T U0TXD , GPIO43, CLK_OUT1
    GP44/RXD0 I/O/T U0RXD , GPIO44, CLK_OUT2
    GP48 I/O/T SPICLK_N_DIFF, GPIO48 , SUBSPICLK_N_DIFF
    GP45 I/O/T GPIO45
    GP35 I/O/T SPIIO6, GPIO35 , FSPID, SUBSPID
    GP36 I/O/T SPIIO7, GPIO36 , FSPICLK, SUBSPICLK
    GP37 I/O/T SPIDQS, GPIO37 , FSPIQ, SUBSPIQ
    GP38 I/O/T GPIO38 , FSPIWP, SUBSPIWP
    GP39 I/O/T MTCK , GPIO39, CLK_OUT3, SUBSPICS1
    GP40 I/O/T MTDO , GPIO40, CLK_OUT2
    GND P Ground
    GP41 I/O/T MTDI , GPIO41, CLK_OUT1
    GP42 I/O/T MTMS , GPIO42
    GP2 I/O/T RTC_GPIO2, GPIO2, TOUCH2, ADC1_CH1
    GP1 I/O/T RTC_GPIO1, GPIO1, TOUCH1, ADC1_CH0
    GND P Ground
    3V3 P Positive Supply, 3.3V
    5V P Positive Supply, 5V

    *I-INPUT, O-OUTPUT, P-POWER & T-HIGH IMPEDENCE

1. Configure and Setup Development Environment

  • Download Arduino IDE from official site and install into your system. We have use Arduino IDE 1.8.19

  • Once installation done will add ESP32 S3 board support into IDE, for this first you need to add below link into preference:

    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    

    Select File > Preference, and add link as show in below image,

  • Now will install ESP32 based boards as shown in below image,

  • Once done, keeping default settings select the ESP32S3 Dev Module with suitable com port (may be different in your case) as shown below,

2. Installing Libraries

  • Download library zip file provided here in github.

  • Extract and copy files inside Document > Arduino > Libraries folder. Make sure to restart Arduino IDE whenever you update or add any libraries.

3. Testing First Code

  • At this step you are all set to test codes, for easy getting started we have provided various demo example codes in github which you can download and try.
  • Open one example code in Arduino and make sure you have selected correct board with suitable com port, click on upload button to transfer code on ESP32 of Scangenie.
  • Checkout other examples below and build your own custom program codes using those references.

Example Codes

For testing any of Scanner code listed in this section your device needs to be in TTL mode, if yes then proceed with example or else follow steps mentioned here in GitHub.

  • Example 1 : Display Demo code
  • Example 2 : Scanning Barcode/QR Code using Scan Button
  • Example 3 : Automatic Scanning Barcode/QR code after regular interval of Time

Now you are ready to try out your own codes, Happy Coding!

Mode Setup

  • TTL Mode

    TTL mode is default mode in which DE2120 Scanner will work in co-ordination with ESP32 controller of ScanGenie using UART communication. If in case your device mode is different you can follow below steps to get device into TTL mode.

    • First step Scan the below barcode by Pressing onboard Scan button of ScanGenie. This will put device into TTL mode

    • Now to set Baud Rate 9600 by scanning below Barcode, even you can set different Baud Rate by refering Manual provided in this repo.

    • TTL mode is required if you want to try various code example provided in this GitHub repo.

  • USB-KBW Mode

    You can also use this ScanGenie with USB cable for reading Barcode/Scanner without onboard ESP32 controller board.

    • Connect type C cable to "Barcode" side instead of "PROG" and other end to your laptop/PC.

    • Now simply scan the below Barcode and so this will set board into USB keyboard mode.

    • In USB keyboard mode, you just need to open a notepad/word like application and scan any barcode or QR-code to get their number in your system. As shown in image below

    The DE2120 is completely user configurable, you can configure many settings according to your requirement by refering the DE2120 Setting Manual provided in this Repo.

Resources

Related Products

Product License

This is open source product. Kindly check LICENSE.md file for more information.

Please contact support@sb-components.co.uk for technical support.

About

This GitHub page offers a step-by-step tutorial for using ScanGenie.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published