SKRIPSI
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana
Sains
ABSTRAK
Telah dibuat suatu sistem pembayaran non tunai pada pusat pembelanjaan
rumah tangga secara online dengan meggunakan RFID berbasis NodeMCU ESP8266.
Dengan pemanfaatan sebuah kartu atau tag yang sudah terdaftar di toko e-payment
market maka seorang pembeli dapat melakukan pembelian dan pembayaran secara non
tunai. Prinsip dari pembayaran non tunai ini, seorang pembeli tidak perlu
mengeluarkan dan membawa uang saat ingin berbelanja sesuatu dan seorang penjual
tidak perlu mengeluarkan uang untuk mengembalikkan kembalian pembeli. Hal
tersebut dapat dilakukan dengan memanfaatkan tekonologi Internet Of Things maka
pembayaran non tunai dapat menggunakan fasilitas WiFi ESP 8266 dari NodeMCU.
NodeMCU ESP8266 ini berfungsi untuk membaca dan mengirimkan informasi dari
sebuah kartu atau tag yang sudah terdaftar menuju database server yang telah tersedia.
Data informasi tersebut akan diolah sehingga akan terjadi pengurangan saldo yang
berada pada kartu atau tag dan database server. Untuk membuat tampilan toko
epayment-market yang berbasis website, maka digunakan sebuah perangkat lunak
dengan menggunakan web platform Bootstrap yang sudah dilengkapi dengan Bahasa
pemprograman PHP, HTML, CSS dan MySQL.
ii
ABSTRACT
An online non-cash payment system has been created at the center of household
shopping using NodeMCU ESP8266-based RFID. By using a card or tag that has been
registered in thestore e-payment market, a buyer can make purchases and payments
in non-cash. The principle of this non-cash payment, a buyer does not need to spend
and carry money when he wants to shop for something and a seller does not need to
spend money to return the buyer's return. This can be done with utilizing thetechnology
Internet of Things, non-cash payments can use the WiFi ESP 8266 facility from
NodeMCU. This ESP8266 NodeMCU functions to read and send information from a
registered card or tag to an available database server. The information data will be
processed so that there will be a reduction in the balance on the card or tag and the
database server. To create astore display website epayment-market based, a software
using the Bootstrap web platform is used which is equipped with PHP, HTML, CSS
and MySQL programming languages.
iii
Puji dan syukur penulis panjatkan kepada Allah SWT karena berkat rahmat dan
karunia-Nya penulis dapat menyelesaikan penyusunan sripksi ini dengan judul
“Rancang Bangun Sistem Pembayaran Non Tunai Pada Pusat Pembejalaan Rumah
Tangga Secara Online Dengan Menggunakan RFID Berbasis NodeMCU ESP 8266”.
Terimakasih penulis sampaikan kepada Bapak Drs. Herli Ginting, MS selaku
pembimbing 1 yang telah meluangkan waktunya selama penyusunan skripsi ini.
Terimakasih kepada Bapak Dr. Perdinan Sinuhaji, MS dan Bapak Awan Maghfirah
selaku ketua program studi dan sekertaris program studi departemen Fisika FMIPA-
USU Medan, dekan dan wakil dekan FMIPA USU, seluruh staf dan dosen Fisika
FMIPA USU, pegawai FMIPA USU dan rekan-rekan kuliah. Akhirnya tidak
terlupakan kepada Bapak, Ibu dan keluarga yang selama ini memberikan bantuan dan
dorongan yang diperlukan. Semoga Allah SWT akan membalasnya.
Hormat saya,
iv
Halaman
PERSETUJUAN i
ABSTRAK ii
ABSTRACT iii
PENGHARGAAN iv
DAFTAR ISI v
DAFTAR TABEL vii
DAFTAR GAMBAR viii
BAB 1. PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Sistematika Penulisan 4
DAFTAR PUSTAKA
LAMPIRAN
vi
vii
viii
ix
xi
BAB 1
PENDAHULUAN
harga barang, sebab dengan menggunakan RFID saldo pembeli akan terpotong
otomatis dalam melakukan pembelian. Teknologi RFID akan digunakan sebagai alat
pembayaran non tunai dan untuk aplikasinya dibangun menggunakan pemrograman
PHP dengan database Mysql. Hal inilah yang menjadi latar belakang penulis
mengajukan judul Skripsi dengan Judul “Rancang Bangun Sistem Pembayaran
Non Tunai Pada Pusat Pembelanjaan Rumah Tangga Secara Online Dengan
Menggunakan RFID Berbasis NodeMCU ESP 8266”.
BAB 2
TINJAUAN PUSTAKA
2.1 IoT
IoT (bahasa Inggris: Internet of Things, atau dikenal juga dengan singkatan
IoT) merupakan sebuah konsep yang bertujuan untuk memperluas manfaat dari
konektivitas internet yang tersambung secara terus-menerus. Adapun kemampuan
seperti berbagi data, remote control, dan sebagainya. Contohnya bahan pangan,
elektronik, koleksi, peralatan apa saja, termasuk benda hidup yang semuanya
tersambung ke jaringan lokal dan global melalui sensor yang tertanam dan selalu
aktif. IoT telah berkembang dari konvergensi teknologi nirkabel, micro-
electromechanical systems (MEMS), dan Internet.
Pada dasarnya, IoT mengacu pada benda yang dapat diidentifikasikan secara
unik sebagai representasi virtual dalam struktur berbasis Internet. Istilah Internet of
Thing awalnya disarankan oleh Kevin Ashton pada tahun 1999 dan mulai terkenal
melalui Auto-ID Center di MIT. Pada bulan Juni 2009 Ashton berkomentar:
"Hari ini komputer dan manusia, hampir sepenuhnya tergantung pada Internet
untuk segala informasi yang semua terdiri dari sekitar 50 petabyte (satu petabyte
adalah 1.024 terabyte) data yang tersedia pada Internet dan pertama kali
digagaskandan diciptakan oleh manusia. Dari mulai mengetik, menekan tombol
rekam, mengambil gambar digital atau memindai kode bar.
Diagram konvensional dari Internet meninggalkan router menjadi bagian
terpenting dari semuanya. Masalahnya adalah orang memiliki waktu, perhatian dan
akurasi terbatas. Mereka semua berarti tidak sangat baik dalam menangkap
berbagai data tentang hal di dunia nyata. Dan itu adalah masalah besar.
Dari segi fisik dan begitu juga lingkungan kita. Gagasan dan informasi begitu
penting, tetapi banyak lagi hal yang penting. Namun teknologi informasi saat ini
sangat tergantung pada data yang berasal dari orang-orang sehingga komputer kita
tahu lebih banyak tentang semua ide dari hal-hal tersebut.
Jika kita memiliki komputer yang begitu banyak tahu tentang semua hal itu.
Menggunakan data yang berkumpul tanpa perlu bantuan dari kita. Kita dapat
melacak dan menghitung segala sesuatu dan sangat mengurangi pemborosan,
kerugian, dan biaya. Kita akan mengetahui kapan hal itu diperlukan untuk
mengganti, memperbaiki atau mengingat, dan apakah mereka menjadi terbarui atau
melewati yang terbaik disini sertanya!.
Internet of Things memiliki potensi untuk mengubah dunia seperti pernah
dilakukan oleh Internet, bahkan mungkin lebih baik.
Penelitian pada Internet of Things masih dalam tahap perkembangan. Oleh
karena itu, tidak ada definisi standar dari Internet of Things.Terdapat juga berbagai
definisi yang dirumuskan oleh peneliti yang berbeda serta tercantum dalam survei.”
piranti yang bernama RFID tag. Kegunaan dari sistem RFID ini adalah untuk
mengirimkan data dari tag yang kemudian dibaca oleh RFID reader dan kemudian
diproses oleh aplikasi computer. Data yang dipancarkan dan dikirimkan tadi bisa
berisi beragam informasi, seperti ID, informasi lokasi atau informasi lainnya.
RFID tag seringkali dianggap sebagai pengganti dari barcode. Ini disebabkan
karena RFID memiliki berbagai macam keuntungan dibandingkan dengan
penggunaan barcode. RFID mungkin tidak akan seluruhnya mengganti
teknologi barcode, dikarenakan faktor harga, tetapi dalam beberapa kasus nantinya
penggunaan RFID akan sangat berguna. Keunikan yang dimilikinya adalah bisa
dilacak dari suatu lokasi ke lokasi yang lainnya. Hal ini dapat membantu perusahaan
untuk melawan aksi pencurian dan bentuk-bentuk product loss yang lainnya. RFID
juga sudah diajukan untuk penggunaan pada point-of-sale yang menggantikan kasir
dengan suatu mesin otomatis tanpa harus melakukan barcode scanning. Hal ini tetapi
harus dibarengi dengan turunnya harga RFID tag agar bisa digunakan secara luas di
masyarakat. (Teguh Santoso, 2019)
2.3.2 Cara Kerja
Tag atau label Radio Frequency Identification memiliki dua bagian. Bagian
pertama adalah microchip yang berfungsi untuk menyimpan dan memproses
informasi. Bagian kedua adalah antenna untuk menerima dan mengirimkan sinyal.
Setiap tag atau label RFID memiliki nomor seri tertentu yang hanya berlaku untuk
satu objek. Misalkan sebuah kunci pintu elektronik memiliki sebuah nomor seri,
kunci pintu itu hanya dapat digunakan untuk pintu A dan tidak bisa digunakan untuk
pintu yang lain.
Untuk membaca informasi yang dikodekan pada tag, alat pembaca yang
bertugas sebagai penerima sekaligus pemancar gelombang elektromagnetik
memancarkan sinyal ke tag menggunakan antena. Ketika sinyal telah dipancarkan
maka tag akan merespon dengan memberikan informasi yang tersimpan pada memori
banknya. Alat baca tersebut kemudian akan mengirimkan informasi yang telah ia
baca atau ia dapatkan dari tag ke program komputer Radio Frequency
Identification yang terdapat pada alat baca tersebut. Jika data tersebut sesuai dengan
program komputer RFID. Dalam penggunaannya, teknologi identifikasi radio ini
lebih banyak dikenal dalam bentuk kartu atau disebut dengan kartu RFID.
Berdasarkan catu daya tag, tag RFID dapat digolongkan menjadi 3 bagian yaitu:
a. Tag Aktif
Tag yang catu dayanya diperoleh dari baterai, sehingga akan mengurangi daya
yang diperlukan oleh pembaca RFID dan tag dapat mengirimkan informasi dalam
jarak yang lebih jauh. Kelemahan dari tipe tag ini adalah harganya yang mahal dan
ukurannya yang lebih besar karena lebih komplek. Semakin banyak fungsi yang
dapat dilakukan oleh tag RFID maka rangkaiannya akan semakin komplek dan
ukurannya akan semakin besar.
b. Tag Pasif
Tag yang catu dayanya diperoleh dari medan yang dihasilkan oleh pembaca
RFID. Rangkaiannya lebih sederhana, harganya jauh lebih murah, ukurannya kecil,
dan lebih ringan. Kelemahannya adalah tag hanya dapat mengirimkan informasi
dalam jarak yang dekat dan pembaca RFID harus menyediakan daya tambahan untuk
tag RFID. Tag RFID telah sering dipertimbangkan untuk digunakan sebagai barcode
pada masa yang akan datang. Pembacaan informasi pada tag RFID tidak memerlukan
kontak sama sekali. Karena kemampuan rangkaian terintegrasi yang modern, maka
tag RFID dapat menyimpan jauh lebih banyak informasi dibandingkan dengan
barcode.
c. Tag Semipasif
Tag semipasif adalah versi tag yang memiliki catu daya sendiri (baterai) tetapi
tidak dapat menginisiasikan komunikasi dengan reader. Dalam hal ini baterai
digunakan oleh tag sebagai catu daya untuk melakukan fungsi yang lain seperti
pemantauan keadaan lingkungan dan mencatu bagian elektronik internal tag, serta
untuk memfasilitasi penyimpanan informasi. Tag versi ini tidak secara aktif
memancarkan sinyal ke reader. Sebagian tag semipasif tetap dorman hingga
menerima sinyal dari reader. Tag semipasif dapat dihubungkan dengan sensor untuk
menyimpan informasi untuk peralatan keamanan container.Tag memiliki tipe
memori yang bervariasi yang meliputi read-only, read/write, dan write-once read-
many.
1. Tag read-only memiliki kapasitas memori minimal (biasanya kurang dari 64
bit) dan mengandung data yang terprogram permanen sehingga tidak dapat
diubah. Informasi yang terkandung di dalam tag seperti ini terutama adalah
informasi identifikasi item. Tag dengan tipe memori seperti ini telah banyak
digunakan di perpustakaan dan toko persewaan video. Tag pasif biasanya
memiliki tipe memori seperti ini.
2. Tag read/write, data dapat dimutakhirkan jika diperlukan. Sebagai
konsekuensinya kapasitas memorinya lebih besar dan harganya lebih mahal
dibandingkan tag read-only. Tag seperi ini biasanya digunakan ketika data
RFID MFRC522 ini dapat digunakan langsung oleh MCU dengan menggunakan
interface SPI, dengan suplai tegangan sebesar 3,3V. MFRC522 merupakan produk
dari NXP yang menggunakan fully integrated 13.56 MHz non-contact
communication card chip untuk melakukan pembacaan maupun penulisan.
MFRC522 support dengan semua varian MIFARE Mini, MIFARE 1 K, MIFARE
4K, MIFARE Ultralight, MIFARE DESFire EV1 and MIFARE Plus RF
identification rotocols.
Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa mikro
ampere), sehingga alat atau sistem menjadi portable karena dapat menggunakan catu
daya yang kecil. Keunggulan lainnya adalah tampilan yang diperlihatkan dapat
dibaca dengan mudah dibawah terang sinar matahari. Keuntungan dari LCD adalah
sebagai berikut:
a. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk
membuat program tampilan.
b. Mudah dihubungkan dengan port I/O karena menggunakan 8 bit data dan 3 bit
kontrol.
c. Ukuran modul yang proporsional dan daya yang digunakan relatif kecil.
Berikut ini adalah susunan dan konfigurasi Kaki pada LCD, yaitu sebagai
berikut:
a. Pin 1 dan 2
Merupakan sambungan catu daya, Vss dan Vdd. Pin Vdd dihubungkan
dengan tegangan positif catu daya, dan Vss pada 0V atau ground. Meskipun
data menentukan catu 5 Volt DC (hanya pada beberapa mA).
b. Pin 3
Pin 3 merupakan pin 16 Control Vee, yang digunakan untuk mengatur
kontras display. Idealnya pin ini dihubungkan dengan tegangan yang 16 Volt
dirubah untuk memungkinkan pengaturan terhadap tingkatan kontras display
sesuai dengan kebutuhan, pin ini dapat dihubungkan dengan variable resistor
sebagai pengatur kontras.
c. Pin 4
Pin 4 merupakan Register Select (RS), masukan yang pertama dari tiga
command control input. Dengan membuat RS menjadi high, data karakter
dapat ditransfer dari dan menuju modulnya.
d. Pin 5
Read/Write (R/W), untuk memfungsikan sebagai perintah write maka R/W
low atau menulis karakter ke modul. R/W high untuk membaca data karakter
atau informasi status dari register-nya.
e. Pin 6
Enable (E), input ini digunakan untuk transfer 16 dari perintah-perintah atau
karakter antara modul dengan hubungan data. Ketika menulis ke display,
data ditransfer hanya pada perpindahan high atau low. Tetapi ketika
membaca dari display, data akan menjadi lebih cepat tersedia setelah
perpindahan dari low ke high dan tetap tersedia hingga sinyal low lagi.
f. Pin 7-14
Pin 7 sampai 14 adalah delapan jalur data/data bus (D0 sampai D7) dimana
data dapat ditransfer 16 dari display.
g. Pin 16
Pin 16 dihubungkan kedalam tegangan 5 Volt untuk 16 intro tegangan dan
menghidupkan lampu latar/Back Light LCD.
halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan
orang seperti wikipedia, wordpress, joomla, dll.
Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah
kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari
singkatan itu sendiri. PHP dapat digunakan dengan gratis (free) dan bersifat Open
Source. PHP dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU
General Public License (GPL) yang biasa digunakan untuk proyek Open Source.
Kemudahan dan kepopuleran PHP sudah menjadi standar bagi programmer web di
seluruh dunia. PHP juga menjadi dasar dari aplikasi CMS (Content Management
System) populer seperti Joomla, Drupal, dan WordPress.
Fungsi PHP Dalam Pemrograman Web yaitu untuk membuat halaman web,
sebenarnya PHP bukanlah bahasa pemrograman yang wajib digunakan. Kita bisa saja
membuat website hanya menggunakan HTML saja. Web yang dihasilkan dengan
HTML (dan CSS) ini dikenal dengan website statis, dimana konten dan halaman web
bersifat tetap. Sebagai perbandingan, website dinamis yang bisa dibuat menggunakan
PHP adalah situs web yang bisa menyesuaikan tampilan konten tergantung situasi.
Website dinamis juga bisa menyimpan data ke dalam database, membuat halaman
yang berubah-ubah sesuai input dari user, memproses form, dll. Untuk pembuatan
web, kode PHP biasanya di sisipkan ke dalam dokumen HTML. Karena fitur inilah
PHP disebut juga sebagai Scripting Language atau bahasa pemrograman script.
c. SSI (Server Side Includes)
Perintah yang bisa disertakan dalam HTML, kemudian diproses oleh
webserver saat diakses oleh pengunjung. Format perintahnya adalah #include
virtual="/lokasi/file". SSI umumnya digunakan untuk memasukkan menu yang
digunakan di sebuah situs yang biasanya seragam di seluruh halaman dalam situs
tersebut, sehingga hanya diperlukan sekali membuat menu itu saja dalam sebuah file,
tidak di keseluruhan file yang ingin berisi menu itu.
Cara kerja web server yaitu menerima dan memberikan layanan. User
melakukan permintaan melalui browser terhadap server (HTTP Request), Kemudian
Server Menerima request dan dan memprosesnya menjadi halaman situs web (HTTP
Response). Jadi web server bisa diibaratkan sebagai pelayan, kita bisa bebas meminta
layanan sesuai ketentuan dan pelayanan, kemudian web server akan memproses
permintaan kamu untuk diberikan ke kamu hasilnya. Berikut ini contoh dari web
server yaitu, Apache, NginX, Litespeed, Apache Tomcat, Microsoft windows Server
2003 Internet Information Services (IIS), Lighttpd, Sun Java System Web Server,
Xitami Web Server, Zeus Web Server. Pada penelitian ini Web Server yang
digunaka adalah XAMPP.
Kepanjangan dari XAMPP yaiut Apache, PHP, MySQL dan Perl. XAMPP
adalah perangkat lunak bebas, yang mendukung banyak sistem operasi dan
merupakan kompilasi dari beberapa program. XAMPP merupakan tools yang
menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan menginstall
XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server
Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan
mengkonfigurasikannya secara otomatis untuk anda atau auto konfigurasi.
Sublime text salah satu kode editor yang biasa digunakan oleh para
programmer untuk membuat suatu program. Menurut Supono dan Putratama
(2016:14) “Sublime text merupakan perangkat lunak text editor yang digunakan
untuk membuat atau meng-edit suatu aplikasi. Sublime text mempunyai fitur plugin
tambahan yang memudahkan programmer”. Selain itu, menurut Faridi (2015:3)
menjelaskan bahwa “Sublime Text 3 adalah editor berbasis python, sebuah teks
editor yang elegan, kaya akan fitur, cross platform, mudah dan simple yang cukup
terkenal di kalangan developer (pengembang), penulis dan desainer”. Jadi dapat
disimpulkan bahwa sublime text ialah teks editor yang digunakan untuk membuat
program aplikasi yang secara otomatis untuk mempermudah programmer dalam
mengetikkan kode editor.
2.5.4 Database
2.5.4.1 Pengertian Data
Menurut Raymon McLeod, Jr. data merupakan sekumpulan baris fakta yang
mewakili peristiwa yang terjadi pada organisasi atau pada lingkungan fisik sebelum
diolah ke dalam format yang bisa dimengerti dan digunakan manusia. Istilah data
juga digunakan untuk membedakan antara informasi biner yang dapat dibaca mesin
dan informasi tekstual yang dapat dibaca manusia.
Sebagai contoh, beberapa aplikasi membedakan file data (file yang
mengandung data biner), dan file teks (file yang mengandung data ASCII). Pada
sistem manajemen basisdata (database management systems), file data adalah file
yang menyimpan informasi basisdata disamping file-file lain seperti file indeks dan
data dictionary yang disebut dengan metadata.
2.5.4.2 Pengertian Database
Database atau dikenal dengan sebutan Basisdata adalah sekumpulan
informasi yang diatur dalam cara tertentu hingga sebuah program komputer dapat
dengan cepat memilih data yang diinginkan. Basisdata dapat diibaratkan sebagai
sistem pengarsipan elektronis. Basisdata tradisional terdiri dari field, record, dan file.
Field adalah item tertentu dari informasi; record adalah sekumpulan field; dan file
adalah kumpulan record. Sebagai contoh, buku telepon dapat dianalogikan sebuah
file yang terdiri dari banyak record dan setiap record terdiri dari tiga field, yaitu
nama, alamat, dan nomor telepon.
Konsep alternatif rancangan basisdata disebut hypertext. Dalam basisdata
hypertext, setiap obyek, apakah itu merupakan teks, gambar atau film, dapat
dihubungkan dengan obyek lainnya. Basisdata hypertext sangat berguna untuk
mengatur informasi yang sangat besar tetapi tidak digunakan dalam analisis numerik.
Untuk mengakses informasi dari basisdata, diperlukan data base management system
(DBMS). DBMS adalah kumpulan program yang memungkinkan pengguna
memasukan, mengatur, atau memilih data dari basis data.
2.5.4.3 Perangkat Lunak Database MySQL
MySQL merupakan database engine atau server database yang mendukung
bahasa database pencarian SQL. MySQL adalah sebuah perangkat lunak sistem
manajemen basis data SQL atau DBMS yang multithread, multi-user. SQL pertama
kali di perkenalkan sebagai system basisdata komersial pada tahun 1979 oleh oracle
corporation. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam
database sejak lama, yaitu SQL (Structured Query Language).
SQL adalah sebuah konsep pengoperasian database, terutama untuk
pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data
dikerjakan dengan mudah dan cepat secara otomatis. Keandalan suatu sistem
database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan
proses perintah-perintah SQL, yang dibuat oleh user maupun program-program
aplikasinya. MySQL memiliki beberapa kelebihan yaitu:
a. MySQL dapat digunakan dan dimanfaatkan oleh banyak CPU sekaligus.
MySQL mendukung penggunaan oleh beberapa user pada waktu yang
bersamaan, oleh karena itu database server dapat diakses oleh client secara
bersamaan pula.
b. MySQL merupakan open source software. Untuk menggunakan MySQL,
yang mana merupakan lisensi dari GPL, user dapat mempergunakannya
secara cuma-cuma, tanpa dipungut biaya.
c. MySQL mampu berjalan dalam berbagai sistem operasi (Portability).
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Microsoft
BAB 3
METODE PENELITIAN
Pada Gambar 3.1 Diagram blok sistem diatas menjelaskan bahwa dalam
merancang sistem pembayaran non tunai dapat dilakukan dengan menggunakan
RFID (Radio Frequency Indentification) dan NodeMCU ESP 8266. RFID MFRC522
sebagai RFID Reader ini akan mendeteksi atau membaca RFID tag / kartu yang telah
disediakan. Kemudian hasil dari deteksi atau pembacaan tersebut akan dikirim dan
diproses di NodeMCU ESP 8266. NodeMCU ESP 8266 akan memberikan request
berupa pengecekan UID pada RFID kartu/tag sesuai atau tidak dengan database yang
telah disediakan. Apabila Pengecekan sesuai dengan database maka user dapat
melakukan pembayaran dengan kartu/tag tersebut dan akan terjadi pemotongan saldo
yang akan ditampilkan pada LCD. Namun, apabila pengecekan tidak sesuai dengan
database maka user diperlukan untuk mendaftarkan terlebih dahulu RFID kartu/tag
ke pihak server.
Fungsi setiap blok pada Gambar 3.1 adalah :
a. Blok PSA digunakan sebagai Sumber Tegangan DC pada rangkaian.
b. Blok NodeMCU ESP8266 digunakan sebagai kontroler yang akan
mengirimkan request berupa respon pengecekan UID kartu/tag dan saldo
terhadap database.
c. Blok LCD digunakan untuk menampilkan respon dari pengecekan UID
kartu/tag dan jumlah saldo terhadap database.
Start
Apakah UID
kartu/tag No
Terdeteksi?
Yes
No Pengecekan
Saldo ID Card
Yes
Proses Pembayaran
Pembayaran Berhasil
End
Apabila Arduino IDE nya sudah terinstal, maka board ESP8266 belum ada, sehingga
di menu Tools Board maka perlu di add terlebih dahulu. Tujuan pasang board
ESP8266 adalah supaya board yang mendukung fasilitas WIFI ESP8266 seperti
NodeMCU bisa di gunakan pada Program di Arduino IDE. Cara menambahkan
board ESP8266 ke Arduino IDE adalah sebagai berikut:
1. Jalankan aplikasi Arduino IDE yang telah tersedia.
5. Ketikkan esp8266 di kolom pencarian, klik install di bagian bawah lalu tunggu
proses download.
6. Setelah itu pilih dan klik menu Tools arahkan ke board lalu pilih dan klik
NodeMCU 1.0 (ESP-12 Module).
Setelah dilakukan proses download, maka install dan jalankan Sublime Text.
Silakan pilih versi php yang anda inginkan (disarankan pilih versi terbaru) lalu klik
Download. Berikut ini tahapan penginstallan XAMPP, yaitu:
1. Double klik file yang telah anda download, pilih English untuk language yang
akan digunakan lalu klik Ok
2. Selanjutnya centang komponen yang akan diinstalasi, lalu Next.
4. Jika telah muncul jendela seperti paga Gambar 3.15, klik Finish untuk
mengakhiri proses instalasi.
5. Kemudian akan muncul kotak dialog untuk mengkonfirmasi apakah kita ingin
langsung menjalankan XAMPP atau tidak Silakan pilih yes atau no.
6. Buka XAMPP control panel lalu jalankan web servernya dengan mengklik
tombol start.
7. Buka browser lalu ketikkan localhost jika muncul halaman seperti pada Gambar
3.15 maka kita telah berhasil menginstall XAMPP dan server telah aktif.
2. Membuat database baru dengan Klik New Isikan kolom Database name
dengan nama epayment (Bebas ingin mengunakan nama databasenya) kemudian
klik create.
3. Sekarang kita telah memiliki database. Buatlah tabel baru dengan klik database
epayment pilih dan klik New. Berikut ini tahapan pembuatan tabel baru,yaitu:
e. tabel_barang berfungsi utuk menampung nama, harga dan gambar barang yang
akan dijual. Tabel ini terdiri atas 4 buah kolom.
Rangkaian power supplay pada alat ini berfungsi sebagai sumber daya untuk
menghidupkaan sistem. Ketika switch (s1) ditutup (On), arus dari sumber DC 12
Volt akan mengalir menuju diode yang berfungsi sebagai pengaman polaritas.
Kondensator C5 yang berfungsi sebagai filter dapat dihilangkan jika tegangan input
merupakan tegangan DC stabil misalnya dari sumber baterai (Accu/Aki). Fungsi C6
adalah sebagai filter terakhir yang berfungsi mengurangi noice (ripple tegangan)
sedangkan LED yang dipasang dengan resistor berfungsi sebagai indicator. Pada
umumnya power supply selalu dilengkapi dengan regulator tegangan. Tujuan
pemasangan regulator tegangan pada power supply adalah untuk menstabilkan
tegangan keluaran apabila terjadi perubahan tegangan masukan pada power supply.
Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display)
16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat
memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver
untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter.
Gambar 3.27 merupakan gambar rangkaian LCD yang dihubungkan ke NodeMCU
ESP8266 dengan protokol I2C (Inter Integrated Circuit). Dari gambar 3.27,
rangkaian yang merupakan pin I/O dua arah dan SPI mempunyai fungsi khusus
sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada LCD
display akan dapat dikendalikan oleh NodeMCU ESP8266. Melalui protocol I2C
maka LCD dapat dikontrol dengan menggunakan 2 pin saja yaitu SDA dan SCL.
merupakan produk dari NXP yang menggunakan fully integrated 13.56 MHz non-
contact communication card chip untuk melakukan pembacaan maupun penulisan.
Rangkaian ini bertujuan untuk menampilkan hasil inputan dari reader yang
telah diproses oleh NodeMCU ESP8266. LCD tersebut akan menampilkan nama
pemilik ID Card, saldo awal, saldo akhir.
BAB 4
HASIL DAN PEMBAHASAN
itu harus terdapat beberapa pin yang akan terkoneksi antara MFRC522 dan
NodeMCU. Tabel 4.2 akan menampilkan pin yang akan terhubung antara NodeMCU
ESP 8266 dengan MFRC522.
Tabel 4.2 Koneksi Pin NodeMCU dengan MFRC522
NodeMCU ESP8266 MFC522
D3 RST
D4 SDA
D5 SCK
D6 MISO
D7 MOSI
GND GND
3V 3,3 V
Setelah rangkaian diatas telah disatukan, maka berikut ini tampilan rangkaian
keseluruhan pada penelitian ini.
Apabila tombol sign up ditekan, makan data yang diminta akan disimpan
dalam database tbladmin. Dan akan muncul pesan registrasi berhasil seperti terlihat
pada gambar 4.11.
Bagian ini akan menampilkan produk apa saja yang dijualbelikan dan
memiliki beberapa informasi berupa nama produk, harga produk, dan gambar
produk. Untuk bagian coding, kita akan menghubungkan dengan databasenya, lalu
memanggil semua field yang ada pada tabel_barang untuk menampilkan nama
produk, harga produk dan gambar produk.
Dari gambar 4.15 memiliki pilihan buat admin dimana dapat meghapus dan
mengedit produk yang kita inginkan. Button hapus digunakan untuk menghapus
produk yang bersangkutan. Button edit digunakan untuk mengedit produk yang ingin
diedit. Button tambah produk digunakan untuk menambahkan produk yang ingin
dijualbelikan.
Button edit yang ada pada gambar 4.17 berfungsi untuk menyimpan dan
mengupdate data yang ingin diedit. Untuk membuat tampilan edit produk, kita
memerlukan koneksi terlebih dahulu terhadap database yang kita gunakan. Sehingga
kita dapat melalukan fungsi creat, read, update, dan delete. Apabila data berhasil
diedit maka akan tampil pesan data berhasil di edit.
Button simpan yang terlihat pada gambar 4.19 memiliki fungsi untuk
menyimpan data produk yang ingin kita tambahkan untuk dijualbelikan. Data yang
ditambahkan akan masuk ke dalam database dan tampilan halaman info produk. Dan
button kembali ke menu data produk berfungsi untuk kembali ke halaman data
produk apabila seorang admin tidak jadi untuk menambahkan data produk yang baru.
Apabila data produk yang ditambahkan telah berhasil disimpan, maka akan muncul
pesan seperi gambar 4.20 berikut ini.
memiliki aksi button berupa hapus dan edit, dan memiliki button Tambah data
pelanggan.
Button tambah data pelanggan yang terlihat pada gambar 4.21, memiliki
fungsi untuk bagian pendaftaran seorang pelanggan (user) yang ingin bergabung
untuk melakukan pembayaran non tunai di epayment-market.
pelanggan, Password, serta saldo yag ingin diisi pada kartu/tag tersebut. Apabila
button simpan yang terlihat pada gambar 4.23 ditekan, maka secara otomatis data
yang diinputkan akan masuk kedalam database dan info data pelanggan. Berikut ini
tampilan pesan apabila data pelanggan berhasil ditambahkan.
Button edit yang terlihat pada gambar 4.21, memili fungsi untuk mengedit data
pelanggan yang sudah ada terlebih dahulu. Dan berikut ini tampilan halaman edit
data pelanggan.
Halaman Edit Data Pelanggan ini memiliki tujuan, apabila seorang admin ingin
mengubah data pelanggan (user) berdasarkan keinginan dari user tersebut. Data yang
ingin diubah akan dapat berubah secara otomatis baik dari database maupun dari info
data pelanggan. Proses selanjutnya apabila data berhasil disimpan maka akan mucul
pesan seperti gambar 4.25 berikut ini.
Button Detail Pembelian yang terlihat pada gambar 4.26, memiliki fungsi untuk
menampilkan detail pembelian seorang Pelanggan (user) berdasarkan sekali
pembelian dan sekali transaksi. Tampilan detail pembelian akan menampilkan
informasi dari pelanggan (user) berupa nama pelanggan, username, ID Card, tanggal
pembelian, saldo dan juga detail produk yang dibeli oleh seorang pelanggan. Detail
produk pembeliannya akan menampilkan nama produk yang dibeli, jumlah
pembelian, harga produk, dan total pembelian. Button kembali ke data pembelian
yang terlihat pada gambar 4.27 memiliki fungsi untuk mengembalikan posisi
halaman dari detail pembelian ke info data pembelian. Berikut ini tampilan halaman
detail pembelian.
Login user berfungsi sebagai media perantara untuk seorang pelanggan dapat
masuk ke halaman utama website. Pelanggan harus menginputkan username dan
password terlebih dahulu. Kemudian apabila kita mengklik button login, maka server
akan mencek apakah data username yang diinputkan akan sesuai atau tidak dengan
database. Apabila sesuai akan muncul pesan berhasil login yang dapat dilihat pada
gambar 4.30 dibawah ini.
Gambar 4.31 dibawah ini akan menampilkan pesan gagal login, dan silahkan
periksa akun anda. Pesan tersebut akan muncul apabila username atau password yang
diinputkan tidak sesuai dengan database.
menampilkan produk yang ingin dijual dengan menyertakan nama produk dan harga
produk. Terdapat button tambahan beli yang berfungsi sebagai media penghantar
untuk memasukkan produk yang ingin dibeli ke dalam keranjang. Gambar 4.35
menampilkan halaman utama Home User.
Apabila produk yang ingin dibeli pembeli telah di tekan button beli, maka produk
tersebut akan masuk ke keranjang. Berikut ini tampilan pesan produk telah masuk ke
keranjang belanja.
Button lanjutkan belanja yang terlihat pada gambar 4.36 memili fungsi untuk
kembali ke halaman home user, sehingga pelanggan dapat memilih produk apa saja
yang ingin dibeli kembali. Apabila produk yang ingin dibeli berbeda dari
sebelumnya maka produk didalam keranjang akan bertambah, apabila sama
produknya maka jumlah produk yang ingin dibeli makin bertambah. Terlihat pada
gambar 4.38 produk yang ingin dibeli makin bertambah dari sebelumnya.
Button hapus yang terlihat pada gambar 4.38 berfungsi untuk menghapus produk
yang tidak ingin kita beli dari keranjang belanja. Akan muncul sebuah pesan yang
akan menampilkan bahwa produk telah terhapus dari keranjang belanja. Gambar 4.39
dibawah ini menampilkan pesan bahwa produk telah berhasil di hapus dari keranjang
belanja.
4.2.2.5 Checkout
Setelah muncul pesan tersebut, jangan melakukan klik ok dahulu. Namun, lakukan
dekatkan kartu RFID pelanggan ke RFID reader yang telah tersedia. Apabila ok telah
di klik maka halaman akan berpindah ke halaman detail pembayaran.
Gambar diatas akan menampilkan detail pembayaran yang dilakukan oleh seorang
pelanggan. Terdapat beberapa informasi yang berhubungan dengan detail
pembayaran. Informasi tersebut berupa nama pelanggan, nomor ID Card, saldo akhir
pelanggan, dan total pembayaran yang telah dilakukan. Halaman detail pembayaran
juga memiliki button pengiriman produk dan menu utama. Apabila button
penigriman produk ditekan maka akan menampilkan halaman pengiriman produk.
Dan apabila button menu utama ditekan maka akan kembali ke halaman utama home
user. Pada gambar 4.43 dibawah ini akan menampilkan tampilan halaman
pengiriman produk. Dimana seorang pelanggan akan diberikan tugas untuk
menginputkan alamat terkini dan no Hp yang bisa dihubungi.
Setelah kita menginputkan alamat dan No.Hp maka kita klik button kirim produk. Da
berikut ini tampilan pesan bahwa produk akan segera dikirim.
Logout user berfungsi untuk keluar dari halaman website utama pelanggan
(user). Setelah tombol logout ditekan maka halaman akan berganti ke tampilan login
pelanggan. Gambar 4.45 menampilkan program untuk logout Pelanggan. Dibagian
coding semua session yang digunakan akan di unset dan di destroy. Kemudian buat
lokasi yang ingin ditampilkan setelah logout yaitu login user.
Setelah user mendekatkan kartu, secara otomatis RFID MFRC522 akan mendeteksi
apakah kartu/tag tersebut telah terdaftar nomor ID Cardnya. Apabila ID Card nya
belum terdaftar maka LCD akan menampilkan pesan ID Belum terdaftar.
Apabila ID Card memiliki nomor ID yang telah terdaftar, maka selanjutnya proses
transaksi pembayaran. Tampilan LCD akan menampilkan pesan transaksi berhasil
beserta informasi nama pelanggan, saldo awal pelanggan, dan saldo akhir pelanggan.
Setelah informasi tersebut tampil maka secara otomatis saldo yang ada di website
dan database juga akan berkurang. Dan tak lupa pula di akhir informasi terdapat
ucapan terimakasih kepada pelanggan yang sudah melakukan proses jual beli di toko
epayment-market. Berikut ini tampilan gambar LCD ketika ID Card nya sudah
terdaftar.
Setelah tahapan diatas di lakukan, maka tampilan LCD akan kembali ke posisi
gambar 4.47 dimana meminta pelanggan untuk mendekatkan kartu reader apabila
melakukan pembelian kembali.
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
1. Karakteristik dari RFID RC522 dan NodeMCU ESP 8266 yang dapat
membuat sistem pembayaran non tunai dengan sederhana yaitu pada
NodeMCU memiliki modul WiFi yang dikenal dengan sebutan ESP8266,
modul tersebutlah yang dapat membuat sistem pembayaran non tunai ini
berbasis IOT. Pada RFID RC522 memiliki karakteristik yang dapat mengirim
dan menerima informasi. Informasi hasil dari RFID inilah yang dapat
membuat sistem pembayaran non tunai.
2. Perancangan sistem pembayaran non tunai dengan menggunakan RFID
RC522 dan NodeMCU ESP 8266 dapat dilakukan dengan 2 tahap. Pertama
persiapan perangkat keras (Hardware) meliputi persiapan NodeMCU ESP
8266, RFID RC522, dan LCD. Kedua persiapan perangkat lunak (Software)
meliputi web server (XAMPP), web browser (google chrome), code editor
(sublime text 3), dan Arduino IDE.
3. Cara kerja sistem pembayaran non tunai ini adalah RFID reader akan
mendeteksi apakah informasi dari kartu/taq yang telah disedikan. Informasi
yang dikirim berupa nomor ID Card yang mana telah didaftarkan terlebih
dahulu di database. Apabila telah sesuai maka kartu/taq tersebut dapat
dilakukan untuk pembayaran. Namun apabila nomor ID Card pada kartu/taq
yang tidak sesuai dengan database maka kartu tersebut tidak dapat digunaa
untuk melakukan pembayaran.
5.2 Saran
1. Dapat dikembangkan dengan sistem bukti pembayaran dalam bentuk
pencetakkan.
2. Dapat dikembangkan dengan menggunakan sistem real time sehingga
websitenya langsung berubah saat melakukan pembayaran.
3. Dapat dikembangkan dengan menambahkan fasilitas pengiriman produk ke
alamat konsumen dengan tidak ada batasan wilayah pengiriman produk.
DAFTAR PUSTAKA
Arief, Rudyanto. 2011. Pemrograman Web Dinnamis Menggunakan PHP & MySQL.
Yogyakarta : Penerbit Andi.
Aska Febri Zahro, dkk. 2013. Implementasi Radio Frequency Identification (RFID)
Sebagai Otomasi Pada Smart Home. Padang : Politeknik Negeri Padang.
Prabowo, Bondan Aji, dkk. 2015. Sistem Informasi Akuntasi dan Sistem Transaksi
Menggunaka RFID Dengan Siste Saldo Pada Pembeli Untuk Toko Pintar
Tanpa Kasir. Semantic Scholar.
Sandika, Galih. 2017. Belajar PHP Untuk Pemula. Bandung: Web Programming
Unpas.
https://www.youtube.com/watch?v=ocUN-BmonNE&t=31s
Diakses Bulan Oktober 2020
https://www.youtube.com/watch?v=l1W2OwV5rgY&list=PLFIM0718LjIUqXfmEI
BE3-uzERZPh3vp6
Diakses Bulan Oktober 2020
https://www.youtube.com/watch?v=CleFk3BZB3g&list=PLFIM0718LjIUBrbm6Gd
h6k7ZUvPIAZm7p
Diakses Bulan Oktober 2020
https://www.youtube.com/watch?v=NBZ9Ro6UKV8&list=PLFIM0718LjIVuONH
sfOK0ZtiqUWvrx4F
Diakses Bulan Oktober 2020
https://www.youtube.com/watch?v=CvqtW3gMg&list=PLoYZCiuF11ryod7VQqJ
D9KE5vK2CEM2X
Diakses Bulan Oktober 2020
https://www.youtube.com/watch?v=rvegwrroXtE&t=64s
Diakses Bulan Oktober 2020
https://www.slideshare.net/sandhikagalih
Diakses Bulan Oktober 2020
Pilihlah produk yang ingin dibeli, apabila sesuai dengan keinginan maka klik tombol
Beli, maka akan muncul pesan seperti dibawah berikut
Pastikan Prototipe Pembayaran non tunai telah aktif, denga ditandai LCD
menampilkan tulisan Dekatkan Kartu Anda ke reader.
Terimakasih
Kemudian kita akan dibuat pilihan apaka ingin melakukan pengiriman produk atau
kembali ke menu utama. apabila button menu utama di klik maka halaman akan
berganti ke halaman utama user. Dan apabila kita ingin melakukan pengiriman produk
ke alamat pelanggan maka klik button pengiriman produk. Kemudia inputkan alamat
terkini dan no hp yang bisa dihubungi.
Pengiriman produk hanya dapat dilakukan untuk wilayah kota Medan dan kabupaten
Deliserdang. Setelah kita menginputkan alamat maka klik button produk dan akan
muncul pesan seperti gambar dibawah ini.
Version 6.0
Espressif Systems
Copyright © 2018
Release Notes
Date Version Release Notes
Changed the crystal frequency range from “26 MHz to 52 MHz” to “24
2016.11 V5.2
MHz to 52 MHz” in Section 3.3.
2016.12 V5.3 Changed the minimum working voltage from 3.0V to 2.5V.
2017.04 V5.4 Changed chip input and output impedance from 50Ω to 39+j6 Ω.
2017.10 V5.5 Updated Chapter 3 regarding the range of clock amplitude to 0.8 ~ 1.5V.
Certification
Download certificates for Espressif products from https://www.espressif.com/en/
certificates.
.....................................................................................................................
1.2. Specifications 2
.............................................................................................................................
1.3. Applications 3
...............................................................................................................................
...............................................................................................................................
3.1.2. Memory 6
..........................................................................................................................
3.1.3. External Flash 7
................................................................................................................
3.2. Clock 7
..........................................................................................................................................
3.2.1. High Frequency Clock 7
...................................................................................................
3.2.2. External Clock Requirements 8
........................................................................................
3.3. Radio 8
..........................................................................................................................................
3.3.1. Channel Frequencies 8
.....................................................................................................
3.3.2. 2.4 GHz Receiver 9
...........................................................................................................
3.3.3. 2.4 GHz Transmitter 9
.......................................................................................................
3.3.4. Clock Generator 9
............................................................................................................
3.4. Wi-Fi 9
...........................................................................................................................................
3.4.1. Wi-Fi Radio and Baseband 9
............................................................................................
3.4.2. Wi-Fi MAC 10
...................................................................................................................
3.5. Power Management 10
.................................................................................................................
......................................................................
4.2. Secure Digital Input/Output Interface (SDIO) 12
...........................................................................
4.3. Serial Peripheral Interface (SPI/HSPI) 13
......................................................................................
4.3.1. General SPI (Master/Slave) 13
..........................................................................................
4.3.2. HSPI (Slave) 13
.................................................................................................................
4.4. I2C Interface 14
.............................................................................................................................
4.5. I2S Interface 14
.............................................................................................................................
4.6. Universal Asynchronous Receiver Transmitter (UART) 14
............................................................
4.7. Pulse-Width Modulation (PWM) 15
...............................................................................................
4.8. IR Remote Control 16
....................................................................................................................
4.9. ADC (Analog-to-Digital Converter) 16
...........................................................................................
..........................................................................................................
5.2. RF Power Consumption 18
...........................................................................................................
5.3. Wi-Fi Radio Characteristics 19
.....................................................................................................
............................................................................................................
II.2. Must-Have Resources 22
..............................................................................................................
1. Overview
Espressif’s ESP8266EX delivers highly integrated Wi-Fi SoC solution to meet users’
continuous demands for efficient power usage, compact design and reliable performance
in the Internet of Things industry.
With the complete and self-contained Wi-Fi networking capabilities, ESP8266EX can
perform either as a standalone application or as the slave to a host MCU. When
ESP8266EX hosts the application, it promptly boots up from the flash. The integrated high-
speed cache helps to increase the system performance and optimize the system memory.
Also, ESP8266EX can be applied to any microcontroller design as a Wi-Fi adaptor through
SPI/SDIO or UART interfaces.
ESP8266EX integrates antenna switches, RF balun, power amplifier, low noise receive
amplifier, filters and power management modules. The compact design minimizes the PCB
size and requires minimal external circuitries.
Besides the Wi-Fi functionalities, ESP8266EX also integrates an enhanced version of
Tensilica’s L106 Diamond series 32-bit processor and on-chip SRAM. It can be interfaced
with external sensors and other devices through the GPIOs. Software Development Kit
(SDK) provides sample codes for various applications.
Espressif Systems’ Smart Connectivity Platform (ESCP) enables sophisticated features
including:
• Fast switch between sleep and wakeup mode for energy-efficient purpose;
1.2. Specifications
Table 1-1. Specifications
External Interface -
Security WPA/WPA2
Encryption WEP/TKIP/AES
📖 Note:
The TX power can be configured based on the actual user scenarios.
1.3. Applications
• Home appliances
• Home automation
• Smart plugs and lights
• Industrial wireless control
• Baby monitors
• IP cameras
• Sensor networks
• Wearable electronics
• Wi-Fi location-aware devices
• Security ID tags
• Wi-Fi position system beacons
2. Pin Definitions
Figure 2-1 shows the pin layout for 32-pin QFN package.
EXT_RSTB
XTAL_OUT
XTAL_IN
RES12K
U0RXD
U0TXD
VDDD
VDDA
GND
33
32
31
30
29
28
27
26
25
VDDA 1 24 GPIO5
LNA 2 23 SD_DATA_1
VDD3P3 3 22 SD_DATA_0
VDD3P3 4 21 SD_CLK
ESP8266EX
VDD_RTC 5 20 SD_CMD
TOUT 6 19 SD_DATA_3
CHIP_EN 7 18 SD_DATA_2
XDP_DCDC 8 17 VDDPST
9
10
11
12
13
14
15
16
MTMS
MTDI
VDDPST
MTCK
MTDO
GPIO2
GPIO0
GPIO4
$
Figure 2-1. Pin Layout (Top View)
RF antenna interface
2 LNA I/O Chip output impedance=39+j6 Ω. It is suggested to retain the
π-type matching network to match the antenna.
5 VDD_RTC P NC (1.1V)
Chip Enable
7 CHIP_EN I High: On, chip works properly
Low: Off, small current consumed
📖 Note:
1. GPIO2, GPIO0, and MTDO are used to select booting mode and the SDIO mode;
2. U0TXD should not be pulled externally to a low logic level during the powering-up.
3. Functional Description
The functional diagram of ESP8266EX is shown as in Figure 3-1.
GPIO
Switch
Digital baseband
I2C
CPU
RF Analog I2S
transmit transmit
SDIO
Sequencers
PWM
ADC
Accelerator
PLL VCO 1/2 PLL
SPI
$
Figure 3-1. Functional Block Diagram
3.1.2. Memory
ESP8266EX Wi-Fi SoC integrates memory controller and memory units including SRAM
and ROM. MCU can access the memory units through iBus, dBus, and AHB interfaces. All
memory units can be accessed upon request, while a memory arbiter will decide the
running sequence according to the time when these requests are received by the
processor.
According to our current version of SDK, SRAM space available to users is assigned as
below.
• RAM size < 50 kB, that is, when ESP8266EX is working under the Station mode and
connects to the router, the maximum programmable space accessible in Heap +
Data section is around 50 kB.
• There is no programmable ROM in the SoC. Therefore, user program must be stored
in an external SPI flash.
⚠ Notice:
SPI mode supported: Standard SPI, Dual SPI and Quad SPI. The correct SPI mode should be selected
when flashing bin files to ESP8266. Otherwise, the downloaded firmware/program may not be working
properly.
3.2. Clock
3.2.1. High Frequency Clock
The high frequency clock on ESP8266EX is used to drive both transmit and receive mixers.
This clock is generated from internal crystal oscillator and external crystal. The crystal
frequency ranges from 24 MHz to 52 MHz.
The internal calibration inside the crystal oscillator ensures that a wide range of crystals can
be used, nevertheless the quality of the crystal is still a factor to consider to have
reasonable phase noise and good Wi-Fi sensitivity. Refer to Table 3-1 to measure the
frequency offset.
Loading capacitance CL - 32 pF
Motional capacitance CM 2 5 pF
Series resistance RS 0 65 Ω
3.3. Radio
ESP8266EX radio consists of the following blocks.
• 2.4 GHz receiver
• 2.4 GHz transmitter
• High speed clock generators and crystal oscillator
• Bias and regulators
• Power management
1 2412 8 2447
2 2417 9 2452
3 2422 10 2457
4 2427 11 2462
5 2432 12 2467
6 2437 13 2472
7 2442 14 2484
These built-in calibration functions reduce the product test time and make the test
equipment unnecessary.
3.4. Wi-Fi
ESP8266EX implements TCP/IP and full 802.11 b/g/n WLAN MAC protocol. It supports
Basic Service Set (BSS) STA and SoftAP operations under the Distributed Control Function
(DCF). Power management is handled with minimum host interaction to minimize active-
duty period.
• Modem-sleep mode: The CPU is operational. The Wi-Fi and radio are disabled.
• Light-sleep mode: The CPU and all peripherals are paused. Any wake-up events
(MAC, host, RTC timer, or external interrupts) will wake up the chip.
• Deep-sleep mode: Only the RTC is operational and all other part of the chip are
powered off.
Wi-Fi TX packet
Active (RF working) Please refer to 5-2.
Wi-Fi RX packet
Light-sleep② - 0.9 mA
📖 Notes:
① Modem-sleep mode is used in the applications that require the CPU to be working, as in PWM or
I2S applications. According to 802.11 standards (like U-APSD), it shuts down the Wi-Fi Modem
circuit while maintaining a Wi-Fi connection with no data transmission to optimize power
consumption. E.g. in DTIM3, maintaining a sleep of 300 ms with a wakeup of 3 ms cycle to receive
AP’s Beacon packages at interval requires about 15 mA current.
② During Light-sleep mode, the CPU may be suspended in applications like Wi-Fi switch. Without
data transmission, the Wi-Fi Modem circuit can be turned off and CPU suspended to save power
consumption according to the 802.11 standards (U-APSD). E.g. in DTIM3, maintaining a sleep of
300 ms with a wakeup of 3ms to receive AP’s Beacon packages at interval requires about 0.9 mA
current.
③ During Deep-sleep mode, Wi-Fi is turned off. For applications with long time lags between data
transmission, e.g. a temperature sensor that detects the temperature every 100s, sleeps for 300s
and wakes up to connect to the AP (taking about 0.3 ~ 1s), the overall average current is less than
1mA. The current of 20 μA is acquired at the voltage of 2.5V.
4. Peripheral Interface
4.1. General Purpose Input/Output Interface (GPIO)
ESP8266EX has 17 GPIO pins which can be assigned to various functions by programming
the appropriate registers.
Each GPIO PAD can be configured with internal pull-up or pull-down (XPD_DCDC can only
be configured with internal pull-down, other GPIO PAD can only be configured with internal
pull-up), or set to high impedance. When configured as an input, the data are stored in
software registers; the input can also be set to edge-trigger or level trigger CPU interrupts.
In short, the IO pads are bi-directional, non-inverting and tristate, which includes input and
output buffer with tristate control inputs.
These pins, when working as GPIOs, can be multiplexed with other functions such as I2C,
I2S, UART, PWM, and IR Remote Control, etc.
For low power operations, the GPIOs can also be set to hold their state. For instance, when
the IOs are not driven by internal and external circuits, all outputs will hold their states
before the chip entered the low power modes.
The required drive strength is small— 5 μA or more is enough to pull apart the latch.
📖 Note:
SPI mode can be implemented via software programming. The clock frequency is 80 MHz at maximum
when working as a master, 20 MHz at maximum when working as a slave.
📖 Note:
SPI mode can be implemented via software programming. The clock frequency is 20 MHz at maximum.
Both I2C Master and I2C Slave are supported. I2C interface functionality can be realized via
software programming, and the clock frequency is 100 kHz at maximum.
Data transfers to/from UART interfaces can be implemented via hardware. The data
transmission speed via UART interfaces reaches 115200 x 40 (4.5 Mbps).
UART0 can be used for communication. It supports flow control. Since UART1 features
only data transmit signal (TX), it is usually used for printing log.
📖 Note:
By default, UART0 outputs some printed information when the device is powered on and booting up. The
baud rate of the printed information is relevant to the frequency of the external crystal oscillator. If the
frequency of the crystal oscillator is 40 MHz, then the baud rate for printing is 115200; if the frequency of
the crystal oscillator is 26 MHz, then the baud rate for printing is 74880. If the printed information exerts
any influence on the functionality of the device, it is suggested to block the printing during the power-on
period by changing (U0TXD, U0RXD) to (MTDO, MTCK).
The functionality of PWM interfaces can be implemented via software programming. For
example, in the LED smart light demo, the function of PWM is realized by interruption of the
timer, the minimum resolution reaches as high as 44 ns. PWM frequency range is
adjustable from 1000 μs to 10000 μs, i.e., between 100 Hz and 1 kHz. When the PWM
frequency is 1 kHz, the duty ratio will be 1/22727, and a resolution of over 14 bits will be
achieved at 1 kHz refresh rate.
MTMS 9 IO14 IR TX
GPIO5 24 IO 5 IR Rx
The functionality of Infrared remote control interface can be implemented via software
programming. NEC coding, modulation, and demodulation are supported by this interface.
The frequency of modulated carrier signal is 38 kHz, while the duty ratio of the square wave
is 1/3. The transmission range is around 1m which is determined by two factors: one is the
maximum current drive output, the other is internal current-limiting resistance value in the
infrared receiver. The larger the resistance value, the lower the current, so is the power, and
vice versa.
The following two measurements can be implemented using ADC (Pin6). However, they
cannot be implemented at the same time.
• Measure the power supply voltage of VDD3P3 (Pin3 and Pin4).
Optimize the RF circuit conditions based on the testing results of VDD3P3 (Pin3
RF Calibration Process
and Pin4).
Hardware Design The input voltage range is 0 to 1.0V when TOUT is connected to external circuit.
📖 Notes:
esp_init_data_default.bin is provided in SDK package which contains RF initialization parameters (0 ~
127 bytes). The name of the 107th byte in esp_init_data_default.bin is vdd33_const, which is defined as
below:
• When vdd33_const = 0xff, the power voltage of Pin3 and Pin4 will be tested by the internal self-
calibration process of ESP8266EX itself. RF circuit conditions should be optimized according to the
testing results.
• When 18 =< vdd33_const =< 36, ESP8266EX RF Calibration and optimization process is implemented
via (vdd33_const/10).
• When vdd33_const < 18 or 36 < vdd33_const < 255, vdd33_const is invalid. ESP8266EX RF
Calibration and optimization process is implemented via the default value 3.3V.
5. Electrical Specifications
5.1. Electrical Characteristics
Table 5-1. Electrical Characteristics
IPC/JEDEC J-
Maximum Soldering Temperature - - 260 ℃
STD-020
VOH 0.8VIO -
IMAX - - - 12 mA
Sensitivity
OFDM, 6 Mbps - 37 - dB
OFDM, 54 Mbps - 21 - dB
HT20, MCS0 - 37 - dB
HT20, MCS7 - 20 - dB
6. Package Information
📖 Notes:
• INST_NAME refers to the IO_MUX REGISTER defined in eagle_soc.h, for example MTDI_U refers to
PERIPHS_IO_MUX_MTDI_U.
• Net Name refers to the pin name in schematic.
• Function refers to the multifunction of each pin pad.
• Function number 1 ~ 5 correspond to FUNCTION 0 ~ 4 in SDK. For example, set MTDI to GPIO12 as
follows.
- #define FUNC_GPIO12 3 //defined in eagle_soc.h
- PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12)
Description: This webpage provides links both to the latest version of the ESP8266 SDK
and the older ones.
• ESP8266 Tools
Description: This webpage provides links to both the ESP8266 flash download tools and
the ESP8266 performance evaluation tools.
• ESP8266 Apps
• ESP8266 Certification and Test Guide
• ESP8266 BBS
• ESP8266 Resources