My log book summary

Monday, 10 November 2025

DIY ESP8266 APRS

Kali ini saya cuba membina koding / sketch  Arduino dengan bantuan AI, dan berpandukan ilmu asas yang diperolehi semasa mengikuti kelas Asas Arduino anjuran Fakulti Rekebentuk Inovasi & Teknologi UniSZA, yang dikendalikan oleh Dr. Fathurrahman Lananan (9M2FLP) yang berlangsung pada 25hb Oktober 2025 di UniSZA, Gong Badak, Kuala Terengganu.

Photo by: Dr. Ireana


Kenapa ESP8266?
Sistem komunikasi APRS ada 2 kaedah, pertama melalui RF. Sama ada menggunakan radio biasa atau SDR, sama ada untuk TX / RX atau RX sahaja. Kaedah kedua adalah melalui internet. Kaedah ini menggunakan internet sepenuhnya sama ada untuk TX / RX atau RX sahaja.


Oleh itu untuk APRS asas seperti projek ini, ESP8266 adalah amat bersesuian untuk kaedah melalui internet, kerana ia mempunyai kemampuan untuk sambungan ke internet melalui wifi dan ia juga adalah MCU.



Komponan-komponan yang diperlukan.
Berikut adalah komponan-komponan yang diperlukan untuk projek ini dan anggaran harga bagi belian secara online:- 

No.

Item

Quality

Harga

1.

ESP8266

1 unit

RM9.00

2.

GPS Module

1 unit

RM17.00

3.

Buzzer

1 unit

RM1.00

4.

Kapasitor Electronik 0.1uf 50v

1 unit

RM0.50

5.

Perintang 220 ohm

1 unit

RM0.20

6.

LED Hijau

1 unit

RM0.50

7.

LED Kuning

1 unit

RM0.50

8.

LED Merah

1 unit

RM0.50

9.

Bread Board 

1 unit

RM0.50

10

Jumper Wayer (male to male)

1 keping

RM2.00


Anggaran sahaja, tidak termasuk belanja pos

Jumlah

RM31.70



Cara sambung:


ESP8266

GPS

D5

TX

D6

RX

3.3V

VCC - kapasotor (+)

GND

GND - kapasitor (-)


Buzzer

D3

+

GND

-


LED

D8

Anode (+) Kuning

D7

Anode (+) Hijau

D4

Anode (+) Merah

GND 220 ohm

Cathode (-)



 

PERINGATAN MESRA:
Sebelum meneruskan projek ini, sila ambil perhatian. Bahawa, projek ini adalah projek Radio Amator. Oleh itu, anda wajib mempunyai lesen Radio Amator sah yang dikeluarkan oleh SKMM atau pihak berkuasa yang mengendalikan perlesenan Radio Amator di tempat anda. Adalah menjadi kesalahan, menjalankan sebarang aktiviti atau ujikaji Radio Amator tanpa lesen atau permit yang sah atau kebenaran daripada pihak berkuasa atau SKMM.



Koding.
Koding atau sketch untuk projek ini saya bagi secara percuma. Tapi kalau nak support projek saya ini, buleh je scan QR Malaysian Duit Now atau klik di:

https://www.paypal.me/9w2key


Untuk download koding tersebut sila ke:

https://github.com/mzakiab/ESP8266-APRS-9W2KEY

Penguna LINUX boleh terus clone je:-

cd
git clone https://github.com/mzakiab/ESP8266-APRS-9W2KEY.git
cd /ESP8266-APRS-9W2KEY


File koding ada dalam folder ESP8266-APRS-9W2KEY. File tu namanya ESP8266_APRS_9W2KEY.ino

Atau pun download zip file di 

https://github.com/mzakiab/ESP8266-APRS-9W2KEY/archive/refs/heads/main.zip

Pilihlah mana-mana yang anda selesa dan suka.

 

UPLOAD Koding / Sketch ke ESP8266
 

1. Arduino IDE.
Arduino IDE ini adalah software untuk anda buka, edit dan upload file koding arduino ke Board MCU. Buka file ESP8266_APRS_9W2KEY.ino dan edit di :-
 

  1. Baris 17: Masukkan Callsign Radio Amator anda. Contoh 9W2QQQ-12
  2. Baris 18: Masukkan passcode APRS-IS anda. Mana nak dapat passcode ini? Cek passcode anda di blog saya ni pun boleh. Scrool atas sekali, tengok sebelah kanan.
  3. Baris 19: Dalam projek ini, saya guna server asia. Bagi saya server ini lebih konsistent dan stabil. Jika anda berminat untuk mencuba server lain, anda boleh menukarkan nama server di baris ini. Senarai nama server lain, ada saya sediakan di baris 22 hingga baris 28.
  4. Baris 168 hingga 171: Masukkan SSID Wifi dan passwordnya. Jika anda hanya menggunakan 1 Wifi sahaja, letakkan simbol // di hadapan sekali pada baris 169, 170 dan 171.


