PIC16F1847 and AR1010 Based FM Radio Music Box

Introduction: PIC16F1847 and AR1010 Based FM Radio Music Box

About: slave worker by day... hobbyist,maker,tinkerer at night....

This is my first Instructable post. I made a Digital FM Radio box using this cheap AR1010 FM Radio receiver module that I bought from Ebay and a PIC16F1847 Microcontroller from MICROCHIP. Why PIC's? Why not use Arduino? Because i have bunch of these IC's stocked in the parts bin. And also because most of the Digital FM Radio instructables and tutorials use the arduino.

Let's Make it.....

Step 1: Parts and Tools Needed...

The Basic parts are the Following:

  1. The Brain - Microchip Pic16F1847

  2. Digital FM Radio Receiver - AR1010 Module

  3. Display - MAX7219 8 Digit 7 Segment Led Module

  4. Audio Amplifier - PAM8403 5V DC Audio Amplifier Board 2 Channel 2*3W Volume Control

  5. Power/Charging - 3V to 5V 1A Step Up Module USB Charger Boost Converter w/ 1pc. 18650 battery salvaged from old laptop battery pack.

  6. Interface - 3 pcs. push button micro switches
  7. 3D Printed Box Enclosure - STL files link here

Tools to Use:

  • Soldering Iron
  • Long Nose Pliers
  • Digital Multi tester
  • Exacto Knife
  • Cutter Plier
  • Glue Gun
  • 3D Printer
  • Microchip PICKIT 3 Programmer/Debugger


The Schematic is drawn using the Free version of Autodesk Eagle PCB design software.

The parts list for the main board are the following:

1 pc. PIC16F1847 MCU PDIP-18

1 pc. AMS1117-3.3 Voltage Regulator SOT223

6 pcs. 4.7Kohm / 0.5 watt Resistors

1pc. 10uf / 16v electrolytic capacitor

All these parts are mounted on a custom cut 30mm x 30mm single sided perf board to fit it inside the casing. The PIC Mcu is mounted on the top side the board. The AMS1117-3.3 SMD regulator and the AR1010 module are soldered on the copper side .

There is no external Oscillator because i used the internal 32 mhz clock of the PIC16F1847 MCU. I didn't use any headers and connectors to connect the modules, they are soldered with jumper wires. The headers are for serial debugging and ICSP programming.

Step 3: CODE

The code is written and compiled using the Code Limited version of the MikroC for PIC.

I used the Ar1010 Arduino Library of adamjansch/AR1010lib and ported it to be compatible with the MikroC for PIC IDE.

I wrote my own Max7219 library.

That's all... thanks

Step 4:

Updated the Source File to include the MAX7219 library...

Step 5: Future Updates:

I will add an RTC for Time and maybe some sensors like Temperature and Humidity.

Bluetooth audio input.

Mp3 player.

Microcontroller Contest

Participated in the
Microcontroller Contest

Be the First to Share


    • Meatless Challenge

      Meatless Challenge
    • Backyard Contest

      Backyard Contest
    • Sculpt & Carve Challenge

      Sculpt & Carve Challenge



    4 years ago

    Nicely done!


    Reply 4 years ago



    Question 4 years ago

    Can you please provide the eagle files and the max7219 library that you used. Thankyou


    Answer 4 years ago

    all the files are in the "source.rar" just click the link. thanks