SINUS RDS PROJECT

Everything technical about radio can be discussed here, whether it's transmitting or receiving. Guides, charts, diagrams, etc. are all welcome.
Post Reply
radium98
proppa neck!
proppa neck!
Posts: 919
Joined: Fri Aug 26, 2016 7:01 pm

Re: SINUS RDS PROJECT

Post by radium98 » Mon Mar 20, 2023 6:50 am

With what i have i did the pcb , provided by rigmo .
with the caps i have also , i know maybe styroflex or even mkt are needed for hogh precision and not ceramic like i did , but what i want to try is hearing the burbuling and then connect the filter and see if it work , by ears.
as in the schematic provided , where it should be connected ?
You do not have the required permissions to view the files attached to this post.

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Mon Mar 20, 2023 6:42 pm

I found this diagram from way back (using the way back machine) from a site called myRDS (my being translation of Mon). Not sure if this is from the same person that originally did MonRDS or not. I'm looking for the name of the person that originated the MonRDSso that I can credit them when I finalise the firmware (working to try and get the full 64 character radiotext along with making the text a/b flag work as it should) and release the source code. From the myRDS site, the best name I can come up with is Renaud Cerrato, but no idea if that is the correct person to credit.

Anyway, as for the diagram, just the top section is relevant, the chopper (using a 4051) and a bandpass filter. When experimenting in the simulator I found a bandpass filter would probably be suitable for removing noise generated by the chopping modulator.
Original_monrds_mod and filter.gif
You do not have the required permissions to view the files attached to this post.

radium98
proppa neck!
proppa neck!
Posts: 919
Joined: Fri Aug 26, 2016 7:01 pm

Re: SINUS RDS PROJECT

Post by radium98 » Mon Mar 20, 2023 8:06 pm

you mean the rds that have 16f876a and the lcd

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Tue Mar 21, 2023 9:23 am

Yes, Radium, that one. This is the comment from the site about use of 2 bandpass filters (and from simulations done earlier, I'd tend to agree).

Quote from site on WB machine https://web.archive.org/web/20041019182 ... 876_2.html
so it's not just myself saying "Bandpass filters".
Why use 2 bandpass filter ?
By sampling, subcarrier harmonics (specially the third order : 57KHzx3 = 171KHz) is present in the signal. If injected in the VHF transmitter, this harmonic will dangerousely increase FM deviation which is limited to 75KHz. Neighboring FM stations (ie near your frequency) may be disturbed by this harmonic, resulting in 'noise'.
I'd still like to know the author of the code for MonRDS that we are playing with though. I've now got it complete with 64 character radiotext and a couple of other enhancements. and small enough to fit in the smaller sibling of the PIC16F628, the PIC16F627 (what I use for testing) with still some bytes of RAM free and enough code space to implement another function or enhancements, maybe.

Albert H
proppa neck!
proppa neck!
Posts: 2778
Joined: Tue Apr 05, 2016 1:23 am

Re: SINUS RDS PROJECT

Post by Albert H » Tue Mar 21, 2023 5:31 pm

radium98 wrote: Mon Mar 20, 2023 6:50 am Where it should be connected ?
Between the 1n output capacitor and before the 10k RDS level preset:
RDS Thing.jpg
Note: You can use a TL072 instead of the LM358 - I used the '358 because I have hundreds of them!
You do not have the required permissions to view the files attached to this post.
"Why is my rig humming?"
"Because it doesn't know the words!"
;)

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Tue Mar 21, 2023 9:21 pm

Well, I managed to find the original author - JJ Goessens. Looks like website down (used to be routed through dyndns). Thanks to the WB machine again (!), most of the original information can still be found. I have no idea how the hex file I was looking at ended up so distorted.

http://www.goessens.dyndns.org/wiki/dok ... nrds_coder

Seems like there are many versions of the PIC16F628 firmware floating about, mainly from the vrtp (russian) website.

Makes me wonder what firmware is on the MonRDS encoders on aliexpress and etsy. They seem to be from Turkey - Robosem Engineering (who also sell other toys - a BA14xx IC stereo coder and the Pira compressor/limiter).

I'll return the MonRDS (628 version) encoder clock/time function to it's original intended operation, and call it a day I think.

User avatar
sinus trouble
proppa neck!
proppa neck!
Posts: 1410
Joined: Fri Aug 22, 2014 11:34 pm

Re: SINUS RDS PROJECT

Post by sinus trouble » Wed Mar 22, 2023 1:10 am

3metrejim wrote: Tue Mar 21, 2023 9:21 pm Well, I managed to find the original author - JJ Goessens. Looks like website down (used to be routed through dyndns). Thanks to the WB machine again (!), most of the original information can still be found. I have no idea how the hex file I was looking at ended up so distorted.

http://www.goessens.dyndns.org/wiki/dok ... nrds_coder

Seems like there are many versions of the PIC16F628 firmware floating about, mainly from the vrtp (russian) website.

Makes me wonder what firmware is on the MonRDS encoders on aliexpress and etsy. They seem to be from Turkey - Robosem Engineering (who also sell other toys - a BA14xx IC stereo coder and the Pira compressor/limiter).

