SlideShare a Scribd company logo
1 of 4
Download to read offline
Interfacing a Thermal Printer using an AM437x PoM
Introduction
Point-of-Sale Terminals are usually computerized systems used to record and track customer orders,
process credit and debit cards, connect to other systems in a network, and manage inventory. One of
the key components of the Retail Point-of-Sale Terminal is the block of hardware which prints a
physical receipt of the payments/transactions being requested by the End Customer. Most Retail
Point-of-Sale Terminals employ Thermal Printing Technology to print the final Payment/Receipts.
Thermal Printing is also used in the banking sector i.e., in Automated Teller Machines [ATM Kiosks] to
give a receipt for the Bank Transaction being carried out by the Customer.
In this article, we will demonstrate how a sample thermal printer can be interfaced with Mistral’s
AM437x Product on Module. The AM437x POM is an ideal platform to build Point-of-Sale Terminal
Devices with Thermal Printing Capability.
The following are the main advantages of using the AM437x PoM for building Point-of-Sale Terminal
Devices.
• Peripheral support which can be used to interface a variety of external Peripherals
• Dual Ethernet Ports to enable connection to back-end Inventory Server/Machine. These are
designed to be redundant with respect to the back-end Network Connection
• Lowest idle Current consumption supporting operations at different OPP ranges
• Hardware encryption support to enable secure storage of customer data such as billing,
credit card information etc.
• Display Sub-System enables interfacing of low-cost Display Devices such as CMOS LCD or
LVDS Displays
• Camera Ports which can be utilized to scan or capture the Customer’s Credit Card/Payment
Card Details
• Programmable Real-Time Engine [PRU] which can be used to perform image recognition,
and retrieving the details from a Customer’s Credit Card/Payment Cards.
Thermal Printer and its Components
In this section, we will review the Thermal Printer block and explain how it can be interfaced with the
AM437x PoM.
A Thermal Printer comprises of below components:
• Thermal Head: To generate heat for printing on the paper
• Platen: Rubber roller to feed the paper
• Spring: To apply pressure to thermal head to be in contact with paper
• Controller Boards: To synchronize & control the mechanism
Thermal printing is the most popular type of technique for making a compact printer because of its
quiet operation, high reliability, ruggedness, efficiency, quality of print, simple mechanics, relatively
low power and attractively low cost characteristics that can be adapted to serial or line print head
configurations.
Thermal printing process produces a printed image by selectively heating the coated thermal paper
when the paper passes over the thermal print head. The coating on the paper turns black in the area
where it is heated hence producing an image. Thermal printer is the only form of printing which
involves no ink or toner.
Once the thermal paper is inserted between the thermal head and plate, the printer sends an
electrical current to the heating elements of the thermal head which generates heat, the heat
activates the thermo-sensitive colouring layer of the thermal paper, which changes colour where
heated.
The controller board has the necessary firmware to control the printing mechanism which also
manages bar code types, graphics and logos. The firmware also helps in choosing different fonts and
character sizes. The controller board drives various sensors like low paper, paper out, door open
through various interfaces like RS-232, parallel, USB and wireless.
Figure 1: Mechanicals of a Thermal Printer
Interfacing a Thermal Printer using PoM
The AM437x PoM from Mistral is a small form factor, high performance, low cost, ready-to-use
Product on Module (PoM) built around the powerful 800MHz/1GHz Sitara AM437x SoC from Texas
Instruments. The AM437x offers extensive integration such as multi core PRU-ICSS, PowerVR SGX 3D
acceleration core, dual camera, QSPI-NOR, up to 256 KB on-
chip memory, Dual ADC and an easily extendable
architecture, making it the perfect solution for quick product
deployment while leveraging the benefits of the powerful
SoC.
Below is an implementation approach a Thermal Printer
using the AM437x Product-On-Module from Mistral
Solutions. This can be a replication of Thermal Printer
Integration to an End Point-of-Sale Terminal Product based
on the Am437x SoC.
We have considered the Thermal Printer from Sparkfun which prints simple strings passed to it via
TTL serial over UART, bitmap images (poorly) and it even generated several different formats of
barcodes. More details of the characteristic of thermal printer can be found on
https://www.sparkfun.com/products/10438.
Implementation Approach
In this section, we will examine how to interface a Sample Thermal Printer which uses a RS-232
interface. Under the Linux Kernel environment, we have considered the Linux UART and the TTY
Driver framework to interface the sample Thermal Printer and exercise the same.
Figure 2: TTY Driver Framework
One of the implementation approaches can be to use a TTY driver which can be implemented
specifically for interfacing the Sample Thermal printer and can be registered with the Linux Kernel
running on PoM.
A user types at a terminal (a physical teletype or simple application sending commands/data) which
is connected to a UART (Universal Asynchronous Receiver and Transmitter) on the AM437x PoM. The
Linux Kernel running on the AM437x PoM manages the physical transmission of bytes, including
parity checks and flow control. In a native system, the UART driver would then deliver the incoming
bytes directly to an application process.
Case Study
Below are some samples commands which are recognized by the reference Thermal Printer.
At the kernel user space, when any of the above commands are send to the Kernel-Mode Driver, the
Driver sources will have to convert these codes/commands into the equivalent ASCII Character and
then share the same over the TTY driver. Now in the TTY driver we can toggle/update the transmit
pin of the UART which is interfaced with the UART pin of the thermal printer. Once the thermal
printer receives the respective commands it shall start the operation and once completed will send
the success message back to the kernel user space.
Any of the other functionality like paper roll detention, font selection, image printing can be
interfaced on the UART Rx, Tx lines or through usage of available General Purpose Pins.
Figure 3: HW Interfacing between AM437x PoM and Reference Thermal Printer
Conclusion
As demonstrated in this article the AM437x PoM is ideal and suitable for building Retail Point-of-Sale
Terminal device and can be interfaced with a sample Thermal Printer to realize the use-cases of the
Point-of-Sale Devices.
As a further extension, additional control like Motor Drive Control or Motor Sensing chipsets can be
brought in which can be interfaced over the serial interfaces of the AM437x SoC for even finer
control over the Thermal Printer mechanism.
The AM437x PoM is a ready-to-use low-cost, form factor board which greatly helps in reducing the
development life cycle for end products such as Retail Point-of-Sale Terminal Devices. Product
developers can kick-start their development life-cycle using this platform, develop their end
application, finalize the industrial design and get their product to market faster. Mistral can help
customize and optimize the AM437x PoM for product developers intending to take it to volume
production.
Authors:
1. Shubhro Mitra is a Module Lead in Mistral Solutions and has over 8 years of IT experience in
design & implementation of embedded devices specializing in consumer electronics. He has
worked on multiple TI and non-TI platforms. Shubhro Mitra holds an engineering degree in
Information Technology from Indian Institute of Information Technology – Calcutta.
2. Mahesh Muni is a Project Leader in Mistral Solutions with over 10 years of IT experience in
product design, development and testing. He has worked on multiple TI and non-TI
platforms. Mahesh Muni holds an M.Tech degree from VTU, Belgaum.
AM437x
PoM Reference Thermal
Printer
UART_TX
UART_RX
PWR & GND

