Jump to content

Designing a Solar Flare Detector

Recommended Posts

Hi everyone,


this is my first technical post, so my apologies if this is in the wrong place.


I've got a load of free time at the moment, and would like to put it towards a project. I thought a solar flare detector would be pretty cool.


It works by having a resonant loop which is matched to one HF radio station (I have several candidates across Europe, but no definites just yet). When the charged particles from a CME (Coronal Mass Ejection) hit the atmosphere, they ionise some the gases in the ionosphere, which affects how well  radio waves propagate. If I were to match my loop to one of these HF stations and monitor the received power, I would notice clear peaks when the ionosphere was more ionised, indicating a CME.


My plan is to have the loop connected to a matching unit, with an ADC converting the voltage across the loop to an 8 bit value.


Initially, I was going to use I2C to transfer the voltage to the GPIO pins of my raspberry pi, which would parse the data to Google Docs, and then update a graph on a website.


However, I believe I2C is not suitable for the 15 meter distance between pi and loop.


So I came across R422, which may be better. However, I have never used this before. I believe I would need a uC (hopefully MSP430) to send the 8 bit value to a R422 driver, which could connect directly to the GPIO of the pi.


The problem is I cannot figure out how to connect the uC to the R422 driver, both physically and through code.


Could anyone possibly help me figure this one out, or knows of any resources which might be of use? I have tried Googling, and reading datasheets, but alas, to no avail.


I have attached a simple flowchart of how I think the system should work. It's all one way comm, just to keep things (relatively) simple.


Many thanks for all your time,




Share this post

Link to post
Share on other sites

Also don't count out I2C entirely.  I2C's limitations primarily hinge on the choice of pullup resistor (4.7K) and data rate (100KHz) for most stuff, but in custom applications you can tweak.  Pullup resistor can be switched out for something lower so long as all devices on the bus are capable of sinking the current.  E.g. the MSP430 you probably don't want to sink more than 10mA, we'll say really no more than 6mA, which puts your minimum pullup at around 550ohms, if the RPi can do that kind of current then a ~680 ohm pullup resistor might be doable.  In all honesty a 1K-ohm pullup is probably safer to start.  Then if there's a way you can slow down the I2C bus to, say, 25KHz ... that extends the usable bus capacitance (= usable length) even further.


There are transceiver chips (NXP P82B715) that act as simple buffers to enable a weaker device with local 4.7K pullup to drive a much lower value pullup -- e.g. 250ohm.  Problem is those chips are a tad expensive for what they do (like ~$4/piece?).  They are available in DIP though.  I've used these in an Arduino project currently living in my wife's car (sensor network w/ LCD and separate control box with rotary encoder).

Share this post

Link to post
Share on other sites



If you want to keep it simple and register an all-important early success with the 430 Launchpad, here is another idea, assuming you have loaded and run Energia.


In Energia:    File -> Examples -> 3.Analog -> AnalogInOutSerial      and load / compile / download it to your Launchpad.


Check that tools / processor type (2553) / TxRx jumpers, connections are all set up.  The documentation is good.

Then you should see the analog values appear on your serial monitor (Energia tools, or your preferred serial monitor).

This program reads the 10bit ADC, scales it to 8 bits using the 'MAP' function, then sends it out the serial port.


This whole process should take only a few minutes; you can stimulate the ADC channel by touching the associated Launchpad pin with your finger, just to check it.    Of course you want to measure a real voltage (nb: max input  =  2553 Vcc or about 3.6 volts).


You can then customize as you see fit, including tapping into the Async output from the Launchpad and sending it the 15 meters to your R-Pi; rs232 and a lower bit rate would be nice options to accomplish the latter.


Then you can soup-up the installation with wireless, additional programming features, etcetera.   You can also remove the programmed 2553 chip and place it in its own socket in its own box near the receiver.



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now