Project #26 – Radio Frequency – SI4713 FM – Mk28

Project #26 – Radio Frequency – SI4713 FM – Mk28

 

Web

 

https://www.donluc.com/?p=5014

 

Facebook

 

https://www.facebook.com/share/v/1EZQLzpxsC/

 

YouTube

 

https://youtu.be/gJJ0xKjIeTU

 

#DonLucElectronics #DonLuc #Si4730FM  #RadioFrequency #SparkFunESP32WROOM #Display #IoT #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant

Si4713 FM Radio Transmitter (LW, MW, SW, FM)

 

When you mention Arduino radio, you always think of modern FM radio (88-108 MHz in Europe). The LW, MW and SW band cover the range from 0.2 to 30 MHz. SW is especially interesting. Radio waves in the shortwave band can be reflected or refracted from a layer of electrically charged atoms in the atmosphere called the ionosphere. Thus shortwave radio can be used for very long distance communication, sometimes entire continents or beyond.

 

Below I will present to you the development of a radio that covers all the bands mentioned above. The "Heart" of this radio is Si4713 IC from Silicon Labs.

 

DL2610Mk02

 

1 x SparkFun Thing Plus - ESP32 WROOM (Micro-B)
1 x Assembled Terminal Block Breakout FeatherWing
1 x Adafruit SSD1306
1 x SI4713 FM Transmitter Module
1 x Lithium Ion Battery - 1000mAh
1 x USB Micro-B Cable

 

DL2610Mk02p

 

DL2610Mk02p.ino

CODE
/****** Don Luc Electronics © ******
Software Version Information
Project #26 – Radio Frequency – SI4713 FM – Mk28
26-28
DL2610Mk02p.ino
DL2610Mk02
1 x SparkFun Thing Plus - ESP32 WROOM (Micro-B}
1 x Assembled Terminal Block Breakout FeatherWing
1 x Adafruit SSD1306
1 x SI4713 FM Transmitter Module
1 x Lithium Ion Battery - 1000mAh
1 x USB Micro-B Cable
*/

// Include the Library Code
// Wire
#include "Wire.h"
// Adafruit SSD1306
#include <Adafruit_SSD1306.h>
// SI4713 FM Transmitter
#include <Adafruit_Si4713.h>

// SI4713 FM Transmitter
// _BV
#define _BV(n) (1 << n)
// RESET PIN
#define RESETPIN 12
// FM STATION
// 10230 == 102.30 MHz
#define FMSTATION 10230      
// SI4713 FM Transmitter
Adafruit_Si4713 radio = Adafruit_Si4713(RESETPIN);

// Adafruit SSD1306
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

// Software Version Information
String sver = "26-28";

void loop() {
  
  // is SI4713FM
  isSI4713FM();
  
}

getDisplay.ino

CODE
// Adafruit SSD1306
// isDisplayUID
void isDisplayUID(){

    // Intentar ambas direcciones
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    //Serial.println("Error con 0x3C, probando 0x3D...");
    if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3D)) {
      //Serial.println("Error OLED en ambas direcciones");
      return;
    }
  }
  
  // Clear Display
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  // Don Luc Electronics
  display.setCursor(0,0);
  display.println("Don Luc Electronics");
  // Motor Drive
  display.setCursor(0,10);
  display.print("Radio FM");
 // Version
  display.setCursor(0,20);
  display.print("Version");
  display.setCursor(0,30);
  display.print( sver );
  // Display
  display.display();

}
// isDisplay FM
void isDisplayFM(){

  // Clear Display
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  // Don Luc Electronics
  display.setCursor(0,0);
  display.println("Don Luc Electronics");
  // FM
  display.setCursor(0,20);
  display.print("Radio FM");
  // 102.3 MHz
  display.setCursor(0,40);
  display.print( "102.3 MHz" );
  // Display
  display.display();

}

getRadio.ino

CODE
// SI4713 FM Transmitter\
// Setup SI4713 FM
void isSetupSI4713FM(){

  // Begin with address 0x63 (CS high default)
  if (! radio.begin()) {  
    
    Serial.println("Couldn't find radio?");
    while (1);

  }

  // dBuV, 88-115 max
  radio.setTXpower(115);

  // 102.3 MHz
  radio.tuneFM(FMSTATION);

  // This will tell you the status in case you want to read it from the chip
  radio.readTuneStatus();

  // Current Frequency
  radio.currFreq;
  
  // Current Frequency dBuV
  radio.currdBuV;

  // Current Frequency Antenna Capacitor
  radio.currAntCap;

  // Begin the RDS/RDBS transmission
  radio.beginRDS();

  // DON-LUC
  radio.setRDSstation("DON-LUC");

  // "Don Lucito Radio!
  radio.setRDSbuffer( "Don Lucito Radio!");

  // Set GP1 and GP2 to output
  radio.setGPIOctrl(_BV(1) | _BV(2)); 

}
// is SI4713FM
void isSI4713FM(){

  // Read ASQ
  radio.readASQ();

  // Current Frequency ASQ: 0x
  Serial.println(radio.currASQ, HEX);

  // Current Entry-Level
  Serial.println(radio.currInLevel);

  // Toggle GPO1
  radio.setGPIO(_BV(1));
  // Delay
  delay(500);

  // Toggle GPO2
  radio.setGPIO(_BV(2));
  // Delay
  delay(500);

}

setup.ino

CODE
// Setup
void setup()
{

  // Delay
  delay( 100 );

  // Serial Begin
  Serial.begin(9600);

  // Delay
  delay(100);

  // Delay
  delay( 100 );

  // Adafruit SSD1306 - UID
  // Don Luc Electronics
  // Versioc
  isDisplayUID();
  
  // Delay
  delay( 5000 );

  // isDisplay FM
  isDisplayFM();

  // Delay
  delay( 1000 );

  // Setup SI4713 FM
  isSetupSI4713FM();

  // Delay
  delay( 1000 );

}

People can contact us: http://www.donluc.com/?page_id=1927

 

Consultant, R&D, Electronics, IoT, Teacher and Instructor

 

-Programming Language
-Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc...)
-IoT
-Wireless (Radio Frequency, Bluetooth, WiFi, Etc...)
-Robotics
-Automation
-Camera and Video Capture Receiver Stationary, Wheel/Tank , Underwater and UAV Vehicle
-Unmanned Vehicles Terrestrial, Marine and UAV
-Machine Learning
-Artificial Intelligence (AI)
-RTOS
-Sensors, eHealth Sensors, Biosensor, and Biometric
-Research & Development (R & D)
-Consulting
-Etc...

 

Follow Us

 

Luc Paquin – Curriculum Vitae - 2026
https://www.donluc.com/luc/LucPaquinCVEng2026Mk01.pdf
https://www.donluc.com/luc/

 

Web: https://www.donluc.com/
Web: https://www.jlpconsultants.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
DFRobot: https://learn.dfrobot.com/user-10186.html
TikTok: https://www.tiktok.com/@luc.paquin
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

 

Don Luc

icon DL2610Mk02.zip 231KB Download(0)
License
All Rights
Reserved
licensBg
0