More Related Content

What's hot

MCF51AG ColdFire MCUs for Large Appliance And Industrial Applications
MCF51AG ColdFire MCUs for Large Appliance And Industrial ApplicationsMCF51AG ColdFire MCUs for Large Appliance And Industrial Applications
MCF51AG ColdFire MCUs for Large Appliance And Industrial ApplicationsPremier Farnell
 
Microcontrollers by anax projects
Microcontrollers by anax projectsMicrocontrollers by anax projects
Microcontrollers by anax projectsAnaxProject
 
comparison between Microprocessor-Microcontroller
comparison between Microprocessor-Microcontrollercomparison between Microprocessor-Microcontroller
comparison between Microprocessor-MicrocontrollerDabbaru Murali
 
Unit 2 ca- control unit
Unit 2 ca- control unitUnit 2 ca- control unit
Unit 2 ca- control unitBBDITM LUCKNOW
 
Modes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationModes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationMOHIT AGARWAL
 
15 control-computer organization and archietecture-CO-COA
15 control-computer organization and archietecture-CO-COA15 control-computer organization and archietecture-CO-COA
15 control-computer organization and archietecture-CO-COAJay Patel
 
introduction to embedded systems part 1
introduction to embedded systems part 1introduction to embedded systems part 1
introduction to embedded systems part 1Hatem Abd El-Salam
 