Selepas sunting perkara-perkara tersebut, bolehlah upload sketch ini ke ESP8266.

2. Arduino Cloud (Web Base)
Caranya lebih kurang sama dengan Arduino IDE, cuma yang ini hanya menggunakan browser dan software Arduino Cloud Agent. Mula-mula pegi ke:

https://cloud.arduino.cc/

Kemudian klik di butang GET STARTED FOR FREE dan daftarlah sebagai pengguna. Untuk memudahkan, login dengan menggunakan akaun Google anda.

Kemudian tekan LET'S GET STARTED ikut arahan di halaman tersebut. Jangan lupa run kan software Arduino Cloud Agent, bila semua dah selesai. Buka file ESP8266_APRS_9W2KEY.ino melalui browser itu, dan edit seperti tadi. Kemudian upload ke board.



Keterangan LED. 

  1. LED Kuning: Bila berkelip, ini menunjukkan dia sedang scan dan mencari sambungan Wifi. Bila bersambung dengan Wifi, dia akan padam.
  2. LED Hijau: Terus menyala, ini menunjukkan dia sudah bersambung dengan Wifi. Bila berkelip, sambungan wifi atau sambungan dengan server APRS terputus. ESP8266 akan mencuba dan terus mencuba untuk membuat sambungan semula.
  3. LED Merah: Berkelip sekali bersama dengan bunyi buzzer, menunjukkan dia sedang TX / hantar beacon ke ARPS Server.


Memandangkan dia adalah smart beacon, tempoh kekerapan TX beacon adalah pada setiap kali membelok dan pada setiap 8 saat semasa bergerak. Sekali TX setiap 30 minit, jika tidak bergerak.

Tiba masa untuk mencuba, hidupkan ESP8266 dengan menggunakan kuasa dari USB. Pasangkan hotspot di smartphone anda. Pastikan LED Hijau menyala dan GPS telah mendapat signal dari satellite. Kemudian bergerak, tumpukan perhatian kepada pemanduan. Pastikan ada bunyi dari buzzer sebagai indikator beacon APRS telah di TX.

Monitor pergerakkannya di:

www.aprs.fi/<callsign anda>

 

Antenna GPS vs Antenna Wifi

Sila pastikan Antenna GPS dan Antenna WiFi di board ESP8266 berjauhan. Tidak boleh dekat-dekat, nanti dia orang kelahi dan boleh mengganggu isyarat dari satellite GPS. Biasanya ini terjadi kerana faktor Radiated Frequency Interference (RFI), GPS guna frequansi 1.575 GHz dan WiFi pulak guna frequansi 2.4 GHz. Maka akan adalah perkelahian (interference) berebut sempadan diantara mereka.

 

Info GPS Antenna

Signal dari GPS sangat lemah, sebab dia mari dari jauh lagi tu. Jarak perjalanan dia adalah dalam lingkungan 20 hingga 30 ribu km. Ini kerana ketinggian satellite GPS dari bumi adalah disekitar itu. Bila dah jauh macam tu, dia mesti laa penat, dia mesti laa letih dan dia sangat lemah. GPS module yang kita guna untuk projek arduino ni, antenna dia kecik beleh je. Kita tak pakai parabola antenna untuk projek ini. Tidak macam TV berbayar tu, guna parabola sebab nak tangkap signal dari satellite yang lemah itu.


Cara penyelesaian:

Jauhkan mereka, pisahkan mereka, jangan bagi duduk depek-depek (Cara paling mudah dan berkesan).

Keterangan:

APRS

Automatik Position Report System

RF

Radio Frequansi 

SDR

Software Define Radio

TX

Transmit / Transmission

RX

Receive / Receiver

MCU

Micro Controller Unit

SKMM

Suruhanjaya Komunikasi dan Multimedia Malaysia


Selamat mencuba, de 9W2KEY 73.


Nota kaki: Ini adalah nota dan rujukkan untuk kegunaan saya sendiri sahaja. Saya tidak mengambil sebarang tanggung jawap keatas sebarang kejadian yang tidak diingini atau kecelakaan yang berlaku pada diri anda atau orang di sekeliling anda atau hartabenda anda, sekiranya mengambil article ini sebagai panduan atau rujukkan anda.

