Share My Creation FM radio tuner module - Works in conjunction with B4R

Radio tuner developed in B4J controlling an FM radio tuner modules connected to an Arduino programmed using B4R.

So here is a quick project that was inspired by fellow B4X developer @derez.

I had ordered an FM module for testing with one of my Arduino's microcontrollers, @derez had ordered one too but posted that he wanted a library wrapping for his FM module. Using B4R and cutting and shutting 2 separate Arduino libraries together, I used Inline C in B4R to get my FM module working.

I needed to be able to test the FM module relatively quickly but I didn't want to use MQTT, LAN or WiF for communications, so a direct USB connection from my laptop to my Arduino which was connected to and controlling the FM tuner was the fastest solution just for testing purposes only, it's extremely simple but very useful indeed, communication between my laptop and Arduino is done using AStreams.

How does it work:
The B4J code is basically just a terminal that sends commands to the Arduino then it receives and displays the responses.

Pressing the buttons sends a control letter to the Arduino that in turn commands the FM module to do something, set the volume, tune the frequently, get RDS station name etc. Once the FM module has completed the task (for example tuning from 96.4 to 96.5) the Arduino send the response back to the B4J controller that then displays what the FM tuner module has just done.

B4J desktop app controlling an external FM tuner module.
Radio.png


Si4703 FM module next to a UK 10 pence (10p) coin.
Si4703-Size.jpg


Enjoy...
 
Last edited:

Peter Simpson

Expert
Licensed User
Longtime User
Looks great!

How did you create this nice "LCD display"?
Thank you @Erel,
I added a Pane with a corner radious of 5 and set the background color to #FF7CD7A7, on top of the pane I added 3 labels and in code I set the font to the font name mentioned below.

@LucaMs and @Cableguy there are lots of digital fonts and LCD fonts on the net, I looked at a few and then decided to go with 'DJBDigital.ttf'.
 
Top