Referencing Internal Oscillator on Arduino MicroControllers

I've been researching how to reference the internal oscillator on Arduino micro-controllers (specifically the Arduino 101/Genuino 101) to use the oscillator to emit radio signals of data on certain radio wave lengths. Unfortunately I've come up empty handed not finding tutorials or how to's to program this into my micro-controller.

I don't know the Arduino 101 but the oscillator on the Atmega 328 can be accessed on some of the pins - though they are not brought out to the Arduino headers for obvious reasons.

Does the frequency that the 101 operates at need a broadcasting licence? A significant effort is put into the design of PCBs to minimize radio interference.

...R

I'm fairly new to Arduino, unfortunately I am only experienced in Java so I apologize for my noobish questions. Why can't you create an oscillator object and reference it to the internal oscillator within the micro-controller programming of the Arduino 101? It seems perfectly logical, where one would load the correct libraries for oscillator functions and utilize them with the internal oscillator which should be embedded in the Arduino 101's core functions. As for the broadcasting license, no I won't be needing one, i'd like to choose what broadcasting frequency; one that fits the regulations of broadcasting frequencies in the FAA.

Hie thee to the datasheet!

You will have to program the registers.

But you will find the modulation capabilities very limited and adding modulation may change the modulation code!

Immortal_Conqueror:
Why can't you create an oscillator object and reference it to the internal oscillator within the micro-controller programming of the Arduino 101?

That sounds like a question born out of a Java mindset rather than a micro-controller mindset.

Even supposing that you could access the oscillator I'm not sure how you think you might use it because the Arduino cannot do anything useful at that speed - it would normally require at least a few clock cycles to do anything useful.

Have you considered using one of the Hardware Timers?

...R

Are you saying to use hardware timers to regulate the frequency of the oscillator to emit RF? I'm not sure how that would work since I've no idea how to even use the oscillator within my programming of the micro-controller since its internally integrated into the Arduino 101 instead of connected to an I/O port. I am attempting to use the oscillator as a frequency synthesizer, not a device for accurate timekeeping. If you have any suggestions they'd be welcome. I'll need the oscillator to send minimal data (4 digit int), but a consistent stream of it via RF over a long distance (900ft/300m). Thanks for getting back to me quickly.

Immortal_Conqueror:
Are you saying to use hardware timers to regulate the frequency of the oscillator to emit RF? I'm not sure how that would work since I've no idea how to even use the oscillator within my programming of the micro-controller since its internally integrated into the Arduino 101 instead of connected to an I/O port. I am attempting to use the oscillator as a frequency synthesizer, not a device for accurate timekeeping. If you have any suggestions they'd be welcome. I'll need the oscillator to send minimal data (4 digit int), but a consistent stream of it via RF over a long distance (900ft/300m). Thanks for getting back to me quickly.

Sorry, but I get more confused every time you post.

Starting from the bottom and working back ... (because an answer to the bottom point may obviate the need to answer the others)

If your objective is to transmit data why not use a proper wireless device such as an nRF24L01+ transceiver

If you just want a 16MHz oscillator why not buy a 16MHz crystal and a few capacitors?

I have no idea what you have in mind when you say "regulate the frequency of the oscillator"

You need to tell us what your project is trying to do and NOT how you think it might be implemented.

...R

Transmitting at either 16 or 32MHz over anything more than a few feet is likely to be illegal. Perhaps some country has amateur radio bands that span those frequencies (and would require a license to use), but I'm not aware of one. Use of an off-the-shelf communications module of some kinds--e.g., one of the gazillion or so nRF thingies mentioned above--is likely to be a better (and legal) option. Even if you live in a region of the world where legal operation on 16 or 32MHz is available to you, you're likely also bound by regulations that require you to conform your transmissions to one of several well-known "modes". You don't just get to make up your own modulation scheme and data format that nobody else will be able to receive.

Creating RF is not something to be done lightly.

And what modulation scheme do you want to use for these 4 bits?
AM?
FM?
BPSK?
CDMA?
256QUAM?

This has poorly thought out science project written all over it.

I apologize for the miscommunication, but now (as in today) my question is fairly simple. Now I will be using the nRF24L01 synthesizer/transceiver for RF communication (realized this after I posted yesterday) via PWM modulation on 72MHz.

But i'd like to know if there's anyway to use the integrated oscillator on my micro-controller; I can't find a way to use it.

"the oscillator on the Atmega 328 can be accessed on some of the pins - though they are not brought out to the Arduino headers for obvious reasons."
With a Low Byte fuse change, on bit 6, the system clock can be brought out:
The CKOUT Fuse allows the system clock to be output on PORTB0. (which is D8).

Use it for what? That was never clear.

Immortal_Conqueror:
I apologize for the miscommunication, but now (as in today) my question is fairly simple. Now I will be using the nRF24L01 synthesizer/transceiver for RF communication (realized this after I posted yesterday) via PWM modulation on 72MHz.

I suspect if you had originally described your project (which you still have not done) we could have pointed you in that direction immediately.

...R
Simple nRF24L01+ Tutorial

I think you want to use “the internal BTLE tranceiver”, which is designed for transmitting and receiving data, and wrapped I nice objects/ libraries to make it easier to use.

The “internal oscillator” usually refers to a much different thing.

westfw:
The "internal oscillator" usually refers to a much different thing.

Reminds me of the story about the man who used the word "castrated" when he really meant to say "circumcised" :slight_smile:

...R

Which of course reminds me of the SNL skit when they did the Jewish bris in the back of a Lincoln, IIRC.

Robin2:
I suspect if you had originally described your project (which you still have not done) we could have pointed you in that direction immediately.

...R
Simple nRF24L01+ Tutorial

My project had nothing to do with the question.... :drooling_face:

The original question was how to use the oscillator that comes pre-installed on the Arduino 101, which has been answered by the Mod. (Thanks by the way)

CrossRoads:
"the oscillator on the Atmega 328 can be accessed on some of the pins - though they are not brought out to the Arduino headers for obvious reasons."
With a Low Byte fuse change, on bit 6, the system clock can be brought out:
The CKOUT Fuse allows the system clock to be output on PORTB0. (which is D8).

Thanks for all the info everyone. (You've sure got a personality Robin2....)

Immortal_Conqueror:
My project had nothing to do with the question....

I haven't heard that one before. I must remember it. :slight_smile:

...R