I'll return the MonRDS (628 version) encoder clock/time function to it's original intended operation, and call it a day I think.
Yes! I mentioned Goessens in my very first post of this thread! Being French? I would guess his full name is "Jean-Jaques" Goessens?? :)

He did release a more complicated version as mentioned on here!

Anyways, I doubt it was ever produced to be Ground Breaking technology!

To those individuals who expect superior performance for free? Look elsewhere!

Thank you 3mtrjim for your time and knowledge! :D
I am as stupid as I look! :|

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Wed Mar 22, 2023 1:32 am

A present, I hope it works ok. Seems to test out. But you've got the source code too (with plenty of comments and separated into sections where it needs to be read more easily, although some might be out of date or a little cryptic) so if there are any bugs, you may be able to fix them yourself...

Added 64 character RT capability and flipping of the text A/B flag (it is meant to clear a receiver screen before accepting a new RT so that one message doesn't overwrite another). Also short messages (ended with 0x0D) don't transmit the whole RT buffer, but go back to the start now.

I used one of the old MPASM versions to assemble.

Enjoy... :tup
You do not have the required permissions to view the files attached to this post.

radium98
proppa neck!
proppa neck!
Posts: 919
Joined: Fri Aug 26, 2016 7:01 pm

Re: SINUS RDS PROJECT

Post by radium98 » Wed Mar 22, 2023 6:45 am

mon rds the file i posted above from vrtp with 16f628a standalone , i will test our freind 3m on same pcb .
this done before and my video


the scond link if for the french free renaud cerrato

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Wed Mar 22, 2023 10:40 am

If you put some proper filtering on the data stream (instead of the multiple RC network) and the 57kHz output, you should have a half decent RDS coder. It might also be a good idea to use something other than a single transistor chopper modulator. These modifications will make the coder less of a simple circuit though, although not excessively so.

I would recommend reading the active filter cookbook, from Don Lancaster. A very early version is on his website. Of course now you would use much better op-amps, but the filter design will still be the same.

https://www.tinaja.com/ebooks/afcb.pdf
Last edited by 3metrejim on Wed Mar 22, 2023 11:09 am, edited 1 time in total.

radium98
proppa neck!
proppa neck!
Posts: 919
Joined: Fri Aug 26, 2016 7:01 pm

Re: SINUS RDS PROJECT

Post by radium98 » Wed Mar 22, 2023 10:56 am

Thanks 3metrejim

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Fri Mar 24, 2023 1:25 pm

Looks like with Chrome web browser (and Edge, Opera) you can use something called the Web Serial API, to access serial ports of a computer. This means it is possible to write a single page web app that can control MonRDS, play music, display the playing track name on radiotext, have a T(raffic) A(nnouncement) button on screen for a presenter to press (with timeout, of course). You can make it as advanced as you like, and in an easy to program language (javascript) that requires no compilation, and isn't completely system specific (but is browser specific, unfortunately).

Anyone willing to try it out? I've spent plenty of time on re-creating PIC source code, so maybe someone else could attempt this.

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Fri Mar 24, 2023 5:16 pm

sinus trouble wrote: Sat Dec 19, 2020 11:22 pm I doubt we will ever get a legit version of Pira RDS coding! Unless Jan decides to release it himself.
I could probably re-create it, the most important part is output to the d2a, just need a few hundred milliseconds record of it before it is filtered (logic analyser?).

The problem is being that Jan is clever enough to sell it (the mrds1322) at a very reasonable price to discourage the effort required to re-code a version of it. I also wouldn't want to be responsible for that guy at A*****f getting something of good quality for nothing either (he uses Jan's miniRDS board on a stereo encoder/RDS kit).

radium98
proppa neck!
proppa neck!
Posts: 919
Joined: Fri Aug 26, 2016 7:01 pm

Re: SINUS RDS PROJECT

Post by radium98 » Sat Mar 25, 2023 5:58 am

i was searching very long time for the pira mini rds over year , maybe 2001 or 3 i dont remeber the code was there but never get to download it , as i was not need it , lol , i was playing in that era with vfo .3metrejim can it possible to write something or revert monrds to work with this pcb .
https://pira.cz/rds/show.asp?art=minirds_encoder

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Sat Mar 25, 2023 12:12 pm

I doubt it. The PIC shown on the photograph is more likely to be an anti-copy attempt red herring. To over-sample at 361kHz with an old PIC running at 4.332MHz, you'd get only 3 instructions per sample period, one of them needs to write to the port, leaving only two to do something. I expect it's a PIC running at 4x the crystal frequency. Still doesn't leave much time, but just enough if you split the code into blocks. It must be tight, and why the I2C only runs at 600Hz.

I don't like copying tbh, you could improve MonRDS by oversampling the data stream to get rid of most of the RC filter by using the spare pins of PORT A. An external modulator can be built to not take up much board space using surface mount components. Doubling the crystal frequency to 8.664MHz will give plenty of time to make the coding easy, and those crystals are available as easily as the 4.332MHz ones.