Instruction set and instruction execution cycle
Instruction set and instruction execution cycleInstruction set and instruction execution cycle
Instruction set and instruction execution cycleMkaur01
 
Tai lieu plc s7 300
Tai lieu plc s7 300Tai lieu plc s7 300
Tai lieu plc s7 300Bùi Thể
 

What's hot (20)

Arduino
Arduino Arduino
Arduino
 
HMI- Human Machine Interface
HMI-  Human Machine InterfaceHMI-  Human Machine Interface
HMI- Human Machine Interface
 
Class 3 Memory types
Class 3 Memory typesClass 3 Memory types
Class 3 Memory types
 
MCF51AG ColdFire MCUs for Large Appliance And Industrial Applications
MCF51AG ColdFire MCUs for Large Appliance And Industrial ApplicationsMCF51AG ColdFire MCUs for Large Appliance And Industrial Applications
MCF51AG ColdFire MCUs for Large Appliance And Industrial Applications
 
Microcontrollers by anax projects
Microcontrollers by anax projectsMicrocontrollers by anax projects
Microcontrollers by anax projects
 
Microcontrollers
MicrocontrollersMicrocontrollers
Microcontrollers
 
comparison between Microprocessor-Microcontroller
comparison between Microprocessor-Microcontrollercomparison between Microprocessor-Microcontroller
comparison between Microprocessor-Microcontroller
 
Unit 2 ca- control unit
Unit 2 ca- control unitUnit 2 ca- control unit
Unit 2 ca- control unit
 
Selection of PMU functionality
Selection of PMU functionalitySelection of PMU functionality
Selection of PMU functionality
 
Program control
Program controlProgram control
Program control
 
Esd mod 3
Esd mod 3Esd mod 3
Esd mod 3
 
Modes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationModes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output Organization
 
CPU Architecture
CPU ArchitectureCPU Architecture
CPU Architecture
 
Microprogrammed Control Unit
Microprogrammed Control UnitMicroprogrammed Control Unit
Microprogrammed Control Unit
 
15 control-computer organization and archietecture-CO-COA
15 control-computer organization and archietecture-CO-COA15 control-computer organization and archietecture-CO-COA
15 control-computer organization and archietecture-CO-COA
 
introduction to embedded systems part 1
introduction to embedded systems part 1introduction to embedded systems part 1
introduction to embedded systems part 1
 
Ch7 official
Ch7 officialCh7 official
Ch7 official
 
Introduction to Microcontroller
Introduction to MicrocontrollerIntroduction to Microcontroller
Introduction to Microcontroller
 
Instruction set and instruction execution cycle
Instruction set and instruction execution cycleInstruction set and instruction execution cycle
Instruction set and instruction execution cycle
 
Tai lieu plc s7 300
Tai lieu plc s7 300Tai lieu plc s7 300
Tai lieu plc s7 300
 

Similar to Interfacing Thermal Printers AM437x PoM

Customized SoC for Industrial Automation Markets
Customized SoC for Industrial Automation MarketsCustomized SoC for Industrial Automation Markets
Customized SoC for Industrial Automation MarketsMistral Solutions
 
System Software ( Os )
System Software ( Os )System Software ( Os )
System Software ( Os )Paula Smith
 
Home automation using dtmf
Home automation using dtmfHome automation using dtmf
Home automation using dtmfAjay Naidu Jami
 
H64CSA_1A_023799_Osama
H64CSA_1A_023799_OsamaH64CSA_1A_023799_Osama
H64CSA_1A_023799_OsamaOsama Azim
 
Embedded systems unit 5
Embedded systems unit 5Embedded systems unit 5
Embedded systems unit 5baskaransece
 
Keypad Based Bank Locker Security System Using Gsm Technology
Keypad Based Bank Locker Security System Using Gsm TechnologyKeypad Based Bank Locker Security System Using Gsm Technology
Keypad Based Bank Locker Security System Using Gsm TechnologyIJRES Journal
 
Project report on embedded system using 8051 microcontroller
Project  report on embedded system using 8051 microcontrollerProject  report on embedded system using 8051 microcontroller
Project report on embedded system using 8051 microcontrollerVandna Sambyal
 
