Quantcast
Channel: m0xpd's 'Shack Nasties'
Viewing all 220 articles
Browse latest View live

Arduino VFO

$
0
0
The m0xpd wallet has been dusted off - to the extent that I actually invested in a genuine Arduino (!!!) 

Nothing against the penny-pinching WotduinoTM - but I need to be able to show true compatibility for some "public appearances" in the future and there's nothing more convincing than hearing the tune played on a genuine Stradivarius fiddle.

As opening application for the kosher Arduino, I rustled up a VFO system - much in the style of the excellent pa0klt VFO I got from Jan at SDR-Kits a few years back.

I took another of my Arduino DDS shields (this time made up with a socket for the DDS module, as I wanted to be able to plug different units in for testing). Then I took my code for driving the DDS module and mixed in some rotary encoder interfacing and some calls to the Arduino LiquidCrystal library to drive a 16*4 LCD.

Here's the finished result...


 Like my Arduino QRP rig, the VFO currently jumps the gaps between the amateur bands - although there's nothing to stop me having a continuously-variable frequency, with no inter-band gaps if I choose. That's the beauty of this approach - it is flexible and entirely configurable. Something other VFOs can't match.

It's also inexpensive - even if you insist on buying a pukka Arduino, you still might get change from £25.

Cheap chips!

...-.- de m0xpd



Using the Arduino VFO

$
0
0
I've been playing with the Arduino VFO system, after she made her brief appearance as a blushing debutante in the sumptuous elegance of the Norbreck Castle Hotel. Regular readers will remember the special affection I have for this "magnificent" location.

First experiment was to convert George, g3rjv's classic "Sudden" receiver to digital VFO operation, which was achieved with what HF used to call "laughable ease"...

   

(details of this conversion will be published later).

Readers may recall that I used up some of the free space on the Arduino DDS shield by deriving a pair of quadrature squarewave signals, à la software defined radio, intending to play with Tayloe detectors. Well - yesterday I started to uphold the intention, brewing up a simple circuit with a 74BCT3253 and a 5532 double op-amp...

   

It works quite well, with the Arduino VFO liberating the receiver from the rock-bound limitations of simple SDR receivers, like the Softrock I cut my teeth on back in 2008...

   

 Here's a closer look at the board (where you'll see that I left the Sudden experiment in place)... 

 

RF from the antenna and the pair of quadrature squarewaves from the VFO system enter stage left, after which there's a filter and a transformer (essentially a Balun to convert the unbalanced feed to a balanced input to the detector). Then the 74BCT3253 sits on one of my SOIC - DIL modules, where it switches the RF to generate two signals which, after amplification by an NE5532, form the I and Q input to an SDR program.

I tried Winrad - but then switched to HDSDR.

Here's a screenshot of me listening to m0roa early this afternoon...

 

as you see, I set the "offset" between HDSDR's "local oscillator" and "VFO tuning" at 10kHz and tuned using the rotary encoder on the Arduino VFO, which makes the whole experience feel more like radio!

I changed the display on the Arduino VFO to add the 10kHz offset - so the LCD shows the correct frequency my receiver is "hearing" - even though the DDS is generating a signal of four times this (minus the offset). A vivid demonstration of the flexibility of the Arduino-based VFO.

I also experimented with generating some CAT controls for HDSDR in the Arduino - I can change the VFO tuning, but not the local oscillator setting - ironic, given that the Arduino is generating the LO signal! If anybody knows if CAT control of the LO setting in HDSDR is possible, I'd like to hear from them. OK - after a few more minutes playing around, I found how to set the Tune fixed to 'LO<->Tune-Offset'-> option - now I have the screen on the computer displaying the same as the VFO's LCD screen (by sending the appropriate CAT command to HDSDR).

All of which reminds me of just how much I dislike software defined radio. Never mind - next Sunday its G-QRP Valve day!

 ...-.- de m0xpd

Analog Nostalgia

$
0
0
Having sold my soul to the devil (as some would see it) by playing with a digital synthesized VFO (Blogs passim), I decided it would be fun to take a walk down memory lane and look at a traditional (Colpitts) VFO.

I still wanted to keep things under the control of the Arduino (or a similar micro-controller), so I looked at varying the frequency of a conventional SA612-based oscillator using a varicap diode.

Here's my basic scheme, which contains no novelty...

I started by making the oscillator sans varicap and soon was strolling down memory lane and meeting drift, temperature sensitivity and all the other quirks that make analog such fun! I could easily control the frequency of the oscillator by deriving a control voltage from a pot - so I was ready for the next step...

I made a controllable voltage source on the Arduino, using the same LCD display and rotary encoder interface that formed the basis of the simple DDS-based VFO. Instead of controlling a DDS, I now generated "d.c." voltages using PWM methods with the inbuilt "Analog Write" function. This voltage was fed to the control input of the system above.

It wasn't a great success, for two reasons...

Firstly, the analogWrite function accepts an 8-bit argument, giving only 256 different voltages on the output - this isn't really enough to give both range and resolution in a VFO.

Secondly - and more of a show stopper - the PWM signal was very difficult to smooth to a d.c. value, suitable for driving the varicap diode. To try to make things easier, I upped the PWM rate from Arduino's standard, pathetic 490Hz to 32 kHz, to give the low-pass filter more "room" to isolate the non-zero frequency components from the wanted d.c. component. I also experimented with various types of low-pass filter (as shown in the rectangular box in the schematic above) but got bored (especially as the 256 control levels wasn't enough) and jumped ship on PWM. It might be good enough for motor speed applications, but that's about it!

Fortunately, the junk box offered up a 12-bit DAC (a Microchip MCP4922), which has an SPI interface. There is an Arduino SPI library - but it uses pins I had already assigned to my (parallel) Hitachi LCD interface. It was easier to write some bit-banging SPI code to get the MCP4922 putting out REAL d.c. than to re-work the LCD (by pulling out wires and re-assigning pins).

Here's the complete system on the bench...

   

The oscillator is seen at top right, with the control voltage arriving on the white crocodile clip. This is generated by the MCP4922 nestling in the little solderless breadboard, under the control of the Arduino.

The display tells me what's going on - translation between the 12-bit numeric code and the actual voltage is just a linear scaling exercise.

Now, with clean d.c. control voltages, the VFO is running as sweetly with digital input from the Arduino as it did with control voltage derived from a pot. Only there is all the flexibility conferred by the digital system. I could, for example, now make an Arduino-based CW transceiver without the DDS module - with all the frequency offsets and incremental tuning etc under digital control.

I could also wear a hair shirt, become a vegetarian and subject myself to other mortifications.

No thanks - I'm happy with the DDS.

