Your design seems very complicated - why is it so?
It seems complicated because I've been very open with how it works, and the unit is intended to be very flexible and versatile. In practice there is little that you really NEED to know, and it is not at all complicated to use. If you use the PC software, it's really simple. If you want to use a dumb terminal or a palm-top to program it, there are twelve very simple commands to learn, and it will be helpful to learn about resolution calculations, but that's all.I have had some trouble with the Exciter resetting when I don't want it to. Sometimes I also lose the EEPROM contents, which is really annoying! Why does this happen?
With this sort of equipment, especially for beacon use, you don't in fact change the settings too often. Fortunately the complication is in the software, not the hardware.
I admit that the Sweep Generator can be complex to control, but the versatility that results makes the pain worthwhile. There are simple techniques for remembering the settings. One of these is to print little calibration strips for the oscilloscope with the frequencies indicated, and also print the settings for that sweep mode onto the strip.
There is now a simpler version of the ZL1BPU Exciter hardware offered by Lyle K0LR which offers good performance with easy to obtain parts. The same (complex) firmware is still used.
Finally, a fully comprehensive User Manual for the Exciter available. Everything you need to know is explained in detail, along with many real operating examples. Most of the manual also applies to the K0LR versions.Complete User Manual in PDF format (2.1MB, A4 format, 41 pages).
User Guide in PDF format (72kB, A4 format, 7 pages).
The micro is sensitive to the speed at which power is supplied, and also to glitches on the RESET and power supply lines. I found that the problem was worst (a) when using a cheap AC adaptor to power the unit, switched on at the AC side, and (b) when the programming cable was connected at the same time as my HF or LF equipment. EEPROM loss is caused because the micro is unpredictable and can partly reset when the supply voltage is below specification, and it can then execute wrong instructions and even scribble on the EEPROM.All this precision and stuff - do I really need it in a simple LF rig?
The answer is to ensure there are no glitches, and to ensure that when the supply is below specification, the reset is held firmly low. I recommend using a Dallas DS1233 or ONSemi MC34064P 3-terminal reset generator, and a good quality power supply. Lyle K0LR also has some suggestions.
Well, it depends on what you want to do. If you plan only to use a single frequency, and only send hand-sent Morse, then just about any LF exciter would do. However, the trend towards QRSS and DFSK with very long dot times, and the use of the fantastic ARGO software for finding weak signals in noise, demands an Exciter that can operate EXACTLY where others expect it to be, and should not drift. The 120 second mode in Argo has a resolution of 5mHz and a bandwidth of only 1Hz! JASON requires exact 252 mHz steps, and extremely high stability. For this type of operation you really need the performance this Exciter offers.Why do the KISS mode commands work in HEX? Wouldn't decimal be easier?
Yes indeed it would! However, the microcontroller simply does not have enough available code space (actually, it doesn't have any!) for the necessary decimal to binary conversion, and HEX is much simpler. The command interpreter already takes up most of the code space.I know you've explained how the Exciter synthesizer works, but it's all too much for me. In layman's terms, what do I really need to know?
Besides, operating in decimal is only the tip of the iceberg, because what you really want is to program directly in frequency, which would involve the microcontroller in floating point division (dividing by the resolution), and there CERTAINLY isn't room in the micro for that! Anyway, the PC software handles all this conversion stuff for you effortlessly.
If you program in KISS mode, you do have to calculate the frequencies by hand, and convert to HEX. You might prefer to write down a list of magic numbers for your favourite frequencies. If you run MAKEBCN (even without the Exciter) and enter the frequencies you want, you will see it display the HEX values you need.
Ah, there's a challenge! The synthesizer micro contains a table of numbers which precisely defines a nice standard sine wave in 256 steps. It can use this information to generate precise carrier signals (sine waves) at any frequency you choose. You give the synthesizer some numbers which it uses to step through and take samples from this sine wave table, and it then gives out numbers to represent the sine wave at the outputs. This is a digital signal processing (DSP) technique, and on the outputs of the micro there is a Digital to Analog converter, consisting of a bunch of inexpensive resistors. This D-A converter, along with a low pass filter, converts these digital numbers into a clean analog sinewave.What are these magic numbers you talk about?
The frequency that results depends on the numbers you give it, the speed at which the microcontroller operates, and the way the software is written, but since these last two are constant, the signal is very clean and stable.
The maximum frequency of operation is limited by some fairly heady theory, but let's say that 1/30th of the crystal frequency is about the upper limit. The lowest frequency is way under 1 Hz (about 12 seconds per cycle!). The micro operates with its own special language, and the PC software does the job of translating your requests into micro-speak.
In addition to the synthesis stuff, the micro also runs some other programs to accept your commands, process your scripts (stored lists of commands),and operate the sweep generator. The sweep generator works by changing the transmit frequency for you in a precisely stepped fashion.
The microcontroller is a Binary device, only understanding zeros and ones. In the micro there's a simple bit of software called a "command interpreter", which can accept commands with Hexadecimal numbers (base 16) and convert them to Binary. Conversion from Decimal is too difficult for the little micro, since there's not enough program space for the conversion software.How do I work out my Exciter's resolution?
In addition to being in Hexadecimal, the numbers are also influenced by the synthesizer resolution. If the step size was exactly one Hz, all would be easy, but there are typically 12.582912... steps per Hz (depends on the crystal frequency), so all the numbers are multiplied by this amount. Here's an example. Say we want to operate on 181400.0 Hz, and we have a crystal frequency of exactly 12.000 MHz. The synthesizer resolution for 12 MHz is 12.582912 steps/Hz.
We multiply 181400 x 12.582912 = 2282540.2368. Take the nearest round number, 2282540, and convert to Hexadecimal - 228254010 = 22D42C16. This is the "magic number" we send to the synthesizer using the F command (i.e. F22D42C). The Windows Calculator in scientific mode makes these calculations easy.
Due to rounding (the need to express numbers without decimal places), the frequency the Exciter will generate in this example will actually be 181399.98 Hz. If you use the PC software to control the frequency, you won't need to know about magic numbers.
It's easy. The maths in the Exciter depends on two numbers multiplied together - 224, because we use 24 bit binary maths, and 9, because there are nine clock cycles in each synthesizer program instruction loop. When you multiply these together, you arrive at 150994944.Is there a crystal frequency I can use which gives sensible magic numbers so I don't have to work them out by hand? Also, I want the synthesizer output to be EXACTLY on 1 Hz steps, not somewhere near. Is there some way to do that?
To discover your Exciter's resolution, divide this number by your exact crystal frequency in Hz. For example, for 12MHz, that's 150994944 / 12000000 = 12.582912 steps/Hz. You will need to know it to reasonable accuracy in order to generate precise frequencies. The PC software includes a calibration function, so you don't actually need to adjust or even know the exact crystal frequency.
Yes there is. If you use a 15.0994944 MHz crystal, you'll have EXACTLY 10 steps per Hz. (You will need to trim the crystal in this case so that the frequencies are precise). Then all you do is multiply by 10 and convert to Hexadecimal. The synthesizer output will be available in exactly 0.1 Hz steps.I would like to use the Exciter to transmit JASON. Is this possible?
Another useful crystal frequency is 9.437184 MHz (16 steps per Hz), which allows you to convert the frequency to Hexadecimal, and then multiply by 16 (shift left). For example, for 181400 Hz, which is 2C49816, just send the command F2C4980 (just add a zero). These suggested frequencies are integer fractions of 150994944, and several others are also useful.
Yes it is. See sample! JASON V0.94 includes "ZL1BPU format" commands as an option. The Exciter with D5 firmware or above, and the JASON software mentioned are compatible; the software also keys the Exciter on and off. You will need to set and store the operating frequency with some other software before the JASON session.I want a signal source (VFO, signal generator, exciter) which operates on several LF bands, not just 136 or 180kHz. What do I do?
The beacon is also JASON capable, although recording the message is a bit of a picnic. I use JASON to send the message in ZL1BPU format, capture it to a file using another PC running Windows Terminal, write down the message without the "A"s, and send it to the Exciter by typing in by hand with the "B" command.
To operate JASON with the Exciter, you MUST use a very good crystal (preferably a TCXO) of between 12.7 and 12.8 MHz. 12.700 MHz is best, but we have determined that 12.800 MHz will work fine. (A final note - good quality 12.7 MHz crystals were used 30 years ago as second conversion crystals in Pye mobile radios - check your junk box!)
Simply tell the Exciter the frequency you need. The Exciter will quite literally operate at ANY frequency from 0.1 Hz to 400 kHz or so. There's only one range, and no band switching. The linear amplifier is broadband and has a 3dB bandwidth of about 7kHz to 250kHz. The lower limit depends on the output transformer. The direct output has lower level, but the frequency response is from DC and extends to beyond 1MHz.Can I use the Exciter for audio frequencies?
To operate on 500kHz (600m), you could use the Exciter with a 16MHz to 20MHz reference (you would need to use the ATtiny2313-20 micro), as this would increase the upper frequency limit to 500 to 660kHz. Alternatively, use the standard design with a frequency doubler. An excellent push-push doubler consisting of a pair of JFETs in Class B with output tuned to 500kHz would be ideal. Just remember to halve all your shift and frequency commands.
Yes you can. If you want 1W at audio frequencies, substitute a simple audio output transformer from a transistor radio for the transformer L1, or directly connect a loudspeaker. Increase the value of C14 considerably, or with a speaker, just short it out. You can also use the Exciter as an audio subcarrier source for an SSB rig. You won't need the power amp - just use the D-A converter output directly, with an attenuator and an isolating transformer.What is the upper frequency limit of the Exciter? Will it operate on medium wave?
If what you really need is an audio signal generator, consider my Function Generator or Decimal Signal Generator designs, which are simpler. They provides sine, square, triangle, ramp and dual tone waveforms. Both also include a sweep generator and a similar KISS mode interface to the Exciter.
The upper frequency depends mostly on the crystal frequency you use. A good guide is to stay below 1/30 of the crystal frequency (e.g. below 530kHz with a 16 MHz crystal). The absolute upper limit is set by the Nyquist Criterion, which in this design is 1/18 of the crystal frequency. To approach this you will need a VERY GOOD lowpass filter. For a narrow range of frequencies, use a bandpass filter, for example using an IF transformer. The filter needs to provide very good attenuation at the sampling frequency (1.777MHz with a 16 MHz crystal).My data sheet shows the clock frequency specification of the AT90S2313 to be 10Mhz, and yet you are suggesting 16MHz! How come? Why not use the AT90S1200 which at least is rated for 12MHz?
Although the PC software is limited to 1/30th of the crystal frequency, the Exciter firmware is not actually frequency limited at all. It will even generate negative frequencies (no obvious effect except frequency shifts and sweep work backwards).
See the comments above about using a frequency doubler or 20MHz clock frequency for 500kHz operation. You can reach the 500kHz ham band, the bottom of the medium wave band, perhaps even as far as 800kHz, but above 250 kHz the power amp will have run out of puff!
Well, if you don't tell Atmel that their parts are too good, then I won't either! I've never had any trouble overclocking the AT90S2313, and it does not get even the slightest bit warm. I recommend 12 MHz or 12.8MHz, and you'll see that Atmel do actually characterize the chip supply current to 15MHz, which at 5V is a dissipation of about 85mW. I've had no trouble at 16MHz, but you might at extreme temperatures with supply voltages below 5V. It would be interesting to try a 6V supply and see how fast it would go!I can't find an AT90S2313 micro - everyone is out of stock! What should I do?
The AT90S1200 is an older design, and lacks many of the nice features of the AT90S2313. For a start, there is no UART, no RAM, and only half as much EEPROM. With the ATTiny2313, ATMEL have already reduced the chip size which is a usual part of silicon fabrication process improvement, and has a marked effect on speed and power consumption.
If you really want to go fast, use the latest ATTiny2313-20, which is rated at 20MHz. It is pin- and code-compatible with the AT90S213. You may have trouble finding the AT90S2313 anyway, so this is the device you want.
I've seen AT90S2313 devices on auction sites recently, but you should now preferably use the current production device, the ATTiny2313-20, which is rated at 20MHz. It is pin- and code-compatible with the AT90S213. Just remember to set the fuses so that it operates from the external crystal.I want to use a TCXO from an old cellular phone as the reference. It operates at 12.8 MHz. How do I do that?
All you need do is connect the output to XTAL1 (pin 5) of the micro, and leave out the crystal X1 and its capacitors. You will also need to check or patch the EEPROM in the micro to give it the correct UART comms rate. Firmware version D5 and later default to 12.800 MHz. This is much the best way to go!I have a high performance frequency reference at 5MHz. Can I use that as the Exciter clock reference?
You could also use an OCXO of 12.8MHz. If you are prepared to forgo JASON operation and restrict the upper frequency performance to 330kHz, a 10MHz OCXO or GPS Disciplined Reference would be an excellent solution for high stability. You may need to add a buffer, as these devices typically put out 1V RMS sine waves, not CMOS levels.
No, not directly, as the frequency is too low. You'd only get to about 160kHz at the output, and the signal shape on the LF bands would not be particularly good. However, it would be a really good plan to triple the reference source by phase-locking an inexpensive 15 MHz crystal oscillator to the precision reference. A simple way to do that is to inject a tiny amount of 5 MHz reference into the crystal oscillator (injection locking). Don't use a class C tripler or phase locked RC or LC VCO, as the phase noise performance would be very poor. The micro clock input is fairly fussy.I want to build your Exciter, but know nothing about programming chips and things like that. What should I do?
You could also use a pair of JFETs as a push-push doubler and operate at 10MHz. There is a simple NIST design with very low phase noise.
You should find a friend who is interested in microcontrollers, and is able to program the chip for you. He'll need to know what crystal frequency you plan to use, and he'll need the software from me. The rest is easy. Perhaps the best way of all is for a group at your local radio club to get together to purchase the kit of parts and have one of the members do all the programming, which is quick and easy to do once you are set up.Can I use this type of synthesizer for a receiver/transceiver local oscillator?
Yes, indeed you can. There are a few points to consider though - first, there are alias products and low level spurs generated by tiny inaccuracies in the D-A converter, and these might cause unwanted reception of very strong broadcast stations on LF. You need to be sure that you use a good front-end bandpass filter in the receiver, and perhaps a good bandpass filter on the Exciter output. Another option would be to use the synthesizer to lock a simple 4046 type PLL in order to remove the spurs.Is a synthesizer like this useful for a BFO?
If you are concerned about the spurs on transmit, perhaps in a transceiver design, don't worry. The close-in spurs are well down, and the only ones to worry about (the sample clock frequency and the first alias) will have gone completely by the time the signal reaches a high Q antenna, even if you use a high powered amplifier.
The third point is that for a local oscillator you will not of course need the power amplifier U3 or the symbol clock chip U4, which is only used by the beacon. The output of the D-A converter is quite high, and is still a nice sinewave even when loaded with 50 Ohms. The output level can be adjusted by shunting resistors or a 100 Ohm pot. At 50 Ohm the direct output is about 50mV RMS. Because it's DC coupled, it also goes right down to zero Hz.
Yes. It offers a very economical solution, because it takes just one chip and one crystal. Obviously the highest suitable IF frequency is about 500 kHz, (great for 455 kHz) and I'd recommend using a 16 MHz crystal for best performance. I recommend using a 455 kHz IF transformer as a pi filter on the D-A converter output. With some simple adaptation to the firmware, you could easily set up the chip for a few pre-programmed offset frequencies either side of your crystal filter, such as for LSB, USB, CW and RTTY, which you could select by grounding spare pins on the chip.I'd like to build a phasing exciter or receiver, but I need quadrature outputs. Is that possible?
If you were really cunning, you might consider using a lower crystal frequency and use the first alias output, say for a 1650 kHz IF, but calculating the required crystal and frequency settings would be interesting! You'd need to use a very good bandpass filter to remove the carrier and lower frequency output.
Certainly, very simple. I doubt however that the performance would rival that of a specialized DDS chip and high frequency ring counter.I'd really like to tune the Exciter with a knob, and have an LCD frequency display on the front panel. Then I could change frequency without a PC. Is that possible?
If you did want to try it, you'd need to reduce the outputs to 4-bit, but by loading a table containing sine and cosine waves in the upper and lower nibbles of the 256 table bytes, you'd be able to achieve quadrature output sinewave signals over the whole frequency range. Split the D-A converter into two 4-bit converters, one on the high bits, one on the low bits. You'll need good identical interpolating filters on the outputs.
If you've got the executable code but not the source code, you'll still be able to find the sine table in the top 256 bytes of memory by looking at it with the Atmel ISP, and you can then patch in your own four bit values. Hint - use the upper nibble of the existing values, and replace the lower nibble with the upper nibble value from 1/4 of the way further down the table!
By the way, the same applies if you'd prefer square wave drive, or want differential square or sinewave drive. Just patch the table and change the A-D converter to two smaller converters. No other changes are necessary.
We'd all like to do that! Yes, it is possible. I had hoped to develop a controller option which does exactly this, using a second micro of the same type, with a rotary encoder for input and an LCD display for frequency readout, directly in Hz.I would like to have two messages in the beacon and be able to choose between them in the field. Can I do that?
I've since changed my mind and will probably instead develop a new Exciter with built-in display and frequency control, using a more powerful processor. Don't hold your breath though - if you want to do it for me, I'd be pleased to give assistance and source code.
Not at present. One of the problems is finding some way to tell the micro which one you want. The other one is a way to indicate where each message starts and stops. It's not insurmountable, but there's no code space left and so far I've not put that feature in.I want to operate a beacon on two frequencies alternately. Can I do that, and if so, how?
At the start of the beacon script, place the frequency command for the first frequency (say FC201234), followed by the first message. Then place the second frequency command and the second message (sorry, they have to be separate messages in the same script, sent alternately).My LF transmitter uses a twice-frequency square wave drive. Can I use this Exciter to control it?
Since the antenna and antenna tuner will invariably have to be switched when you change frequency, use relays to control the antenna and tuner, and control these with a micro controller port (PD2 - PD5). For example, follow the first frequency command with FB00 (relay on PD2 off), and the second frequency command with FB01 (relay on). You can also use this feature to switch power level, switch an amplifier, or change antennas. There is no equivalent of the "X" or "T" in the script, so if you want to power-down before or after changing over, change to zero frequency and send a character or two before you switch.
Yes indeed. The twice-frequency problem is solved by doubling the Exciter output frequency settings, and since the Exciter works to over 400 kHz, that's unlikely to be a problem. Remember that the power amplifier will not be useful above 250 kHz.I want to control the transmitter power in steps from the micro controller. Is this possible?
However you will also find that the FSK shifts are half of what you expect, and the problem will be quite difficult for JASON mode. The I2PHD JASON software does support this double-frequency operation, by changing the shift settings in the software. By manually doubling all the offset commands, the beacon can also be made to operate correctly, as there is plenty of shift range. Very tedious though!
It might be simpler to add a frequency doubler on the output of the Exciter, and use that to drive your transmitter. A simple XOR doubler may suffice in this instance. For square-wave drive, you won't need the D-A converter or the power amplifier. Simply drive the transmitter from the PB7 output (pin 19).
Yes. In fact, this feature was directly supported in the earliest version of the firmware. Use the three controllable outputs (PD2, PD3 and PD4), to drive an R-2R network like the main sine wave output, but with only three bits. If you use an amplifier chip such as the TDA7052A, which has electronic gain control, you can attenuate the signal with a pot and use it to control the amplifier input (Pin 4) of U3 in the schematic), to give eight different power levels. You may need one pot to set step size and another to set the range.I intend to operate a very slow beacon, but I want the message to start precisely on each hour. How can I do that?
The levels are of course set by the P (PORT, POWER) command. Don't try using this feature to shape the start and finish of dots and dashes under PC control, as the transients caused by the commands could cause more noise than the keying transients you are trying to suppress! In addition, you can't easily send individual dots and dashes interspersed with port commands from the beacon script, as each character is a competely formed entity.
It might be possible to adjust the beacon message to last exactly one hour before it repeats, but it would take you days to trim the speed and message content to get exactly what you want, while symbol clock stability would limit accuracy. For high symbol clock accuracy, see the answers to questions below.Why do we need an extra chip (U4) to generate the timing for Morse dots and so on? Why not use the microcontroller's internal timers?
However, the beacon message always starts at the beginning when power is applied, so long as the default mode is beacon operation (M1 to M6 stored). Thus, arrange your message to be a suitable length, and simply remove and reapply power on the hour. You could use a timeclock to achieve this. If you don't want the message to repeat until the next hour, make the message longer than one hour, if necessary changing to zero frequency to give a silent period.
Newer versions of the Exciter firmware (from Version D5b) have an extra beacon script command, 'F0', which turns off the beacon operation. (Note - this is a script command, not a real-time Fxxxxxx or frequency command). Using this at the end of the script, and a timer to reset the Exciter, you can start the message on the hour and have it go for as long as you wish. You could use the chime function of a quartz clock to provide the reset on the hour.
That's a good point. The reason is that because of the very high crystal frequency, the internal timers cannot generate delays longer than about six seconds. If we were to make up dots and dashes by adding together these intervals, there would be unacceptable switching noise on the signal caused by the timer interrupt. At best, it causes the ARGO pictures to have 'beads' on the dashes, and at worst, the signal is unreadable (I know, I tried!) We still use the timer, but instead of using the crystal as reference, we use an external oscillator (U4), which drives the timer at a much lower frequency, about 64Hz. This allows the 16 bit timer to provide very clean signal generation with no switching noise, and bit times as long as 1023 seconds. Dashes are made from a single timed interval, not from three dots strung together.The chip that times the dots (U4) is only an RC oscillator! Is this accurate enough?
By the way, you could use another crystal with U4, but the lower frequency crystals necessary (such as 32.768kHz) are not very reliable with the 4060 chip, and precision timing of the dots is in most cases not all that important. I can generate very acceptable HELL signals and even JASON, with the RC timing reference, simply by trimming the speed with the timer value (the K command). You could also use a pot for precise control. For really high precision, see the question below about higher accuracy.
The stability of the RC oscillator is quite good enough for Morse, QRSS and even JASON. You will need to know exactly what the oscillator frequency is, to allow accurate timing calculations, and you also need to be sure that the oscillator is stable (hence the choice of a good capacitor). The actual frequency into the micro can be anywhere from 50 Hz to 500 Hz.If I need higher accuracy, can I use a crystal reference for the dot timing oscillator U4?
It is certainly possible to use a crystal reference. The most obvious solution is to use a 32.768 kHz watch crystal. The 4060 oscillator circuit requires careful attention to component values for a 32kHz oscillator to be reliable.You describe in MAKEBCN.TXT how to make a file with a text message to download to the Exciter. Can you tell me how to load the message from a dumb terminal?
Much the best way, which several users are doing, is to use a 74HC390 to divide by 100 from the 12.8 MHz microcontroller reference (best to use a TCXO), and then use the existing HEF4060 U4 to divide by 256 down to 500 Hz. You will have to use different calculations for the baud rate (the K command), but there will be sufficient range to reach 120 seconds (for QRSS120). The added advantage is improved resolution at the upper end, to 2 ms, making practical higher speed modes, and fine tuned Morse speeds.
Of course the other advantage of this approach is that the timing of QRSS messages can be so good that you know what to expect each minute of the hour. Maybe even send time signals...
You use the KISS mode B command. After the 'B', you enter the Morse characters you need (that's two HEX characters per Morse character), and the micro will print what you send and follow with a space. The very last character must be 'FF', which is stored to tell the beacon the message has finished, and then send '~' (tilde) to tell the 'B' command that recording has finished.How can I load a graphics image into the beacon, and how do I send it and receive it? Can I have Morse and graphics in the same message?
The Morse characters are entered in standard 'Murphy' format, which means that the bits from right to left of the byte represent dots (zero) and dashes (one), and once they are all assembled, an extra "one" is added to the next spare bit. The intra-character, inter-character and inter-word spaces are generated automatically. The complete list of characters is down towards the bottom of the Technical Aspects page, is available in the source code for MAKEBCN.EXE, and is printed in Appendix B of my book, Digital Modes for All Occasions, ISBN 1 872309 82 8, published by the Radio Society of Great Britain.
Since it's fairly easy to do, and you won't come to any harm by trying it, give it a go to see what happens.
As you've discovered, it can't be done with MAKEBCN. You need to use the KISS mode B command. However, the newer version MAKEBCN2 (and MAKEBCN32) have a 'literal' command, where you can freely define bit patterns.Why does the text slope in graphics mode?
Work out first what you want to send. Graphics are eight bits high, and are sent LSB first, as the transmitter works along each byte from right to left, representing bottom to top, and along the picture from left to right. Bits that are "ones" are transmitted, while bits that are "zeros" are not. For example, the letter "M" might be sent as 1F 08 04 08 1F (work it out). You can see that the characters need not be eight bits high, although the time spent scanning those bits are wasted. Of course the graphics can be anything you like - you're not limited to text - so long as it's 8 bits high or less.
How the graphic images are received depends on the mode. If you use the MFSK mode, you can receive the graphics with ARGO! You need to make sure the speed (K command) and width (A command) are appropriate for the required ARGO setting. Start with dots about 1/3 of the ARGO dot speed and use quite narrow frequency spacing. Remember each new dot in the byte has the spacing value added to it again.
The HELL mode sends on-off dots on a single frequency, and the speed settings are very critical to avoid sloping text. I use two programs to receive this mode. One is the "Slant Correction Mode" in the IZ8BLY Hellschreiber program, which uses a one second scan (you need a setting of eight dots/sec), and the other is an excellent and very sensitive ionospheric sounding tool by Con ZL2AFP, which has a 250ms scan (32 dots/sec). Clearly we need some special software for the slower speeds!
Yes, you can include multiple modes, both Morse and graphics, in the same message, but you MUST include both the mode change and the parameter changes (speed and shift) in the message or one or the other or both messages will be garbled.
Because only one dot can be sent at a time, and since the bottom of the text or graphic column comes out first, with the display moving to the left, the text slopes to the right. The effect can be mitigated considerably by using a higher dot rate, and sending each column several times (i.e. by repeating each byte), but it chews up a lot of memory and sensitivity is reduced, especially in MFSK mode, where the keying sidebands become visible. Repeated columns in Feld-Hell mode stretch out the characters, but are effective at defeating noise.