openDsh / dash

Join us on Slack! https://join.slack.com/t/opendsh/shared_invite/zt-la398uly-a6eMH5ttEQhbtE6asVKx4Q
GNU General Public License v3.0
259 stars 80 forks source link

Add Si4703 FM rds receiver #31

Closed bmwfarmer closed 3 years ago

bmwfarmer commented 3 years ago

Hi,

I have new feature request for FM radio. Raspberry headunit enthusiasts have waited, searched and looked it for ever. As I understand DASH has UI part for radio, can it be interfaced with SI4703? https://github.com/GrantTrebbin/si470x-RDS_Logger code works on RPI 4, but has no UI. Having local FM radio inside DASH/AA would be superb.

robert5974 commented 3 years ago

Dash doesn't currently have any UI elements for FM radio. It is a possible feature addition later.

rsjudka commented 3 years ago

heh well actually it does 😏

It's just been commented out because I never had anything to plug it up into

With the plugin support that's about to be added, this would be another place we could utilize it and actually add the radio tab!

robert5974 commented 3 years ago

Oh sweet...well I'm not mad about being wrong in this instance. Lol

bmwfarmer commented 3 years ago

Eaven better option would be RTL-SDR dongle. No cables, no external RPI and radio audio signals mixer, now you have radios audio inside RPI and you can use DAC hat!!! GQRX must be installed separatelly and can then be controlled with DASH gui with RigCTL protocol over TCP/IP. Something like that: https://github.com/Marzona/rig-remote

rsjudka commented 3 years ago

yep we've discussed this feature a bit and sdr dongles came up

that was my original intention for the radio tab we currently have (have my own rtl-sdr so testing would be easy), it just got shelved because of it being hw specific and kinda expensive (compared to other radio receivers)

i have a couple bugs and other features that I'm currently working on, but i hope to get a roadmap for dash so there's a clearer picture for when things will (hopefully) get added

bmwfarmer commented 3 years ago

Don't let the price stop you: SI4703 module costs 3€, RTL2832 dongle 10€. Yes official AIRSPY and high-end dongles can cost easy 100€. Cheap dongles do work with GQRX.

chrisfromwa commented 3 years ago

+1 from me on this request This is something I've been waiting on from OAP for a couple years now, but looks like they have no interest in doing it. So hopefully it can be developed for OpenDash. Would just love to have something that come built into Dash, and looks integrated.

To go along with the basic FM radio functionality.

Hopefully we can integrate RDS into the UI. And presets too.

Can't wait to see what you have for Dash.

rsjudka commented 3 years ago

so this will probs come next after i finish another feature, but in terms of the scope itll look something like this:

chrisfromwa commented 3 years ago

Thank You, really looking forward to having radio built in! :)

Not sure if it would be helpful or not, but one of the users over on the OAP forum had started to build a FM Radio app. It works, but it was never finished.

But the RDS features do work, maybe it's something you can use as a starting point for the Dash radio RDS?

https://github.com/ktb83/rtl_sdr_fm_player/tree/dev-ktb

iDoka commented 3 years ago

I'm afraid that FM-radio sound quality getting from RTL2832 might be no so good. RTL2832 has only an 8-bit ADC but can run at 3.2 MS/s (million samples per second, 3200-kHz) Not so big deal for incar HiFi Stereo.

rsjudka commented 3 years ago

Just wanted to provide an update as I've begun working on this feature

image.png

I've got the main ui components laid out, now just to come up with a sort of interface the plugins can attach to and control whatever is on the other end

Without getting too much into yet, for the rtl sdr plugin it seems like the best bet is too have it talk to a "radio server" (similar to what was being done in the link provided above) and then just have dash as the front end for that

rsjudka commented 3 years ago

the radio tab along with a plugin for the rtl-sdr was merged into develop

i added some more info here on how to use it

note there is currently no rds, thats because itll require an additional process to decode that information and I wanted to keep it simple for now

bmwfarmer commented 3 years ago

It works, it works, :)