QED

 ...-.- de m0xpd

More Analog and the RBN

$
0
0
In the midst of yesterday's fun-and-games with the VFO, I was trying to engage in the G-QRP valve day with my (replica) Paraset. It was an almost complete failure!

 Unfortunately, I had greater than S8 noise around 3560kHz all day (I'm rock-bound on the Paraset to 3.56MHz or 3.579MHz) and the receiver isn't really usable on 40m in typical conditions.

Still, I plugged away in between playing with coils and SA612s and varactor diodes.

Here's the Paraset, squeezed onto the bench...

 

I didn't hear anything beside the aforementioned noise all day - but I do know that my signal was getting out there - thanks to the brilliant "Reverse Beacon Network"...

 

When I say "getting out there" it was - at least - getting the 287 miles to Brendan, ei6iz. Thanks Brendan!

I've never used the RBN before - but now I'm a convert and I'm sure it will feature heavily in all my working.

I'm fast coming to the conclusion that weekends are a wash-out for radio - and certainly a bad day to operate QRP with the additional handicap of a pre-historic rig! There's much more noise at my QTH on the w/e (presumably due to more electronics being used in residential areas when folk aren't at work). Then - of course - there's all that awful  "_ . ... _" QRM.

I had to give up in the late afternoon to tighten my trousers and QSY my Baritone voice up to Tenor to sing in a SATB context, before enjoying some more Morse in the evening.

All in all, a nice day - albeit a frustrating one.

 ...-.- de m0xpd

VFO Pull

$
0
0
Now here's a pretty problem. Actually, it has been a living nightmare, spoiling my "playtime" these past few weekends!


Having been in raptures over the elegance and efficiency of the DDS synth module recently, I decided that I ought to investigate alternatives. Both for the sake of "balance" and to demonstrate (not least to myself) that I'm no one-trick pony.

The alternative means of frequency-generation was to be a simple VFO of the sort that can be implemented on the near-ubiquitous SA602/612.

I took as my starting point George, g3rjv's "Sudden" direct-conversion receiver, made for 40m.

Now - before we go any further - let me be careful to explain that none of what follows is, in any sense, a criticism of the Sudden, the SA602/612, or anything else. It is just a story about my self-education and recreation.

Here's my (very) ugly experimental system...

   

It is a fairly conventional embodiment of the "Sudden" - with the only exception being the fact that it is tuned using an MVAM109, ultimately to be controlled by a DAC (as described in this earlier post) but here controlled by a stable d.c. source. Not seen in the photo above is the input RF network (more of which later).

I was surprised (/shocked / intrigued / startled / depressed - call it what you will) by an unexpected aspect of the performance of the system, which has become the subject of the "living nightmare" I refer to above. The receiver was found to "chirp" very badly on receiving strong signals - CW, of course (I have heard rumor there are other modes).

Some investigation with my old Racal-Dana Universal Counter Timer revealed that the VFO was being pulled by such strong signals. I didn't expect that!

I contacted George, who told me that he had "not heard of VFO pulling as a common problem" - and suggested that "The best route is probably the input attenuator".

A quick experiment confirmed that reducing the signal level did indeed stop the pulling - but I wanted to try to understand what was causing this unexpected behaviour - partly because I believe it must be one of the limitations on such a receiver's ultimate performance in dealing with weak signals on an overcrowded band, where consideration for not treading on the dainty toes of QRP signals isn't at the top of everybody's agenda.

I made a few experiments and arrived at what remains (for me) a rather surprising conclusion.

I started with a "vanilla" Sudden...


This system displayed the "chirp" on receiving strong signals and acted as a reference.

Next, I started to wonder what might be the mechanism behind disturbance of the VFO's action. The first thing I tried was to produce a stabilized power supply for the mixer / oscillator - as has been done with the "Sudden 2"...

 

This made no significant difference - so I sought to increase the decoupling between the oscillator and the remainder of the receiver as much as possible.

To achieve this, I buffered and amplified the oscillator signal (derived from the unused winding on the transformer, the other side of which was used as the oscillator coil) using my popcorn buffer module and used this to drive a second SA612, working only as mixer...

 

 In this test, I also used a second LM386, distant from the SA612 used as oscillator, as seen in this photo...


This functional separation of oscillator and mixer between two SA612s and the physical separation between the oscillator '612 and the LM386 also persuaded me that the ability of strong input signals to pull the VFO - STILL PRESENT IN THIS TEST - was not caused by consequences of the "layout" of my circuit. I was baffled.

At this point, I speculated that there might be some coupling between the RF and AF stages - perhaps caused by the rather long speaker leads. So I replaced the speaker and its long lead with a 15 Ohm resistor, right on the LM386 output - with no change - the VFO was still pulled.

The system was being powered by a nice old Farnell linear power supply, with a big analog meter to monitor output current. I could see that the current increased (from around 50 to 55 mA) on receiving a large signal. I disconnected the loudspeaker (such that there was no increase in current - the additional current was all associated with driving the audio frequency load) AND THE VFO PULL DISAPPEARED!

The same - not surprisingly - was true if I powered down the LM386.

This really was odd - I could not measure ANY change in power supply conditions at the oscillator - the voltage was constant to better than 100 microvolts (i.e. better than one part in 50000), given the locally regulated 5V supply.

Then I tried provoking the same outcome (a change in VFO frequency) by changing not the input signal - but the AF signal. Previously, the increase in the AF power was caused by an associated increase in RF signal. Now, I tried driving the LM386 input with an AF signal, to dissipate the same AF power in the speaker.

I COULD GENERATE THE VFO PULL !!!

I have no idea how/why this is happening - there is no measurable change at the oscillator's local power supply. It is driven by the same RF input. It is loaded by the same load impedance presented by a (powered but unloaded) LM386 - but it is still pulled when I apply AF from a separate signal source to the input of the other LM386.

[Note: whilst ordinary linear concepts like correlation and coherence don't have any meaning in the context of the non-linear operation of "mixing", bear in mind that the AF oscillator is independent of the SA612 oscillator and any RF going into it {I hope!}]

So - a living nightmare. The sense that reason is power-less. The frustration and futility of banging one's head against a hard object for too long.

All I can hope to do is present some evidence, in a form capable of independent verification (by YOU) and hope that you'll be able to shake me out of my bad dream. Here's the evidence...

I'll set up the vanilla Sudden once again - but with a 50 Ohm attenuator on the input, rather than the stock 10k potentiometer (we're trying to deal with too many variables already here - I don't want the potentiometer changing the source impedance of the RF).

Here's my input arrangement - signals derived from the Norcal S9 Generator (or, rather, my "sincerest form of flattery" version), going through a switchable attenuator...

 

We'll tune the receiver and switch the input through 20dB - first with the speaker loading the LM386, as per normal use. The audio is monitored on Spectran...

 

You can see where I switch the level. You can see the consequence of the change (the VFO frequency goes DOWN with increasing signal amplitude). The frequency change is about 30Hz, which assuming a reference of 650Hz, is a ratio of 4.6% which, for the musically literate amongst you, is close to a semitone (2^(1/12) is approximately 5.9%). In more extreme cases, I have observed frequency pulls exceeding 90Hz (greater than a whole-tone).

 Now, if we disconnect the speaker (leaving only the fairly high-Z load from direct connection to the computer soundcard) and make the same test...

 

Sure, the charming analog VFO is doing its wonderful slow "drift" thing - but it is completely agnostic to input level.

So - tell me - what does your Sudden do when you've got the input attenuator set too high?

Of course it distorts - but does its VFO get dragged around too? 

I'd like to know - but I'd LOVE to understand WHY!

 ...-.- de m0xpd

Post Scriptum:

In the course of the above, I started to use the 10mm "Toko 10k replacement" coils produced by Spectrum Communications and available (to members) from the G-QRP club.

I couldn't find these as an Eagle part - so I built one from scratch.



This allowed me to make up a PCB for a generic band-pass filter (see George's recipe in the current number of SPRAT, vol. 154, p. 25).

Here's one made up for 40m...

I'll be pleased to share the library with anybody that needs it - only Cadsoft still haven't remembered me (despite an email request sent over a week ago), so I can't post on the official download page (along with my Toroid library for inductors and transformers wound on toroidal cores).

Get in contact directly if you want an early copy of my new "inductor-spectrum.lbr" library.

VFO Pulls No More!

$
0
0
My troubles with the SA602/612-based VFO are over - now she is completely oblivious to large signals, keeping on oscillating at just the same rate as when tickled by weak signals or nothing at all!

The "fix" was motivated by various correspondents (particularly members of the G-QRP Yahoo Group) who pointed to the varicap diode as the most likely origin of my problems. I tried replacing it with a conventional capacitor and - sure enough - the "pull" was gone.

Now - there's nothing intrinsically wrong with varactor / varicap diodes; they have been seen to work as tuning capacitors in many radios before. What was wrong with my experiment turned out to be the physical separation between the diode, the (trimmer) potentiometer used to derive its tuning "bias" voltage and the regulated power supply providing the input to this voltage divider, as seen in the photo below...


I tried generating the control voltage local to the varactor and - sure enough - the oscillator was as solid as when controlled by the "real" capacitor.

I don't know exactly what was causing the problem when the control voltage was remotely generated - John, g8ozh, had suggested ground impedance problems and I'm inclined to agree with his explanation. Whatever the precise cause, I now had a resolution of the issue, which prompted me to modify the ugly circuit close to the tank, adding a socket into which I could plug various capacitors and their tuning means, close to the coil. I also provided a local voltage regulator...

   

With this simple interface socket I could confirm the stability of a "pukka" trimmer and the viability of a locally-controlled varactor. I could also move in my intended direction, adding a digital-to-analog converter to achieve digital control of the oscillator...


The most "complex" of the tuning plug-ins includes an MCP922 12-bit DAC, which is controlled over a serial interface. You can see the whole shebang in action on the bench...

 

The Arduino seen above is running code to generate d.c. voltages on the MCP4922, used as control voltages for the varactor, in response to my inputs on a rotary encoder. I also took the opportunity to add a frequency counter to monitor the oscillator, using the Frequency Counter library provided by Martin Nawrath (whose excellent FFT library I have also used). This allows direct monitoring of the oscillator on 40m (higher bands will need a divider / pre-scaler to operate correctly).

The LCD screen now displays not only the varicap control voltage but also the resulting frequency...


This puts me in the interesting position of being able to "close the loop" and making an automatic controller to regulate the frequency to a desired value.

Can I be bothered - or will I remain seduced by the simplicity of the DDS ?

...-.- de m0xpd

Octals and Octuples

$
0
0
Younger readers will be amused to hear that bits once were so precious that we did't group them profligately in fours. Rather, we arranged them sparingly in threes.

The four-bit groups conveniently were abbreviated into hexadecimal numbers, now widely used in computing. The three-bit groups didn't require counting to use the rather unnatural "numbers" A : F evoked in hexadecimal, as three binary digits could simply be written in base 8, using the familiar symbols 0 : 7. We called that numerical system "octal".

Way back then, computers were often using word lengths and internal architectures which were multiples of three - so the base 8 octal system was great. Today, our digital machines usually are built around parallel groups of bits of length divisible by four and NOT by three - so octal has fallen into a dusty corner of the dictionary. Pity.

All this talk of 8 arises because I have just made what the world calls an "octal" bi-directional level converter, extending my earlier "quad" level converter (as was mentioned here). The world shouldn't call it this - it should call it an "octuple level converter", but we all know how dumb the world is!

For those wishing to brush up on the correct names of things, take a look here. 

Enough pedantry - let's look at the new gadget.

It is built as an n-tuple extension (pedant !) of the circuit originally used in the development of my Si570 DDS module . I previously had made up a plug-in module (regular readers know I have a passion forthese) hosting quadruple converters but there are times when four simply isn't enough. [There is nothing to forgive when the world calls this a "quad converter", as "quad" is an abbreviation of "quadruple" - not a misunderstanding of "quartal". Pedant !]

 Here's the copper layout, for a single-sided, homebrewed, octuple converter...

 

The two lines of 0.1 inch pitch pins are 0.6 inches apart (making the plug-in module like a "wide" DIP) but the overall board width isn't nearly as attractive as the commercial equivalents of this device, due to the constraints imposed by my clumsy, single-sided PCB. That's the price you have to pay for being a cheapskate! (Note, if you followed that "commercial equivalents" link, that Lady Ada doesn't fall into the "octal" misnomer trap, staying safe with "8-channel".) 

Here's the finished module, along with its quadruple smaller sibling...

 

You might be able to see from the photo above that my new octuple module is less than twice the "length" of the quad, which is why I made the 8-channel version. I've already made three quads (hard for me to say as the father of twin daughters), but they're wasteful of breadboard area (the modules - not the twins!). The new octuple squeezes more into less.

Note also there are a couple of unpopulated boards lurking in the background, waiting for the next time I feel strong enough to engage in some microscopic work. That work has been greatly eased by the purchase of some Xcelite 412 "anti-tweezers" (as Tom and I call them), which give me some chance of holding the tiny devices for long enough to solder them in place. Get yourself a pair - they work well.

The imminent arrival of new spectacles (currently being made up at the opticians) might even allow me to see the objects I'm trying to solder too!

 ...-.- de m0xpd

Arduino Controlled Colpitts Oscillator

$
0
0
A recent post closed in something of a "cliff-hanger" ...

"This puts me in the interesting position of being able to "close the loop" and making an automatic controller to regulate the frequency to a desired value."

Well - now I've scrambled over the top of the cliff to safety - although it certainly was a struggle.

I have assembled not only the SA612-based oscillator you've seen before, but a complete receiver and transmitter combination which - one day soon - will be a(nother) QRP rig. The Rx and Tx are improvisations on a theme established by George, g3rjv's famous "Sudden" designs, available in kit form through G-QRP sales.

The receiver section differs most strongly from the stock "Sudden" - partly because it hosts the VFO and partly because I've modified the AF section. With all due respect, I don't like the "wide open" audio response of the Sudden - so I've added a more complex audio-frequency path, including the ability to use my CW Filter. The Tx is in closer-to-stock condition, although it now is driven by the VFO in the receiver. 

Here's the whole shooting match on the bench...

 

The cliff-hanger suggestion of closed-loop control was of interest not only as a means to regulate the oscillator (so as to bring it near to the level of stability now so easily available from DDS oscillators). Also - and, perhaps, more importantly - I was interested in the controller idea in order to simplify the "calibration" of the oscillator. If I were able to run it in a closed-loop configuration, I wouldn't need to figure out what voltage to apply to my varicap tuning diode - it could figure it out for itself!

I measured the frequency output of the oscillator across the entire control range of my D-A converter, with the following encouraging result...

 

The frequency is seen to be almost a linear function of control voltage - in fact, a close-to-least-square linear fit (as shown by the dashed red line in the graph above) has equation of the form "y=mx+c" you'll remember from school...

 

I said "close-to-least-square" because it is an approximation I made by "squinting" at the data and finding a nice simple integer value for the "gradient" term, m=14. This will become important for us later when I add RiT (receive incremental tuning).

You'll see that I cover the entire 40m band (except for that "phone" stuff of which I've heard rumors somewhere above 7.040 HI HI). This isn't luck - rather it is the outcome of careful selection of the range of control voltages supplied to the varicap diode (which, in the present system, is just a Zener).

I now have arranged one of the channels of my (MCP4922) digital-to-analog converter to serve as reference voltage generator for the other channel, so I can "scale" the output voltage range to a fraction of the original 0 to 5V. 

Here's the schematic...


I'm currently using a value of 1000 as the channel B "reference value", such that the channel A reference voltage (supplied by the channel B output - see the red link in the schematic) is a little under a quarter of the 5V supply rail - my control voltages for the varicap run from zero to 1.22 volts.

The "encouragement" of the almost linear mapping between DAC arises from the fact that - for any desired frequency we would like the oscillator to produce - the squared deviation between that desired frequency and the oscillator frequency (the "squared frequency error") is a quadratic function of the DAC Code. This is shown for our "favourite" frequency of 7.030 MHz in the following graph...


As before, the dashed red line shows the result associated with my linear fit - which, when squared, gives a perfect quadratic. The blue line is real data from the oscillator - almost quadratic.

You may well wonder what is so good about a quadratic error function.

It turns out that it is easy to find the lowest value of squared frequency error (i.e. to find the DAC Code which gives the correct frequency) in the presence of this quadratic form, using simple "gradient search" methods.

Think of the shape above as a cross-section through a valley. All we need to do to find the bottom is walk downhill (as all those energetic SOTA and WOTA enthusiasts will know). For the quadratic, the gradient is a linear function of the DAC Code so, to "walk downhill" all we do is subtract an amount from the value of the DAC Code proportional to the frequency error.

We subtract to walk downhill.

Here's the code required on the Arduino to implement this "gradient search"...

 

It is - as you see - easy. The only trick is that we have to scale our updates appropriately (otherwise we'll run downhill, not be able to stop at the bottom and keep going up the other side). The parameter "alpha" in the code segment above currently has value 0.07 in my code, giving a nice compromise between update speed and no tendency to "run up the opposite side" (under-damping).

If we ask the system to "search" for a frequency outside the available range or choose too large a value for alpha, in which case we run all the way up the opposite side into the next valley (instability), the code will try to push the DAC Code value outside the 12-bit limits available on the MCP4922. To prevent this, the "constrain" function in the code above keeps the DAC fed with meaningful numbers (although it would already be a failure at this point, so the error trap is somewhat futile).

The whole Arduino-controlled Colpitts oscillator works rather well.

It has been working well with the receiver for a couple of weeks now - but when I added the Tx last weekend, all hell broke loose.

I began to wonder if it would have been better just to let go of my tenuous grip on the cliff on which we were hanging and fall to a merciful release. But I soldiered on and - this morning - finally prevailed.

I had found, you see, that the act of transmitting pulled my VFO way out-of-tune. I started the remedial treatments by putting the VFO and receiver (along with the DAC and a buffer amp) inside a metal enclosure (seen more clearly in the bench shot when the enclosure lid is on)...

 

This presented the challenge of how to make the myriad connections to my ugly development boards (preferably without opening the notoriously empty m0xpd wallet). I came up with a solution of which I'm quite proud...

A simple 3mm slot, cut in the appropriate place on the "end" of the enclosure with a slot drill in my "trusty rusty" milling machine, allows the 0.1 inch sockets already used to hook up to the boards, to protrude to the outside world for onward connections...

   

That improved things - but I still had to spend too many hours of my precious leisure time clinging to the perilous cliff, working through all sorts of boring ground and coupling issues. Eventually, early this morning, it paid off...

Now I have less than 10Hz "glitches" in the VFO output when keying the Tx and a transceiver which - unlike the Sudden - is freed from the rock-bound fetters of VXO operation. I swell with pride - but the sense of achievement is tempered by knowledge that it is SO MUCH EASIER using the DDS.

Now I need to sort out RiT before I can try for a QSO, but I'm going to take a break first - I'm exhausted from all that cliff-hanging.

...-.- de m0xpd

Phone !

$
0
0
After the frustrations of getting an analog oscillator under the closed-loop control of an Arduino, I had promised myself a rest. I decided a change would be just as good - so I took what is (for me) a very radical step. I thought about trying phone operation, rather than the habitual CW. Who says you can't teach an old dog new tricks?

The first challenge was finding a mic - such things have no place in the m0xpd shack! I ended up stealing one from the little FM bug transmitter I made (but NEVER operated - honestly Mr OFCOM) from Harry, SM0VPO's design back in the mists of time.

I decided that my restful change would see me revert to the comfort and convenience of DDS - so I planned a DSB transceiver using most of the bits already on the bench. I needed a pre-amplifier and modulator for my voice, so cooked up the following scheme, taking inspiration from the Wee Willy (amongst other sources)...

 

I found that too much Tx power was being wasted on low frequency content, so I added the 2nd order high-pass filter stage on the input. The output drives the ugly Sudden Tx, reported last week. For the receive side, I could have used the previous Rx stage, but decided to knock up a new SA612/LM386 combination, with oscillator input (to pin 6 of the 612) directly from the DDS.

The remainder of the expanded AF system from last week was still useful - so I made a common interface and just plugged 'n played! Rx/Tx switching is handled by a push-button DPDT switch, which operates the Tx "key" line and the Rx mute, as appropriate.

Here's the whole shooting match on the bench...


As you see, I didn't use the Arduino-based VFO (as its components were still hooked up to the Arduino-controlled Colpitts), using instead the pa0klt (Si570 based-) system from SDR-Kits...


I listened to the goings-on on 40m this morning with some trepidation; band conditions were reported as good by lots of ops with 400W to play with. How would my 1 Watt sneak past the big guns?

I needn't have worried - I answered the CQ from Chorley and District ARS' special event station mx0isn, operating the "Bunkers on the Air" event from Brinscall, in memory of the D-Day landings. Operator Dillon (m0ykb) made some generous remarks about my signal and gave me five and seven. Great!

 m0xpd operating phone - whatever next?
 ...-.- de "mike zero x-ray papa delta"

Vintage Playthings

$
0
0
Just back from a(nother) splendid jaunt in the heavenly surroundings of Pickering, Yorks.

The idea for the trip was conceived back when our trusty (and slightly rusty) 850 estate started to drift beyond economic repair, having traveled further than the distance to the moon...


She went off to the knacker's yard on a very sad day, made more palatable by her replacement...

We went back to see our friendly car dealer, from whom we had purchased the Volvo, intending to buy a sensible (i.e. boring) car, but were seduced by an MX5 in remarkable condition - closer to "showroom" than I've ever seen. The XYL and I couldn't resist and the Mazda became the first of the "Vintage" playthings to which my title refers (although hardly true of an MX5, "Vintage" sounds so much more friendly than "anachronistic" which, in some ways, she is).

In the years BC (i.e. before children) we had enjoyed holidaying in our MGB (which we still have "fermenting" in the garage), but years of estate cars and people carriers full of the paraphernalia of parenting and family life had tempted us into travelling with the kitchen sink. This time, we needed once again to plan before packing our bags - which made me think carefully about fishing tackle and radio tackle. The XYL similarly had to think about her telescopes and ornithological requisites. But it all fitted in surprisingly easily and we had a wonderful, comfortable blast over the top to white rose territory...


We stayed (of course) at The Limes at High Mill,


which is on the North York Moors Railway's boundary fence...


Here you see me operating m0xpd/a on 40m, using a dipole hung from the pole I got from Les, g4hzj, at AM Tools at Norbreck a few weeks back. Fortunately, the pole fitted into the car (along with the FT817, a Norcal 40, a wall-wart power supply and some keys).

The owners at High Mill, Cheryl and Mike, both worked as Radio Operators in an earlier life and so are sympathetic to our hobby - Cheryl didn't bat an eyelid when I strapped the pole to the fence!

Unfortunately, I was greeted by solid S9 QRM across the band 24/7 and didn't have much joy - best dx was to Rudy, ik4vfd, in Parma. It was nice to be able to chat to my neighbour Billy, m0jha (who lives a few clicks away from my home QTH in red rose land) and it is always a pleasure to reach Ian, g3roo, who was operating /m.

As already mentioned, the car forced a re-appraisal of my fishing tackle - an important consideration for trips to Pickering, as my readers already know. I took a three-piece modern 10-foot rod as insurance but also packed the second of my "Vintage Playthings"; a cane rod I built in the early days living in Wyoming.

I had purchased a collection of broken pieces of split cane rods in an alloy tube at a garage sale in Laramie back in the late 80's. I found three pieces that just about added up to a viable rod, stripped, varnished and added fixings and ended up with a pretty museum piece that I thought one day could grace a wall. Well - this last week - the rod came out of hibernation to perform FOR THE VERY FIRST TIME EVER its real function.

You can just see the price I paid on the alloy tube I still use as a rod case for this little treasure...


the $1 rod is hosting a Hardy Marquis #6 multiplier reel, with which it makes a very nicely balanced weapon.

It worked beautifully - I landed 122 fish in a week of fishing before breakfast and early evenings, of which about 20% were privileged to put a bend into the cane rod, as here against the background of ex-Southern loco, SR 825 (Class S15 Maunsell 4-6-0) running back to shed after a hard day's work...


[There is an interesting analogy to be drawn between the way in which a source (such as an amplifier or a fishing rod) drives its load (such as a fly line or an antenna). The source impedance of a split cane rod is very different to that of a modern carbon rod and both the load (the fly line) and the casting technique have to be modified to suit. I'll write about it one day.]

The fishing was - as ever - great at Pickering Trout Lake, as was the friendly atmosphere (although a belligerent member of the Caravan Club couldn't resist complaining about woodsmoke - I suppose it is obvious that the travelling NIMBY takes his back yard with him).

My last "vintage plaything" was triggered by sight of Sir Nigel Gresley (the A4 Class locomotive, not a ghost)...


I remembered I had a Hornby Dublo A4, "Silver King", sitting on 12 inches of 3-rail track on a bookshelf back home - a relic of my first childhood. As I'm well-and-truly into my second, I couldn't resist a peek inside the Pickering Model Shop, which sits opposite the MYMR Station, next to the equally irresistible Elizabeth Botham's TeaRoom (which I also visited - both at Pickering and at Whitby)...


Imagine my delight to discover that 3-rail track can be had second-hand at a reasonable price - a delight so intense that I couldn't just buy an oval of track, but had to buy the whole railway...


Isn't it wonderful how radios and toy railways both run on 12V - "That's the way God planned it".

BTW - I'm allowed to be honest and disparaging about "Toy" trains, 'cos I've built and operated a real locomotive...


Now Silver King has some rails to run over on the dining table back home...


All-in-all, a wonderful holiday, packed full of Vintage Playthings!

...-.- de m0xpd

Post Scriptum

Chatting to the good folks at Pickering Trout Lake, the owner said to me "...or we could just fill it in and use it as a Car Park".

I do most sincerely hope he was only joking. Come on all you anglers - you have been warned - USE IT - OR LOSE IT!

Kanga / m0xpd DDS Shield

$
0
0
I'm pleased to be able to report that the m0xpd DDS shield has been made ready for sale and will soon be available from Kanga-UK...


The schematic is very much similar to that previously reported on this blog - retaining the on-board generation of quadrature square-wave outputs, which allow operation with Software Defined Radios.

In addition to the 0.1 inch header carrying all the oscillator signals, the board also has a BNC output socket making a handy hook-up option for those who want to use it in e.g. a signal generator. 

Here, in the open-source spirit fundamental to the Arduino platform, is the schematic...


To show what it can do, I've put together a VFO system which is rather more fully-featured than the previous version, offering multi-band, multi-mode support, Receive Incremental Tuning, IF offsets, memory, etc...


The new VFO is described over on the "Kanga Resources" page.

I'll let you know when Dennis gets the new DDS shield up on the Kanga website, so you can send in your order HI HI.

...-.- de m0xpd

Sudden Transmitter Shield

$
0
0
After the fun and games with my original Arduino Transmitter Shield and experiments with an ugly version of George, g3rjv's "Sudden" transmitter, I've now closed the loop and built the first prototype of a "Sudden Transmitter Shield"...

The shield includes a buffer/amplifier stage on the input, allowing it either to derive RF from the "RF Bus" which is a common feature of all my Arduino devices (driven by the Kanga/m0xpd DDS Shield) or from any other source (such as a mixer for sideband signals). The shield also hosts a power supply to derive 5V for the Arduino from the conventional "radio" 12V power supply. The DDS Shield is pretty power-hungry and when its 5V is derived from the 12V line by a linear regulator, there's quite a lot of power dissipated - so I think it best to have all the "hot" objects (like this regulator and the PA final) on one shield, where they can sit basking at the top of the "stack".

The keying arrangements follow those used in my own "Ugly Weekender-derived" Tx shield, whilst the remainder of the circuit follows George's words and music closely.

Here's the system with the individual functional blocks annotated...



You can see that I've not fully populated the Rx Mute section - 'cos I've no 2N7000's in stock!

Anybody who doesn't know the Sudden can learn all about it (and learn a lot of useful practical tips besides) by downloading the excellent construction manual from the G-QRP site.

On test, my Sudden Transmitter Shield delivered a nice clean signal through a test 40m Low Pass Filter, when driven by a 7 MHz signal from the Kanga/m0xpd DDS Shield running in the Kanga "Enhanced VFO".

It produced "a shade less than 2 Watts", just as George said it should...


We're looking at ways of making this transmitter shield available for purchase as a kit - once that's sorted, I'll post the complete schematic, in true open-source spirit!

 ...-.- de m0xpd

Arduino DDS Shield Available Now!

$
0
0
Delighted to see that the Kanga / m0xpd Arduino DDS Shield is available for purchase NOW...


Even more delighted to see that Kanga is offering it at (what seems to me to be) a very attractive price!

I've posted some details of construction, testing and applications on the Kanga Resources page.

There are more exciting developments in the pipeline - watch this space!

...-.- de m0xpd

Suddenly, best-ever beacon dx

$
0
0
Last weekend I saw my new Arduino Sudden Tx Shield and the DDS Shield sitting on the bench and an idea struck me - I'd work up a beacon which combined some of the flexibility of my multi-mode beacon with the simplicity of the Arduino beacon.

I took the code I'd developed for the Kanga enhanced VFO system and hacked it to make a beacon capable of sending QRSS FSK-CW, QRQ CW and WSPR.

 Here's the set-up on the bench...


I had arranged for the software to use VFO A of the Kanga Enhanced VFO for the CW transmissions and VFO B for WSPR.

Here's the screen in close-up during the "Rx" phase between transmissions...


Notice the band display at lower right - not only could I adjust the frequency of the transmissions (to fit between other signals showing on the grabbers) but also I could change bands at will (as you'll see later in this post). Here's the display in transmit mode - in this case I'm sending the usual QRSS FSK-CW as you see at the top of the screen...


I started on 40m in the evening of 23 September and immediately got some decent reports on WSPR and QRSS - here's the overnight performance from 23 - 24 September...


Gratifying and consistent with the sort of results I'd obtained before with other beacon systems (Blogs passim) here at m0xpd (although I'd never before been spotted in Bermuda - thanks John, vp9ni !)

 I decided to exercise the flexibility of my new system and switched to 30m for the night from 24 to 25 September and was rewarded by my best-ever beacon performance...


I was so excited by the journey to Oz that it took me a while to notice that Dick, vk7dik, is actually further away in Tasmania. Brilliant.

Also the little beacon had bagged some nice new reports from Greenland and the Canaries (where I've never "been" before). Note further how Chris, 4x1rf (who has received my beacon signals before) spotted this new system's output in Haifa on both 30 and 40m - thanks Chris!

After that exhilarating performance, the next day (today) was a wash-out.

Changes in propagation conditions are seen by the sudden-ness (pun intended) of the "cut-on" as reception wakes up - as seen in this example at pa1gsj...


I also noticed a slight droop in the frequency during the course of reception at the same grabber - a rough "guesstimate" of the gradient suggests the VFO is drooping by about 0.8 Hz/minute in this application...


This is interesting, as its the first shred of non-ideal behaviour I've seen in the DDS module - perhaps it doesn't like sitting close to the 2N3866 sweating away on the nearby Tx shield.

All-in-all a really pleasing result.

Now for the good news - I'm going to be making the beacon software freely available for you to download and use as part of the supporting materials for the joint Kanga / m0xpd projects. It will be a great application for the DDS Shield and (once we get round to completing it) the Sudden Tx Shield.

Watch this space.

...-.- de m0xpd

Occam's Microcontroller

$
0
0
I just arrived home from work to find that our beloved SPRAT has landed on my doormat, in its 156th issue. Perhaps your copy has arrived too.

I am delighted that it contains what the editor, George, g3rjv, generously describes as my "Major Article", which I've given the intentionally oxymoronic (some might just say moronic) title:
"Occam's Microcontroller"...


The article explores the use of microcontrollers within simple QRP projects. One such simple project is the little rig, pictured above (and gracing the front cover of SPRAT 156), which was built to demonstrate the article's ideas.

Neither the article nor the initiatives connected with it deny or detract from the work which experimenters with special digital interests and expertise are conducting in the area of  
"QRP Computing" - 
"If I have seen (any distance at all) it is by standing on the shoulders of giants." 
The present Occam's Microcontroller article deals in simple, accessible ideas of interest to all QRP experimenters, especially those contemplating taking their first steps with digital methods.

The link with our dear Franciscan, William (of Occam /Ockham), is through his famous parsimonious principle, which G-QRP members may have seen paraphrased on various club artefacts such as carrier bags (and indeed on George's email 'signature').

I've taken liberties with the club logo and an image of William from painted glass to produce the icon above, which also serves as a new fixed link at the top right of these ramblings to a dedicated support page of resources for the article, containing full details of the rig - code, hardware and more.

If you're not a G-QRP member, the support page provides links for you to join (and you can download a copy of the article too).

George mentions in his editorial that I have been given the honour of speaking at this year's Rishworth QRP Convention, where you have chance to come and meet the rig pictured above!

...-.- de m0xpd



Following Noble Tyre Prints

$
0
0
Having quoted from the book in my recent article in SPRAT, I was pleased to spend last week in "Five Red Herrings" country.

I was staying just outside Gatehouse of Fleet, at the West Lodge of the Cally Estate - a beautiful place for a holiday (although persons of a nervous disposition might find the interior decor a little overwhelming).

One day, the XYL and I decided to follow the suggestion Wullie Murdoch had given to Lord Peter in Chapter 2...
"Ye maun tak’ the coast-road through Creetown to Newton Stewart ... and turn to the richt over the brig and then to the richt again at the signpost along the road to Bargrennan and juist follow the road till ye turn over a wee brig on the richt-hand side over the Cree and then tak’ the richt-hand road.

We, of course, were starting from Gatehouse rather than Kirkcudbright, but we followed the route as best we were able from there on. Words in italicized yellow are from DLS, the remainder from me.

"(W)e passed through Gatehouse, waving a cheerful hand to the proprietor of the Anwoth Hotel...


As you see, the Anwoth is now called "The Ship Inn".

Next, we "climbed up beneath the grim blackness of Cardoness Castle"...


Joining the west-bound A75, we "drank in for the thousandth time the strange Japanese beauty of Mossyard Farm, set like a red jewel under its tufted trees on the blue sea’s rim"...


Mossyard now farms not just cattle and sheep but also tourists, with cottages and lodges for rent. Its "strange Japanese Beauty" is a reference to the conspicuous stand of sycamores, visible from the main road. Unfortunately, the equally conspicuous red barn (which, I was told, explains Dorothy's "red jewel" similie) has recently been demolished. 

We pressed further along the A75 to find "the Italian loveliness of Kirkdale, with its fringe of thin and twisted trees and the blue Wigtownshire coast gleaming across the bay".  


Unfortunately, much of  Kirkdale's Italian loveliness was obscured by typically dreich Gallovidian weather! 

Behind Kirkdale (and actually before it in a strict, sequential itinerary) is "the old Border keep of Barholm, surrounded by white-washed farm buildings"


Recent renovations have seen the grim granite painted - diluting the contrast with the adjacent farm buildings.

Following the text, we drove on west, always aware of "the huge hump of Cairnsmuir rising darkly over Creetown."


Whilst we were aware of it, we couldn't see Cairnsmore at this point - the picture above was actually taken a couple of hours later from the road between Creetown and Gatehouse Station, near Falbae.

"Then the open road again, dipping and turning – the white lodge on the left, the cloud-shadows rolling, the cottages with their roses and asters clustered against white and yellow walls; then Newton Stewart, all grey roofs huddling down to the stony bed of the Cree, its thin spires striking the sky-line. Over the bridge..."


"and away to the right by the kirkyard, and then the Bargrennan road, curling like the road to Roundabout, with the curves of the Cree glittering through the tree-stems..."



"...and the tall blossoms and bracken golden by the wayside. Then the lodge and the long avenue of rhododendrons – then a wood of silver birch, mounting, mounting, to shut out the sunlight. Then a cluster of stone cottages – then the bridge and the gate..."



The bridge is reached from a right turn off the A714, some 8 miles north of Newton Stewart, near a place called "Clacheneasy" and - fortunately - it is no longer gated!

We followed DLS' description of the route, climbing "the stony hill-road, winding between mounds round as the hill of the King of Elfland, green with Grass and purple with heather and various with sweeping shadows". 

Just like Wimsey before us, we "pulled up as (w)e came to the second bridge"..


where we found not just The (Water of) Minnoch but - surely - the self-same point on that river where Campbell's corpse was discovered (in fiction, at least).

I had always read FIVE believing "The Minnoch" to be a product of Dorothy's imagination. 

Last year, whilst holidaying in nearby Ballantrae, I discovered it is a real river. 

This year, simply by following what turned out to be clear instructions in the text, I found what I am convinced is THE PLACE - a beauty spot which Dorothy surely visited as a tourist herself some 75 years ago.

Here's The Minnoch, looking upstream (i.e. North) from the "second bridge"... 


The Minnoch was in glorious spate after rain the night before. There were any number of points where an artist might wish to erect an easel and from which might slip to an unfortunate accidental death - or from which (s)he might push an already dead fellow artist's corpse to simulate the same accident!


For others repeating this pilgrimage, the second bridge actually takes you across The Minnoch to the visitor centre at Glentrool (or, at least, a mile-or-so east of the village of Glentrool)...


We managed to park our car rather more easily than Lord Peter did, as grass verges are now supplemented by a car park, and the visitor centre provided a fine bowl of soup and pot of tea. Our "cup of happiness was full. (We were a couple) who loved simple pleasures

...-.- de m0xpd

Occam's Dagger

$
0
0
You've heard about his Razor - well now William is tooled up with a new blade - meet "Occam's Dagger"...


It is just as sharp as the original "Occam's Microcontroller" rig, but it packs a much bigger punch in terms of functionality.

Using the extra opportunities presented by the 16*4 alphanumeric display and three push buttons (which could be added to the mix as there were some I/O pins freed up by the display's I2C interface), I've built a menu-driven User Interface. This takes the "root" display from the Kanga Enhanced VFO project, as recently hacked to make a beacon...


and adds Receive Incremental Tuning...


the ability to switch between two "VFOs"...


the choice of CW or CW(Reversed) modes...


band selection (top band through 20m)...


choice of automatic CQ message (CQ, CQ(/a), CQ(/p), CQ QRP and CQ FISTS)...


and keyer speed ("dit" length in milliseconds)...


All of this functionality is controlled with the main rotary encoder and the three buttons...


In normal operation, the rotary encoder changes frequency whilst the left and right buttons move the frequency cursor (to change the digit which the rotary encoder is adjusting). Pressing the "CQ" button initiates an automated CQ call, which can be aborted by touching the key or paddle. Pressing the rotary encoder's push-button invokes menu mode...

In menu mode, the left and right buttons navigate between menus, whilst the rotary encoder selects values in each menu - either adjusting a continuous variable or selecting from a list. Pressing the rotary encoder's push-button exits menu mode.

The rig uses the "stack" of shields  familiar from the original "Occam's Microcontroller" rig...


but, unlike the original rig, Occam's Dagger uses the recently prototyped Sudden Tx shield and a new Rx shield based on g3rjv's "Sudden" receiver, now under development. 

Here's the prototype PCB for the new Rx shield, produced by a guy who was offering a PCB milling service through ebay (seems the service isn't available at the moment - so I can't give you a link)...


More details on the receiver will follow in a later post - suffice to say (for the moment) "it works"!

All of the above was produced to illustrate the principles described in the "Occam's Microcontroller" article, which is an open-source project. The components of the user interface which distinguish it from the previously published rig are shown in the following schematic...


The Arduino sketch which powers Occam's Dagger ("Occams_Dagger_0v1.ino") is available for download here . Copy it if you like or - better still - adapt the methods for use in your own experimental rigs!

I unsheathed the dagger for the first time yesterday afternoon, and answered a CQ from g3mck. Turns out that Gerald (who gave the Dagger 559) was in "Oakham" - not "Ockham", but remarkably close!

You can come and meet Occam's Dagger at the G-QRP Rishworth convention next Saturday - see you there!

...-.- de m0xpd

Arduino Sudden Tx Shield Available Now!

$
0
0
I am delighted to see Kanga's announcement that the Arduino "Sudden" Transmitter Shield is to be launched at the Rishworth G-QRP Mini-Convention at the weekend...


You met my prototype in this post, where I promised that, once the commercial kit was ready, I would "post the complete schematic, in true open-source spirit".

Well - here it is...


As you see from the schematic, the shield hosts not just George's transmitter circuit but also a power supply (to derive 5V system power from the "12V" radio supply) and a flexible input buffer/amplifier arrangement, to allow the transmitter to operate with a range of RF signals (including - of course - those from the Kanga / m0xpd DDS Shield).

The transmitter puts out just under 2W - as I confirmed yesterday by sending WSPR signals on 30m which were received in Tasmania (again) and Venezuela!

There are complete design files (including an Eagle PCB design, suitable for single-layer construction - as in the prototype) on the "Occam's Micro" support page

You can meet the new transmitter shield on the Kanga Products stand at Rishworth.

See you there!

...-.- de m0xpd

Occam's Beacon

$
0
0
Over the past few days I've been running a beacon system on 30m...


Partly to provide opportunity for a soak test of the first build of the Kanga / m0xpd Sudden Tx shield and partly as context to get the beacon code I promised ready for you. Both of these goals are accomplished.

You can download the Arduino sketch for my multi-band, multi-mode beacon system, 'Occams_Beacon_0v1.ino'here.

It uses the same core architecture as the Occam's Dagger rig - except it makes no use of the receiver section (nor, indeed, the automatic CQ call button!). For completeness, here's a schematic of the main components...


and here's the prototype system on the bench...


The system provides WSPR, QRSS (FSK-CW) and (QRQ) CW on a 10-minute cycle...


The band of operation (80, 40 or 30m) is selected by the rotary encoder and (although there are default frequencies included) the frequency of both the QRSS and the WSPR emissions can independently be changed using the rotary encoder, using a menu structure similar to that seen in Occam's Dagger...



If you decide to download the sketch and run it for yourself, you will need to personalize the code for your own use in three ways...

Firstly, you need to add your own call-sign (and a potentially longer message for QRQ morse) - we don't want either my call or the fictitious "x0xxx" in the code ringing out across the ether! These can be any text string (but the beacon doesn't currently support spaces)...


Note that your call in QRSS(3) morse will take quite a long time to send - so, if you have a long call (such as poor OM 2w0joy over in the principality, who I just made up) or start adding  long suffixes like "/mm", the overall timing of the beacon may need changing!

Secondly you need to insert your WSPR message ...


You can generate your WSPR message using the command line utility WSPRcode.exe, as described in this earlier post.

[I plan to modify the Arduino sketch to generate the WSPR message automatically - but I haven't had chance yet. Fortunately for us, Andy, g4jnt, has published instructions which explain the math.]

Finally, you need to set a constant which compensates for the precise frequency of your Arduino's clock (from which overall timing of the beacon is derived), by lying about the number of milliseconds in a minute!


The best way to do this is to run the beacon for a few hours and observe the timing drift (in seconds). Divide the number of seconds of drift by the number of seconds you ran the beacon for. This will give you a small fraction, which you should multiply by the current value of the constant "SixtyThousand" and round to the nearest whole number, n. If your beacon is running slow, SUBTRACT n from SixtyThousand and use that as the new value for SixtyThousand. If it is running fast, ADD n to sixty Thousand. You can repeat the procedure to refine your particular value for "SixtyThousand".

Sounds tricky - but it is easy in practice - you'll get the timing to the point where the beacon will stay in sync over many days.

As you see in the graphic above, I have used a genuine Arduino Uno, which needed a value of SixtyThousand = 59995 and a clone Arduino MEGA, which needed a value of SixtyThousand = 59961. I wonder if the clone used a cheap crystal?!?!

When I have some time, I'm planning to experiment with a simple real-time-clock for beacon timing - which might remove the need to experiment with the more expensive option of GPS! Then again, the crystal in a cheap RTC might be as bad as the crystal in a cheap Arduino clone HI HI.

You need to start the beacon such that its period begins at the start of an "even" minute (0 , 2, 4.. minutes past the hour) for your WSPR emissions to be received. In practice, this means releasing the "reset" button of the Arduino a couple of seconds before the start of the minute, to give the sketch time to start. Practice makes perfect!

The system has been working FB - here's the FSK-CW signal at pa9qv in the initial 40m test...


(you also see one of the QRQ CW bursts at the end of my QRSS call).

Here's the FSK-CW signal at pa1gsj on 30m...


and here are the last few nights of WSPR reception on 30m...



Join in the fun and use this open-source, multi-band, multi-mode beacon with my compliments!

...-.- de m0xpd

Beacon Real Time Clock

$
0
0
Today I lashed up a Tiny RTC module to the "Occam's Beacon" system...


The RTC uses the Maxim DS1307 chip and communicates with the Arduino over I2C, which it shares with the LCD display. There's a battery on the module to keep the clock ticking when the system is turned off.

I've arranged for the code to start the beacon cycle on the next "even" minute after power up - all that remains to be seen is how accurate the long-term time keeping is! If the clock drifts I can correct things as I've added the ability to sync to the "top of the minute" with a button press. The code is a "provisional" version, which I'm still testing - I'll publish when I'm satisfied that it is worthy of your consideration!

tick-tock de m0xpd
Viewing all 220 articles
Browse latest View live