Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Control 4 of those devices on a single Raspberry #17

Open
4920441 opened this issue Dec 22, 2024 · 2 comments
Open

Control 4 of those devices on a single Raspberry #17

4920441 opened this issue Dec 22, 2024 · 2 comments

Comments

@4920441
Copy link

4920441 commented Dec 22, 2024

Hi,
great work! After 11 Years I bought those Sony Ericcsoon devices I finally have some use for it.

The following:

  • Raspberry Pi with a 8 Channel sound card (USB)
  • 4 of those FM Transmitters

every two channels of those soundcards feed into one transmitter..
The next thing is to feed those 4 Stations in a local (house internal) Cable Headend to make FM Radio available again - no worries, not on a public cabletv station, its only attached internaly to a single building, so backfeeding it into the cable system is not an issue.

  • Problems to solve to make it work with only one raspberry:

-> Change the I2C Address to four different ones
-> Change the RDS Pin (which should not be as difficult I hope...)

Do you have any hint or Idea where the I2C Address of the device might be settable?

Cheers

4920441

@Manawyrm
Copy link
Owner

Hi 4920441,

here's the datasheet for the 603A/TSM-Z1 transmitter chip inside the MMR-70:
https://www.mikrocontroller.net/attachment/142907/603A.pdf

As you can see, it only has a single address pin, which means you only have a choice of 2 different adresses.
The Linux kernel supports something called I2C Multiplexers (also sometimes called Muxes), which are little chips that can be switched between different I2C busses (with conflicting addresses).

If you configure the Linux kernel correctly (through device-tree overlays) and tell it that you've got such a multiplexer, you'll get multiple different I2C devices in /dev/, one for each of the outputs of the multiplexer. The kernel will handle the switching for you transparently.

I haven't used it myself, but it looks like the TCA9548 chip is availble as little breakout boards and should be supported by Linux.

Switching the RDS pin is trivial, just change
https://github.com/Manawyrm/FMBerry/blob/087a120133af4a311e0b44f051913fb02c8087b1/fmberry.conf#L46C3-L47C12
accordingly.

You'll also need to give each instance of FMBerry its own TCP control port and probably I2C bus.

Please report back if you're successful, I've never actually tried to run multiple of those transmitters on the same device.
Also keep in mind that these things can output 2mW (+3dBm) of signal level, you don't want to apply that to a wired cable network without attenuation! A simple resistive power combiner/attenuator should do the trick, though :)

Good luck!

@4920441
Copy link
Author

4920441 commented Dec 23, 2024

Hi thanks!

I just ordered the multiplexer. So long I try to set up two of them only.

I'll keep you in touch of the progress!

Cheers

4920441

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants