Radio communications device on I2C


I'm looking for a device which I can connect to STM32 (the one like here: h ttp://

formatting link
a_brief/DM00094498.pdf) for radio communications. I want to transmit and re ceive signals, encoded with AX.25. I found one here:
formatting link
=67 but this one is for satellites and costs way too much. So I'm looking for something similar, but cheaper.

I need for learning purposes, to learn i2c, transmitting and receiving sign als etc.

If you know one like I need, please share the link.

Best regards Pawe? Stawicki

Reply to
Loading thread data ...

On a sunny day (Wed, 8 Apr 2015 04:10:51 -0700 (PDT)) it happened wrote in :

AX25 1200Bd, lookup 'baycom modem'. I use the old TCM3105 modem chips (still on ebay), and a PIC to encode / decode the AX25. These days the soundcard is used as modem, so if you have a PC (as you are posting with one I guess so), you need no chip. Google 'soundmodem'. Linux has AX25 protocol in the kernel, there are many software packages for it. You do need a transceiver of course.

Where does i2c come in? Dunno, but if you want to learn i2c, then you could drive some I2C chip from the PC parport, all you need is 3 pins, one diode. There is plenty C code available.

I looked up that STM thing but why not use a PIC. Every few days an other micro board appears, PICs have been around a long time and the time invested is worth it, and things stay available, unlike many other manufacturers, and are relatively cheap, and still very powerful. And for Linux the assembler is free (I think C compiler too).

I2C is actually easy.

Reply to
Jan Panteltje

: h=








decode the AX25.

e posting with one I guess so),




The thing is, I don't want to use PC, but STM32. Why? Well, I want to learn now, but later I'm going to join a project with such hardware, so I want t o stich to this.

Besides, it's good to know I2C is easy, because I'm a noob :)

Reply to

On a sunny day (Wed, 8 Apr 2015 07:07:23 -0700 (PDT)) it happened wrote in :

Is there a C compiler for that thing? There are free i2c source code examples on the web.

Those are also easy to convert to asm if needed. In that case you will have to learn to code in asm on that micro.

I2c has the main advantage that you can use it on a multi-tasker, as normally it does not care if teh data transfer is interrupted by the task switching. You are still bound by other conditions such as data transfer speed of course.

I would go for a Raspberry Pi as that is cheaper, has a free C compiler, has all the I/O needed, and tons and tons of example code.

Why torture yourself.

There is plenty of C code i2c examples on C on my site, some for more complicated chips with many registers and memory:

formatting link
find iiclib.c in the source code (C).

Reply to
Jan Panteltje

AX.25 is a ham radio protocol used for packet radio communications. You need to specify the speed (300,1200,2400,4800,9600,56K,etc. baud) which will also define the method of modulation. Speeds of 2400 baud and below generally use analog audio modulation methods, while 480 and higher use digital modulation methods. I'm not very familiar with satellite communications, but those offer additional modes of operation. It's also useful to know the frequency of operation as different modes are used on different bands.

I can't help with the programming or chip selection. However, I can with the various ham radio data communications modes if you would kindly supply the frequency, data rate, and application. Also, if you don't mind forgetting about AX.25, which seems like an arbitrary decision, there are plenty of other digital modes worth trying:

There are packet radio projects that use i2c to talk between the controller, in this case a Raspberry Pi, and the AX.25 device, in this case a TNC (terminal node controller).

In other words, start over. Specify what you are trying to accomplish and what you have to work with. The rest of the details will then fall into place. You may also have better results in the ham packet radio Usenet newsgroups.

Jeff Liebermann 
150 Felker St #D 
 Click to see the full signature
Reply to
Jeff Liebermann

These days any processor capable of handling at least 8000 interrupts each second should be capable of generating the 1200 and 2200 Hz tones using the NCO Numerically Controlled Oscillator principle, also generating clean transitions between these frequencies.

At each interrupt, increment the phase accumulator value with an addend value depending on the desired frequency, make a sine lookup for the phase accumulator value, send it over I2C to an external 8 bit ADC.

For reception, use an external 8 bit ADC on the I2C and read the samples at the ISR rate and store values into a FIFO for later frequency evaluation and data extraction.

On the transmission side, you could precalculate the sample values for a full AX.25 frame, put them into a FIFO and let the ISR send one sample at a time to the DAC. In this case, even if the task scheduler causes hiccups, the data rate remains constant, which is strictly needed for the AX.25 frame synchronous characters. Instead of a DAC, PWM could be used, but requires a much higher PWM clock.

Reply to

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.