Emb Sys Rev Ver1
Emb Sys   Rev Ver1Emb Sys   Rev Ver1
Emb Sys Rev Ver1ncct
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsSudhanshu Janwadkar
 
Atmel - Designing Feature-Rich User Interfaces for Home and Industrial Contro...
Atmel - Designing Feature-Rich User Interfaces for Home and Industrial Contro...Atmel - Designing Feature-Rich User Interfaces for Home and Industrial Contro...
Atmel - Designing Feature-Rich User Interfaces for Home and Industrial Contro...Atmel Corporation
 
computer fundamentals
computer fundamentalscomputer fundamentals
computer fundamentalsPANKHURI JAIN
 
Benefits of Micro Controller.pdf
Benefits of Micro Controller.pdfBenefits of Micro Controller.pdf
Benefits of Micro Controller.pdfirfanakram32
 
Introduction to DSP Processors-UNIT-6
Introduction to DSP Processors-UNIT-6Introduction to DSP Processors-UNIT-6
Introduction to DSP Processors-UNIT-6Ananda Gopathoti
 
Copy of business hardware
Copy of business hardwareCopy of business hardware
Copy of business hardwareJomel Penalba
 
home automaton using pc ppt
home automaton using pc ppthome automaton using pc ppt
home automaton using pc pptRajesh Kumar
 
3. Component of computer - System Unit ( CSI-321)
3. Component of computer - System Unit  ( CSI-321) 3. Component of computer - System Unit  ( CSI-321)
3. Component of computer - System Unit ( CSI-321) ghayour abbas
 

Similar to Interfacing Thermal Printers AM437x PoM (20)

Customized SoC for Industrial Automation Markets
Customized SoC for Industrial Automation MarketsCustomized SoC for Industrial Automation Markets
Customized SoC for Industrial Automation Markets
 
System Software ( Os )
System Software ( Os )System Software ( Os )
System Software ( Os )
 
Home automation using dtmf
Home automation using dtmfHome automation using dtmf
Home automation using dtmf
 
H64CSA_1A_023799_Osama
H64CSA_1A_023799_OsamaH64CSA_1A_023799_Osama
H64CSA_1A_023799_Osama
 
Embedded systems unit 5
Embedded systems unit 5Embedded systems unit 5
Embedded systems unit 5
 
Keypad Based Bank Locker Security System Using Gsm Technology
Keypad Based Bank Locker Security System Using Gsm TechnologyKeypad Based Bank Locker Security System Using Gsm Technology
Keypad Based Bank Locker Security System Using Gsm Technology
 
Dsa00170624
Dsa00170624Dsa00170624
Dsa00170624
 
Project report on embedded system using 8051 microcontroller
Project  report on embedded system using 8051 microcontrollerProject  report on embedded system using 8051 microcontroller
Project report on embedded system using 8051 microcontroller
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
Emb Sys Rev Ver1
Emb Sys   Rev Ver1Emb Sys   Rev Ver1
Emb Sys Rev Ver1
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Atmel - Designing Feature-Rich User Interfaces for Home and Industrial Contro...
Atmel - Designing Feature-Rich User Interfaces for Home and Industrial Contro...Atmel - Designing Feature-Rich User Interfaces for Home and Industrial Contro...
Atmel - Designing Feature-Rich User Interfaces for Home and Industrial Contro...
 
computer fundamentals
computer fundamentalscomputer fundamentals
computer fundamentals
 
Benefits of Micro Controller.pdf
Benefits of Micro Controller.pdfBenefits of Micro Controller.pdf
Benefits of Micro Controller.pdf
 
Introduction to DSP Processors-UNIT-6
Introduction to DSP Processors-UNIT-6Introduction to DSP Processors-UNIT-6
Introduction to DSP Processors-UNIT-6
 
E.s unit 4 and 5
E.s unit 4 and 5E.s unit 4 and 5
E.s unit 4 and 5
 
Copy of business hardware
Copy of business hardwareCopy of business hardware
Copy of business hardware
 
home automaton using pc ppt
home automaton using pc ppthome automaton using pc ppt
home automaton using pc ppt
 
Do you speak PackML
Do you speak PackMLDo you speak PackML
Do you speak PackML
 