Wednesday, 15 October 2025

RaspberryPi Zero2W as APRS iGate

Projek iGate saya yang guna Raspberry Pi 3 B+ telah ditamatkan, ini ekoran berlaku kerosakkan pada SBC tersebut. Terdapat error "USB Over Current", telah beberapa kali mencuba untuk mengatasinya seperti mana terdapat dalam website yang Google dan AI review. Semuanya tidak berhasil.

Saya juga telah cuba dengan cara format SD Card dan install semula OS, hasilnya makin parah. Rupa-rupanya, USB sudah tidak berfungsi. Bila cucuk keyboard dan mouse, kedua-dua device tersebut tidak dapat dikesan oleh SBC. Proses untuk boot, berjalan dengan baik. Tetapi saya tidak dapat meneruskan proses installation OS kerana tidak dapat gerakkan mouse pointer sama ada melalui mouse atau keyboard.

Oleh yang demikian, saya terpaksa menggunakan Rpi02W untuk meneruskan operasi APRS iGate ini. Dengan kemampuannya yang terbatas, saya terpaksa menggunakan OS yang seminimum mungkin. Oleh itu, saya memilih untuk menggunakan Debian 12 (bookworm) CLI Mode.

 


Proses installation Direwolf adalah sama seperti Raspberry Pi 3 B+ (GUI Mode) yang berbeza adalah Rpi02W menggunakan CLI Mode, oleh itu sedikit ubahsuai harus dilakukan untuk memastikan iGate ini berfungsi dengan baik. Kalau ikut 100% step yang diberikan dalam installation document, tak mau pulak dia nak running iGate tu di back ground. 

Langkah-langkah yang saya buat adalah:-

1. Download file dw-start-test.sh di website berikut:

https://groups.io/g/direwolf/message/8002

2. Create file baru:-

cd
sudo nano start-dw.sh

3. Copy semua isi perut dalam file dw-start-test.sh (yang download tadi) dan paste di file yang baru di create tadi.

4. Kemudian save dan Exit: CTRL - X dan y 

5. Beri access kepada file tu:

sudo chmod 755 start-dw.sh

6. Buka crontab -e dan tambah:


* * * * * /home/zaki/start-dw.sh >/dev/null 2>&1

Ini adalah bertujuaan untuk auto start bagi file "start-dw.sh" ketika reboot nanti, dan dia juga akan start dengan sendiri setiap 1 minit jika dia tertutup dengan sendiri atau apa-apa sebab sekali pun.

7. Reboot system

sudo reboot

Jika semua berjalan dengan baik, ini bermakna proses-proses tersebut sudah selesai. iGate APRS akan bekerja di belakang tabir system, dia tidak nampak di main screen, dia tidak sama seperti di OS GUI, yang mana akan memaparkan 1 window untuk menunjukkan proses-proses iGate.



SCREEN

Dalam mode CLI kita boleh melihat dan memantau aktiviti-aktiviti iGate sama seperti GUI mode. Apa yang kita perlu adalah fungsi SCREEN. Untuk menggunakan fungsi ini, kita kena install screen dulu dalam system:-

sudo apt install screen -y

Kemudian bagi command untuk melihat screen apa yang sedang aktif di system sekarang dengan menaip:-



screen -ls


System akan menyenaraikan screen yang tengah aktif sekarang. Dalam kes ini, system menyenaraikan 18127.direwolf sedang aktif. Nombor di depan itu adalah ID screen dan direwolf adalah nama app.

Untuk melihat screen tersebut, taip:-

screen -r 18127.direwolf


Paparan sekarang menunjuk di screen iGate yang sedang aktif. Screen ini sama je dengan GUI mode, cuma CLI ni hitam puteh mcm tu je laa. Kalau dalam GUI mode, text dia ada warna.

Untuk kembali kepada screen mula-mula tadi, tekan:

ctrl-a d


Selamat mencuba, de 9W2KEY 73!


Nota kaki: Ini adalah nota dan rujukkan untuk kegunaan saya sendiri sahaja. Saya tidak mengambil sebarang tanggung jawap keatas sebarang kejadian yang tidak diingini atau kecelakaan yang berlaku pada diri anda atau orang di sekeliling anda atau hartabenda anda, sekiranya mengambil article ini sebagai panduan atau rujukkan anda.


Thursday, 12 September 2024

QRP - Manual Antenna Tuner

Kits Antenna Tuner secara manual ni, saya beli melalui shoppie, ingatkan dalam packej tu, ada disedikan manual installation book atau diagram. Tapi tak ada pun sediakan. Kena cari sendiri... alhamdulillah, jumpa dalam internet. Tak ingat dah kat mana jumpa, tapi tak pe laa, simpan sini untuk rujukkan saya. Thanks VK1ERF and VK1CBR 