You should achieve performance similar to an Innovonics model 710 (an old product). There is enough information in the manual to tell you that switching at 57KHz is enough, followed by two bandpass filters.

A quote from the manual (for educational purposes)
The 114kHz master clock cycles counters IC29 and IC30 through a routine which develops the basic waveshape,
This indicates that switching at 57Khz is ok (you need at least twice the frequency, to generate a waveform at the frequency you want. Here the minimum is used, and also an integer multiple of your wanted frequency, which makes things easier.)
A two-section, band-pass output filter removes waveshape segmentation and switching noise. The first filter section, IC34B and IC35A, is tuned to 55kHz, or slightly below the mean subcarrier frequency. The second section, IC35B and IC38A, is tuned to 59kHz, symmetrically above 57kHz.
This is telling you what kind of output filter is suitable.

You still need to arrange for the 19KHz lock.

As this was a commercial product, you should be able to achieve good results. There is no diagram to copy - Here some proper reverse engineering needs to be done.

User avatar
sinus trouble
proppa neck!
proppa neck!
Posts: 1410
Joined: Fri Aug 22, 2014 11:34 pm

Re: SINUS RDS PROJECT

Post by sinus trouble » Sun Mar 26, 2023 11:54 pm

I am still learning with coding but with 3mtrjims Assembly file there are some parts which stand out!

Here is an example for us amateurs!
Jims Code.PNG
You do not have the required permissions to view the files attached to this post.
I am as stupid as I look! :|

User avatar
sinus trouble
proppa neck!
proppa neck!
Posts: 1410
Joined: Fri Aug 22, 2014 11:34 pm

Re: SINUS RDS PROJECT

Post by sinus trouble » Mon Mar 27, 2023 12:07 am

If we take a look at Jims EEPROM data! (Default Text)

We can see the hexadecimal values of each character (Letter or Number Etc) which correspond to a Western standard language known as ASCII

So using this table below, We can decode the Text!
ASCII Table.PNG
You do not have the required permissions to view the files attached to this post.
I am as stupid as I look! :|

User avatar
sinus trouble
proppa neck!
proppa neck!
Posts: 1410
Joined: Fri Aug 22, 2014 11:34 pm

Re: SINUS RDS PROJECT

Post by sinus trouble » Mon Mar 27, 2023 12:18 am

I have yet to go through the whole coding?

However, Even with just a quick glance? I can see parts where a process is repeated several times!

Which is quite common in code, Usually indicated by the command GOTO
I am as stupid as I look! :|

User avatar
3metrejim
no manz can test innit
no manz can test innit
Posts: 147
Joined: Wed Feb 22, 2017 3:00 pm

Re: SINUS RDS PROJECT

Post by 3metrejim » Mon Mar 27, 2023 1:02 am

Sinus, please use the disassembly from the second post (from the MonRDS_bundle.zip file), it will be a lot easier to read (I'm sure it still will generate correct RDS output, the raw data and clock decode properly in RDSSpy at least). I'm not a professional (although I did work writing PIC code in assembly at one point, many years ago). The newer code also has nearly all of the memory locations given a name for even easier understanding as well as restoring the time function, the 64 characters of radiotext, and changing of the text A/B flag. I cannot take credit for the code (credit goes to JJ Goessens), only cleaning it up mainly. I did download it from a Russian site, rather than running the RDS software, so no telling what I started with - It was definitely changed from the original MonRDS code (which I later found on WayBack machine), and some bugs that I cleared weren't present in the original.

If you read the newer assembly along with the RDS standard, you should get a good idea of how it works.

RDS standard (older version), can be found here:

http://www.interactive-radio-system.com ... andard.pdf

User avatar
sinus trouble
proppa neck!
proppa neck!
Posts: 1410
Joined: Fri Aug 22, 2014 11:34 pm

Re: SINUS RDS PROJECT

Post by sinus trouble » Mon Mar 27, 2023 1:55 am

3metrejim wrote: Mon Mar 27, 2023 1:02 am Sinus, please use the disassembly from the second post (from the MonRDS_bundle.zip file), it will be a lot easier to read (I'm sure it still will generate correct RDS output, the raw data and clock decode properly in RDSSpy at least). I'm not a professional (although I did work writing PIC code in assembly at one point, many years ago). The newer code also has nearly all of the memory locations given a name for even easier understanding as well as restoring the time function, the 64 characters of radiotext, and changing of the text A/B flag. I cannot take credit for the code (credit goes to JJ Goessens), only cleaning it up mainly. I did download it from a Russian site, rather than running the RDS software, so no telling what I started with - It was definitely changed from the original MonRDS code (which I later found on WayBack machine), and some bugs that I cleared weren't present in the original.

If you read the newer assembly along with the RDS standard, you should get a good idea of how it works.

RDS standard (older version), can be found here:

http://www.interactive-radio-system.com ... andard.pdf
I never forget the original creators! But you and others that contribute deserve credit too!

Anyways, Thank You for the feedback and i will be looking into this in more depth soon! :)
I am as stupid as I look! :|

Post Reply