3. Component of computer - System Unit ( CSI-321)
3. Component of computer - System Unit  ( CSI-321) 3. Component of computer - System Unit  ( CSI-321)
3. Component of computer - System Unit ( CSI-321)
 

More from Mistral Solutions

An infographic from Mistral explaining Semiconductors
An infographic from Mistral explaining SemiconductorsAn infographic from Mistral explaining Semiconductors
An infographic from Mistral explaining SemiconductorsMistral Solutions
 
IoT based Industrial Gateway (IoT-SDK) built around Sitara™ AM437x processors...
IoT based Industrial Gateway (IoT-SDK) built around Sitara™ AM437x processors...IoT based Industrial Gateway (IoT-SDK) built around Sitara™ AM437x processors...
IoT based Industrial Gateway (IoT-SDK) built around Sitara™ AM437x processors...Mistral Solutions
 
Designing a Product on Module for Health and Wellness Applications
Designing a Product on Module for Health and Wellness ApplicationsDesigning a Product on Module for Health and Wellness Applications
Designing a Product on Module for Health and Wellness ApplicationsMistral Solutions
 
iOS Application Development for Drones
iOS Application Development for DronesiOS Application Development for Drones
iOS Application Development for DronesMistral Solutions
 
Hardware Software Co-Design - White Paper
Hardware Software Co-Design - White PaperHardware Software Co-Design - White Paper
Hardware Software Co-Design - White PaperMistral Solutions
 
RTM Break Out Card - Datasheet
RTM Break Out Card - DatasheetRTM Break Out Card - Datasheet
RTM Break Out Card - DatasheetMistral Solutions
 
Power Spikes Isolation to avoid corruption within sensitive ICs Solutions
Power Spikes Isolation to avoid corruption within sensitive ICs SolutionsPower Spikes Isolation to avoid corruption within sensitive ICs Solutions
Power Spikes Isolation to avoid corruption within sensitive ICs SolutionsMistral Solutions
 
Algorithm for Lossy Image Compression using FPGA
Algorithm for Lossy Image Compression using FPGAAlgorithm for Lossy Image Compression using FPGA
Algorithm for Lossy Image Compression using FPGAMistral Solutions
 
High-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyHigh-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyMistral Solutions
 
The Amazing World of Infotainment
The Amazing World of InfotainmentThe Amazing World of Infotainment
The Amazing World of InfotainmentMistral Solutions
 
Infographic - Sonar Subsystems
Infographic - Sonar Subsystems Infographic - Sonar Subsystems
Infographic - Sonar Subsystems Mistral Solutions
 
Smart Home, Smart Engineering
Smart Home, Smart Engineering Smart Home, Smart Engineering
Smart Home, Smart Engineering Mistral Solutions
 

More from Mistral Solutions (20)

Field Dominance Algorithm
Field Dominance AlgorithmField Dominance Algorithm
Field Dominance Algorithm
 
An infographic from Mistral explaining Semiconductors
An infographic from Mistral explaining SemiconductorsAn infographic from Mistral explaining Semiconductors
An infographic from Mistral explaining Semiconductors
 
SMARC Development Kit
SMARC Development KitSMARC Development Kit
SMARC Development Kit
 
Satellite based SCADA systems
Satellite based SCADA systemsSatellite based SCADA systems
Satellite based SCADA systems
 
AM437x Application board
AM437x Application boardAM437x Application board
AM437x Application board
 
SMARC module
SMARC moduleSMARC module
SMARC module
 
IoT based Industrial Gateway (IoT-SDK) built around Sitara™ AM437x processors...
IoT based Industrial Gateway (IoT-SDK) built around Sitara™ AM437x processors...IoT based Industrial Gateway (IoT-SDK) built around Sitara™ AM437x processors...
IoT based Industrial Gateway (IoT-SDK) built around Sitara™ AM437x processors...
 
Designing a Product on Module for Health and Wellness Applications
Designing a Product on Module for Health and Wellness ApplicationsDesigning a Product on Module for Health and Wellness Applications
Designing a Product on Module for Health and Wellness Applications
 
iOS Application Development for Drones
iOS Application Development for DronesiOS Application Development for Drones
iOS Application Development for Drones
 
Hardware Software Co-Design - White Paper
Hardware Software Co-Design - White PaperHardware Software Co-Design - White Paper
Hardware Software Co-Design - White Paper
 