Di muka surat 13 dan yang sewaktu dengan nya, kena tukar bilangan gelong (lilitan) pada toroid, yang mana pada cetakkan itu switch 1, 10 lilitan. Itu tak betul, menurut YC2YIZ (di saluran YouTube nya), di switch 1 tu, 1 lilitan sahaja. Kemudian di switch 12 adalah 10 lilitan. Maknanya, kita terbalikkan susunan nombor lilitan, seperti berikut:-



Selamat mencuba...

Nota kaki: Ini adalah nota dan rujukkan untuk kegunaan saya sendiri sahaja. Saya tidak mengambil sebarang tanggung jawap keatas sebarang kejadian yang tidak diingini atau kecelakaan yang berlaku pada diri anda atau orang di sekeliling anda atau hartabenda anda, sekiranya mengambil article ini sebagai panduan atau rujukkan anda.

Download Manual Antenna Tuner

Friday, 6 September 2024

Upload sketch ke ATMega328P melalui UNO

Ada sesetengah chips ATMega328P, kita boleh upload sketch terus ke MCU melalui UART bridge je. Ada sesetengah chip pulak, tak boleh nak buat begitu. Cara pilihan lain kita boleh upload melalui Arduino UNO, yang mana Arduino UNO bertindak sebagai program dan chips ATMega pulak sebagai target. 

Caranya sama seperti article sebelum ini, iaitu upload sketch ke Arduino NANO yang menghadapi masaalah USB port dan masaalah lain-lain. Cuma yang berbeza sedikit, adalah cara sambungannya daripada UNO kepada pin-pin di chips itu.

UNO        ATMega328P
D10          Reset, P1
D11          Pin 17
D12          Pin 18
D13          Pin 19
GND        GND Pin 8 dan Pin 22
5V            VCC Pin 7 and AVCC Pin 20

Berikut adalah, cara-cara sambungan dari UNO ke chips ATMega328P


Cara upload, adalah sama seperti buat pada NANO.

Selamat mencuba.

Nota kaki: Ini adalah nota dan rujukkan untuk kegunaan saya sendiri sahaja. Saya tidak mengambil sebarang tanggung jawap keatas sebarang kejadian yang tidak diingini atau kecelakaan yang berlaku pada diri anda atau orang di sekeliling anda atau hartabenda anda, sekiranya mengambil article ini sebagai panduan atau rujukkan anda.

Sunday, 26 November 2023

Upload sketch ke NANO melalui UNO

Kenapa susah-susah begitu??

Kan di NANO board tu sendiri sudah ada USB port yang boleh digunakan untuk upload sketch?

Okay begini, antara sebab kenapa kita kena buat cara ini adalah kerana:- 

Pertama, USB port di NANO itu rosak dan sudah tidak boleh RX/TX data antara board dan IDE. Dengan kata lain communication sudah tidak ada. Kebiasaannya ia berlaku pada board yang lama, USB port nya telah berkarat dan ada kalanya dah longgar. 

Kedua, kalau ada error seperti berikut:-

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
...

Pun boleh juga guna kaedah ini untuk upload sketch ke Arduino NANO.

Ketiga, saja nak suka-suka, experiment, belajar dan mencuba benda baru. Tak suka tak apa, tak payah buat tak pe, tak berdosa pun.


Langkah-langkahnya:-

1. Mula-mula upload sketch file ArduinoISP ke UNO, file tu ada dalam Menu > File > Examples > ArduinoISP


Upload sketch tersebut ke UNO macam biasa.


2. Cara sambungan

UNO > NANO (ICSP)

D13 > SCK

D12 > MISO

D11 > MOSI

D10 > RESET

5V  > VCC

GND > GND


image from docs.arduino.cc

3. Arduino IDE

Di sini kena lakukan beberapa setup. 

Pertama, pilih Boards Arduino NANO BUKAN UNO tau, dan Ports, dalam kes saya saya pilih port USB0.


Kedua, pilih Processor: "ATmega328P"

Ketiga, pilih Programmer: "Arduino as ISP" BUKAN "ArduinoISP"


Keempat, upload Sketch kepada NANO bukan macam biasa tau!!

Tetapi menggunakan Menu > Sketch > Upload Using Programmer


Semasa proses upload sedang berlangsung, kedua-dua board itu berkelip-kelip secara serentak dan cepat. Upload done!

Selesai.


Selamat mencuba!!


de 9W2KEY

73