India Needs an OEM Evolution
India Needs an OEM EvolutionIndia Needs an OEM Evolution
India Needs an OEM Evolution
 
RTM Break Out Card - Datasheet
RTM Break Out Card - DatasheetRTM Break Out Card - Datasheet
RTM Break Out Card - Datasheet
 
Power Spikes Isolation to avoid corruption within sensitive ICs Solutions
Power Spikes Isolation to avoid corruption within sensitive ICs SolutionsPower Spikes Isolation to avoid corruption within sensitive ICs Solutions
Power Spikes Isolation to avoid corruption within sensitive ICs Solutions
 
Algorithm for Lossy Image Compression using FPGA
Algorithm for Lossy Image Compression using FPGAAlgorithm for Lossy Image Compression using FPGA
Algorithm for Lossy Image Compression using FPGA
 
High-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyHigh-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case Study
 
The Amazing World of Infotainment
The Amazing World of InfotainmentThe Amazing World of Infotainment
The Amazing World of Infotainment
 
Assistive technology
Assistive technologyAssistive technology
Assistive technology
 
Infographic - Sonar Subsystems
Infographic - Sonar Subsystems Infographic - Sonar Subsystems
Infographic - Sonar Subsystems
 
Infographic - Drone
Infographic - DroneInfographic - Drone
Infographic - Drone
 
Smart Home, Smart Engineering
Smart Home, Smart Engineering Smart Home, Smart Engineering
Smart Home, Smart Engineering
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

Interfacing Thermal Printers AM437x PoM

  • 1. Interfacing a Thermal Printer using an AM437x PoM Introduction Point-of-Sale Terminals are usually computerized systems used to record and track customer orders, process credit and debit cards, connect to other systems in a network, and manage inventory. One of the key components of the Retail Point-of-Sale Terminal is the block of hardware which prints a physical receipt of the payments/transactions being requested by the End Customer. Most Retail Point-of-Sale Terminals employ Thermal Printing Technology to print the final Payment/Receipts. Thermal Printing is also used in the banking sector i.e., in Automated Teller Machines [ATM Kiosks] to give a receipt for the Bank Transaction being carried out by the Customer. In this article, we will demonstrate how a sample thermal printer can be interfaced with Mistral’s AM437x Product on Module. The AM437x POM is an ideal platform to build Point-of-Sale Terminal Devices with Thermal Printing Capability. The following are the main advantages of using the AM437x PoM for building Point-of-Sale Terminal Devices. • Peripheral support which can be used to interface a variety of external Peripherals • Dual Ethernet Ports to enable connection to back-end Inventory Server/Machine. These are designed to be redundant with respect to the back-end Network Connection • Lowest idle Current consumption supporting operations at different OPP ranges • Hardware encryption support to enable secure storage of customer data such as billing, credit card information etc. • Display Sub-System enables interfacing of low-cost Display Devices such as CMOS LCD or LVDS Displays • Camera Ports which can be utilized to scan or capture the Customer’s Credit Card/Payment Card Details • Programmable Real-Time Engine [PRU] which can be used to perform image recognition, and retrieving the details from a Customer’s Credit Card/Payment Cards. Thermal Printer and its Components In this section, we will review the Thermal Printer block and explain how it can be interfaced with the AM437x PoM. A Thermal Printer comprises of below components: • Thermal Head: To generate heat for printing on the paper • Platen: Rubber roller to feed the paper • Spring: To apply pressure to thermal head to be in contact with paper • Controller Boards: To synchronize & control the mechanism Thermal printing is the most popular type of technique for making a compact printer because of its
  • 2. quiet operation, high reliability, ruggedness, efficiency, quality of print, simple mechanics, relatively low power and attractively low cost characteristics that can be adapted to serial or line print head configurations. Thermal printing process produces a printed image by selectively heating the coated thermal paper when the paper passes over the thermal print head. The coating on the paper turns black in the area where it is heated hence producing an image. Thermal printer is the only form of printing which involves no ink or toner. Once the thermal paper is inserted between the thermal head and plate, the printer sends an electrical current to the heating elements of the thermal head which generates heat, the heat activates the thermo-sensitive colouring layer of the thermal paper, which changes colour where heated. The controller board has the necessary firmware to control the printing mechanism which also manages bar code types, graphics and logos. The firmware also helps in choosing different fonts and character sizes. The controller board drives various sensors like low paper, paper out, door open through various interfaces like RS-232, parallel, USB and wireless. Figure 1: Mechanicals of a Thermal Printer Interfacing a Thermal Printer using PoM The AM437x PoM from Mistral is a small form factor, high performance, low cost, ready-to-use Product on Module (PoM) built around the powerful 800MHz/1GHz Sitara AM437x SoC from Texas Instruments. The AM437x offers extensive integration such as multi core PRU-ICSS, PowerVR SGX 3D acceleration core, dual camera, QSPI-NOR, up to 256 KB on- chip memory, Dual ADC and an easily extendable architecture, making it the perfect solution for quick product deployment while leveraging the benefits of the powerful SoC. Below is an implementation approach a Thermal Printer using the AM437x Product-On-Module from Mistral Solutions. This can be a replication of Thermal Printer Integration to an End Point-of-Sale Terminal Product based on the Am437x SoC. We have considered the Thermal Printer from Sparkfun which prints simple strings passed to it via
  • 3. TTL serial over UART, bitmap images (poorly) and it even generated several different formats of barcodes. More details of the characteristic of thermal printer can be found on https://www.sparkfun.com/products/10438. Implementation Approach In this section, we will examine how to interface a Sample Thermal Printer which uses a RS-232 interface. Under the Linux Kernel environment, we have considered the Linux UART and the TTY Driver framework to interface the sample Thermal Printer and exercise the same. Figure 2: TTY Driver Framework One of the implementation approaches can be to use a TTY driver which can be implemented specifically for interfacing the Sample Thermal printer and can be registered with the Linux Kernel running on PoM. A user types at a terminal (a physical teletype or simple application sending commands/data) which is connected to a UART (Universal Asynchronous Receiver and Transmitter) on the AM437x PoM. The Linux Kernel running on the AM437x PoM manages the physical transmission of bytes, including parity checks and flow control. In a native system, the UART driver would then deliver the incoming bytes directly to an application process. Case Study Below are some samples commands which are recognized by the reference Thermal Printer. At the kernel user space, when any of the above commands are send to the Kernel-Mode Driver, the Driver sources will have to convert these codes/commands into the equivalent ASCII Character and then share the same over the TTY driver. Now in the TTY driver we can toggle/update the transmit pin of the UART which is interfaced with the UART pin of the thermal printer. Once the thermal
  • 4. printer receives the respective commands it shall start the operation and once completed will send the success message back to the kernel user space. Any of the other functionality like paper roll detention, font selection, image printing can be interfaced on the UART Rx, Tx lines or through usage of available General Purpose Pins. Figure 3: HW Interfacing between AM437x PoM and Reference Thermal Printer Conclusion As demonstrated in this article the AM437x PoM is ideal and suitable for building Retail Point-of-Sale Terminal device and can be interfaced with a sample Thermal Printer to realize the use-cases of the Point-of-Sale Devices. As a further extension, additional control like Motor Drive Control or Motor Sensing chipsets can be brought in which can be interfaced over the serial interfaces of the AM437x SoC for even finer control over the Thermal Printer mechanism. The AM437x PoM is a ready-to-use low-cost, form factor board which greatly helps in reducing the development life cycle for end products such as Retail Point-of-Sale Terminal Devices. Product developers can kick-start their development life-cycle using this platform, develop their end application, finalize the industrial design and get their product to market faster. Mistral can help customize and optimize the AM437x PoM for product developers intending to take it to volume production. Authors: 1. Shubhro Mitra is a Module Lead in Mistral Solutions and has over 8 years of IT experience in design & implementation of embedded devices specializing in consumer electronics. He has worked on multiple TI and non-TI platforms. Shubhro Mitra holds an engineering degree in Information Technology from Indian Institute of Information Technology – Calcutta. 2. Mahesh Muni is a Project Leader in Mistral Solutions with over 10 years of IT experience in product design, development and testing. He has worked on multiple TI and non-TI platforms. Mahesh Muni holds an M.Tech degree from VTU, Belgaum. AM437x PoM Reference Thermal Printer UART_TX UART_RX PWR & GND