About K3NG

If you are looking for support for any of the projects on this site, please consult this page.

If you hear me calling CQ MY TEST, I’m operating My Contest. The exchange is RST. It’s your contest as well and you’re welcome to participate in it.

I QSL via LOTW usually within a day or two and prefer this over paper QSLs. I no longer have an eQSL account. If you’re not on LOTW, you should be. It saves paper and it’s fast. It takes a little bit of work to get it set up, but you’ll be glad you did.

My postal address for paper snail mail QSLs is:

Anthony Good

46 Algonkin Road

Jim Thorpe, PA 18229

I QSL 100% with an SASE, however I’m often very slow at paper QSLing. I tend to amass cards for a period of time and then respond to them all at once. Don’t be upset if you send me a PSE QSL card and you don’t hear back from me right away. I *will* QSL sooner or later. If I’m the very last QSL you need for 5 Band WAS or County Hunters, email me and I’ll try to expedite it :-)

Obligatory Memberships and Numbers

Flying Pigs #-326 ~ EPA QRP #68 ~ Feld-Hell #578 ~ SKCC #12482C

Adventure Radio Society ~ Silent Key Society

I enjoy QRP, 6 meters, CW, DXing, making microcontrollers do cool things, and hiking with Amateur Radio. I’m getting into DXpeditioning and you’re going to see me on a big tent-and-generator expedition below 40 degrees south latitude someday. Turn-offs include political discussions, phone operation on 80m, and old people who act like really old people. I will not join FISTS due to the North American chapter leadership’s position on the elimination of the code test and public statements made regarding CW that in my opinion are detrimental to getting new people into CW and amateur radio.

I do not publish my information on QRZ.com these days as it has become a podium for egomaniacs, political wingnuts, and antagonistic moderators. You might want to try using these fine sites for callsign lookups:

Share this:

Like this:

20 responses to “About K3NG”

Hi Goody,
Tnx for attempting a QSO with me on 7040 today. You were clearly copyable to begin with but then got stomped on by other stations and some noise. I did manage to get your name and signal report, though. You were my first QSO with the Tuna-Tin-Two/Sudden Storm combo – putting out about 500 mW to a Cushcraft R8 vertical. Tnx for hanging in there with me. If you think we managed to exchange enough info on the air for a valid contact, I’d like to exchange QSLs to mark my first flea-power QSO.

Every time I’ve had an issue it’s been a server side issue. I see errors that point to database issues or resource exhaustion on the server. I’m guessing the site is too popular and it tends to get overloaded. It is a great site and I miss it when it’s down.

Hi Anthony its been a long time since i fired up the code you have for the yeasu rotor ,i have been busy myself with a icom civ band decoder based on (antenna matrix – ON7EQ ) with lots of help from – Pete VE5VA ,any intentions of maybe adding that to antenna tuner unit you have as its running on a mega 2560 now but might have to redesign the switching for in band and out of band antennas completely ….

Icom support is on the list. I was looking through the code and I think I can follow it as an example. I hadn’t considered automatic switching of antennas based on band, but that’s a great idea I will throw on the list.

Hi Anthony
Pete and i have made good improvements with the original code … to many to name ,but what we are currently sorting out a big stumbling block and has been a terrible bug to resolve and i think we going to have to re-engineer the code as im sure if you look at the code you will notice that
the way in which it works is freq gets mapped to a band then antenna but the correct way as Pete has explained to me is by mapping the freq to a antenna and then to a band to be able to get the correct default antennas assigned ..Hope that helps ..I am also willing to do some basic testing of the code if you like and pick up glitches on the antenna selection on a full time basis… As that gives me a chance to learn more as well :-)

I’ve developed a fairly novel approach to home-brewing a beefy antenna rotator, using a readily available Buehler gear motor and 60:1 gear reducer plus chain drive gearing. It can turn a fairly large array a full 360° in about 45 seconds (about 2800 kb-inches of torque).The enclosure is a 10″ aluminum chef’s stock pot. Now that the rotator is functioning, I’ve turned my attention to a controller. Your Arduino-based project seems to be exactly what I need.

The gear motor operates on 28 volts has a stall current of 5 amps, so I think I need a more robust controller than the standard Arduino shield. I’m a complete newcomer to the Arduino world, so please forgive what are certainly naive questions. In researching online, I have found a board that combines an Arduino development board and an H-bridge capable of handling up to 40 amps surge per motor, and up to 30 VDC supply. (This is the T’Rex board sold by SparkFun; see https://www.sparkfun.com/products/12075.)

My questions are: is there any reason to think that this wouldn’t work to provide the foundation for a heftier version of the controller that you have created? And, are there better, or cheaper, hardware implementations of which I should be aware?

Hi Lew. There are several amateurs using H bridges with my controller, however most of them use Arduino Unos, Megas, or their own homebrew Arduino board using a bare Atmel ATMEGA chip. I’m not familiar with the T’Rex, however it looks like they’ve integrated an Arduino controller with the H bridge electronics, along with other things. My code probably could be made to work with it. At a quick glance I see the functionality is I2C controlled. However, this board is probably overkill. There are H bridge motor control shields available that connect to a stock Arduino Uno or Mega. I use Megas for development these days due to the extra memory, and there’s a cheap source for them (SainSmart).

I see the “Arduino project” motor board handles only 2A per channel / 4A total, so that board isn’t robust enough. I’m sure we could probably locate a third party one that can handle 5A.

There are several folks on the Radio Artisan group with experience with H bridges and hefty rotation systems. I’d recommend you join and see if you could get some advice there: https://groups.yahoo.com/neo/groups/radioartisan/info In the meantime I’ll do some Googling…

Googling around, I’m actually liking the packaging and price of the T’Rex board more. It seems like a pretty good deal. I looked at the sample code a little more and it looks like motor control can be achieved without using I2C commands and just mapping the appropriate control pins. I need to look it over more, but I think you can probably get away with customizing the rotator_pins.h file in my project to make this board work.

I am trying to compile K3NG CW keyer CODE_VERSION “2.1.2014040301-UNSTABLE” on my IDE 1.5.4 but keep getting the following errors. Can you give me any ideas of how to fix that? Thanks and thanks for your great work effort with this!
73 de Arnie W8DU

k3ng_keyer.ino:280:40: error: keyer_features_and_options.h: No such file or directory
k3ng_keyer.ino:281:25: error: keyer_debug.h: No such file or directory
k3ng_keyer.ino:282:32: error: keyer_pin_settings.h: No such file or directory
k3ng_keyer.ino:284:28: error: keyer_settings.h: No such file or directory
k3ng_keyer:347: error: ‘tx_key_line_1’ was not declared in this scope
k3ng_keyer:348: error: ‘initial_ptt_tail_time_tx1’ was not declared in this scope
k3ng_keyer:348: error: ‘initial_ptt_tail_time_tx2’ was not declared in this scope
k3ng_keyer:348: error: ‘initial_ptt_tail_time_tx3’ was not declared in this scope
k3ng_keyer:348: error: ‘initial_ptt_tail_time_tx4’ was not declared in this scope
k3ng_keyer:348: error: ‘initial_ptt_tail_time_tx5’ was not declared in this scope
k3ng_keyer:348: error: ‘initial_ptt_tail_time_tx6’ was not declared in this scope
k3ng_keyer:349: error: ‘initial_ptt_lead_time_tx1’ was not declared in this scope
k3ng_keyer:349: error: ‘initial_ptt_lead_time_tx2’ was not declared in this scope
k3ng_keyer:349: error: ‘initial_ptt_lead_time_tx3’ was not declared in this scope
k3ng_keyer:349: error: ‘initial_ptt_lead_time_tx4’ was not declared in this scope
k3ng_keyer:349: error: ‘initial_ptt_lead_time_tx5’ was not declared in this scope
k3ng_keyer:349: error: ‘initial_ptt_lead_time_tx6’ was not declared in this scope
k3ng_keyer:351: error: ‘initial_qrss_dit_length’ was not declared in this scope
k3ng_keyer:363: error: ‘SPEED_NORMAL’ was not declared in this scope
k3ng_keyer:366: error: ‘default_length_letterspace’ was not declared in this scope
k3ng_keyer:368: error: ‘default_keying_compensation’ was not declared in this scope
k3ng_keyer:369: error: ‘default_first_extension_time’ was not declared in this scope
k3ng_keyer:371: error: ‘ULTIMATIC_NORMAL’ was not declared in this scope
k3ng_keyer:372: error: ‘default_ptt_hang_time_wordspace_units’ was not declared in this scope
k3ng_keyer:373: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:452: error: ‘send_buffer_size’ was not declared in this scope
k3ng_keyer:454: error: ‘SERIAL_SEND_BUFFER_NORMAL’ was not declared in this scope
k3ng_keyer.ino: In function ‘void loop()’:
k3ng_keyer:703: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:719: error: ‘PRINTCHAR’ was not declared in this scope
k3ng_keyer.ino: In function ‘void check_paddles()’:
k3ng_keyer:2590: error: ‘ULTIMATIC’ was not declared in this scope
k3ng_keyer:2591: error: ‘ULTIMATIC_NORMAL’ was not declared in this scope
k3ng_keyer:2672: error: ‘ULTIMATIC_DIT_PRIORITY’ was not declared in this scope
k3ng_keyer.ino: In function ‘void check_ptt_tail()’:
k3ng_keyer:2730: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer.ino: In function ‘void check_dit_paddle()’:
k3ng_keyer:2818: error: ‘PADDLE_NORMAL’ was not declared in this scope
k3ng_keyer:2819: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer:2821: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer.ino: In function ‘void check_dah_paddle()’:
k3ng_keyer:2895: error: ‘PADDLE_NORMAL’ was not declared in this scope
k3ng_keyer:2896: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer:2898: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer.ino: In function ‘void send_dit(byte)’:
k3ng_keyer:2956: error: ‘SENDING_DIT’ was not declared in this scope
k3ng_keyer:2961: error: ‘tx_key_dit’ was not declared in this scope
k3ng_keyer:2963: error: ‘tx_key_dit’ was not declared in this scope
k3ng_keyer:3026: error: ‘SENDING_NOTHING’ was not declared in this scope
k3ng_keyer.ino: In function ‘void send_dah(byte)’:
k3ng_keyer:3051: error: ‘SENDING_DAH’ was not declared in this scope
k3ng_keyer:3056: error: ‘tx_key_dah’ was not declared in this scope
k3ng_keyer:3058: error: ‘tx_key_dah’ was not declared in this scope
k3ng_keyer:3133: error: ‘SENDING_NOTHING’ was not declared in this scope
k3ng_keyer.ino: In function ‘void tx_and_sidetone_key(int, byte)’:
k3ng_keyer:3156: error: ‘SIDETONE_ON’ was not declared in this scope
k3ng_keyer:3156: error: ‘COMMAND’ was not declared in this scope
k3ng_keyer:3156: error: ‘SIDETONE_PADDLE_ONLY’ was not declared in this scope
k3ng_keyer:3156: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:3157: error: ‘sidetone_line’ was not declared in this scope
k3ng_keyer:3171: error: ‘SIDETONE_ON’ was not declared in this scope
k3ng_keyer:3171: error: ‘COMMAND’ was not declared in this scope
k3ng_keyer:3171: error: ‘SIDETONE_PADDLE_ONLY’ was not declared in this scope
k3ng_keyer:3171: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:3172: error: ‘sidetone_line’ was not declared in this scope
k3ng_keyer.ino: In function ‘void loop_element_lengths(float, float, int, byte)’:
k3ng_keyer:3195: error: ‘SPEED_NORMAL’ was not declared in this scope
k3ng_keyer:3219: error: ‘ULTIMATIC’ was not declared in this scope
k3ng_keyer:3220: error: ‘IAMBIC_A’ was not declared in this scope
k3ng_keyer:3220: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer:3220: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer:3225: error: ‘SENDING_DIT’ was not declared in this scope
k3ng_keyer:3228: error: ‘SENDING_DAH’ was not declared in this scope
k3ng_keyer:3261: error: ‘AUTOMATIC_SENDING’ was not declared in this scope
k3ng_keyer:3261: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer:3261: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer:3263: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:3269: error: ‘IAMBIC_A’ was not declared in this scope
k3ng_keyer:3269: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer:3269: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer.ino: In function ‘int get_cw_input_from_user(unsigned int)’:
k3ng_keyer:3444: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:3451: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer.ino: In function ‘void send_tx()’:
k3ng_keyer:3944: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer.ino: In function ‘void switch_to_tx_silent(byte)’:
k3ng_keyer:3954: error: ‘ptt_tx_1’ was not declared in this scope
k3ng_keyer:3954: error: ‘tx_key_line_1’ was not declared in this scope
k3ng_keyer:3955: error: ‘ptt_tx_2’ was not declared in this scope
k3ng_keyer:3955: error: ‘tx_key_line_2’ was not declared in this scope
k3ng_keyer:3956: error: ‘ptt_tx_3’ was not declared in this scope
k3ng_keyer:3956: error: ‘tx_key_line_3’ was not declared in this scope
k3ng_keyer:3957: error: ‘ptt_tx_4’ was not declared in this scope
k3ng_keyer:3957: error: ‘tx_key_line_4’ was not declared in this scope
k3ng_keyer:3958: error: ‘ptt_tx_5’ was not declared in this scope
k3ng_keyer:3958: error: ‘tx_key_line_5’ was not declared in this scope
k3ng_keyer:3959: error: ‘ptt_tx_6’ was not declared in this scope
k3ng_keyer:3959: error: ‘tx_key_line_6’ was not declared in this scope
k3ng_keyer.ino: In function ‘void switch_to_tx(byte)’:
k3ng_keyer:3983: error: ‘ptt_tx_1’ was not declared in this scope
k3ng_keyer:3983: error: ‘tx_key_line_1’ was not declared in this scope
k3ng_keyer:3983: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:3984: error: ‘ptt_tx_2’ was not declared in this scope
k3ng_keyer:3984: error: ‘tx_key_line_2’ was not declared in this scope
k3ng_keyer:3984: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:3985: error: ‘ptt_tx_3’ was not declared in this scope
k3ng_keyer:3985: error: ‘tx_key_line_3’ was not declared in this scope
k3ng_keyer:3985: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:3986: error: ‘ptt_tx_4’ was not declared in this scope
k3ng_keyer:3986: error: ‘tx_key_line_4’ was not declared in this scope
k3ng_keyer:3986: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:3987: error: ‘ptt_tx_5’ was not declared in this scope
k3ng_keyer:3987: error: ‘tx_key_line_5’ was not declared in this scope
k3ng_keyer:3987: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:3988: error: ‘ptt_tx_6’ was not declared in this scope
k3ng_keyer:3988: error: ‘tx_key_line_6’ was not declared in this scope
k3ng_keyer:3988: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer.ino: In function ‘void service_dit_dah_buffers()’:
k3ng_keyer:4422: error: ‘IAMBIC_A’ was not declared in this scope
k3ng_keyer:4422: error: ‘IAMBIC_B’ was not declared in this scope
k3ng_keyer:4422: error: ‘ULTIMATIC’ was not declared in this scope
k3ng_keyer:4423: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer:4423: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer:4430: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:4434: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:4438: error: ‘BUG’ was not declared in this scope
k3ng_keyer:4441: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:4445: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:4447: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:4453: error: ‘STRAIGHT’ was not declared in this scope
k3ng_keyer:4456: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer:4458: error: ‘MANUAL_SENDING’ was not declared in this scope
k3ng_keyer.ino: In function ‘void beep()’:
k3ng_keyer:4473: error: ‘sidetone_line’ was not declared in this scope
k3ng_keyer:4473: error: ‘hz_high_beep’ was not declared in this scope
k3ng_keyer.ino: In function ‘void boop()’:
k3ng_keyer:4480: error: ‘sidetone_line’ was not declared in this scope
k3ng_keyer:4480: error: ‘hz_low_beep’ was not declared in this scope
k3ng_keyer.ino: In function ‘void beep_boop()’:
k3ng_keyer:4489: error: ‘sidetone_line’ was not declared in this scope
k3ng_keyer:4489: error: ‘hz_high_beep’ was not declared in this scope
k3ng_keyer:4491: error: ‘hz_low_beep’ was not declared in this scope
k3ng_keyer.ino: In function ‘void boop_beep()’:
k3ng_keyer:4500: error: ‘sidetone_line’ was not declared in this scope
k3ng_keyer:4500: error: ‘hz_low_beep’ was not declared in this scope
k3ng_keyer:4502: error: ‘hz_high_beep’ was not declared in this scope
k3ng_keyer.ino: In function ‘void send_the_dits_and_dahs(char*)’:
k3ng_keyer:4533: error: ‘AUTOMATIC_SENDING’ was not declared in this scope
k3ng_keyer.ino: In function ‘void send_char(char, byte)’:
k3ng_keyer:4564: error: ‘CW’ was not declared in this scope
k3ng_keyer:4606: error: ‘AUTOMATIC_SENDING’ was not declared in this scope
k3ng_keyer:4666: error: ‘OMIT_LETTERSPACE’ was not declared in this scope
k3ng_keyer:4667: error: ‘AUTOMATIC_SENDING’ was not declared in this scope
k3ng_keyer.ino: In function ‘void service_send_buffer(byte)’:
k3ng_keyer:4786: error: ‘SERIAL_SEND_BUFFER_NORMAL’ was not declared in this scope
k3ng_keyer:4791: error: ‘send_buffer_array’ was not declared in this scope
k3ng_keyer:4791: error: ‘SERIAL_SEND_BUFFER_SPECIAL_START’ was not declared in this scope
k3ng_keyer:4791: error: ‘SERIAL_SEND_BUFFER_SPECIAL_END’ was not declared in this scope
k3ng_keyer:4793: error: ‘SERIAL_SEND_BUFFER_HOLD_SEND’ was not declared in this scope
k3ng_keyer:4794: error: ‘SERIAL_SEND_BUFFER_HOLD’ was not declared in this scope
k3ng_keyer:4798: error: ‘SERIAL_SEND_BUFFER_HOLD_SEND_RELEASE’ was not declared in this scope
k3ng_keyer:4802: error: ‘SERIAL_SEND_BUFFER_MEMORY_NUMBER’ was not declared in this scope
k3ng_keyer:4814: error: ‘number_of_memories’ was not declared in this scope
k3ng_keyer:4823: error: ‘SERIAL_SEND_BUFFER_WPM_CHANGE’ was not declared in this scope
k3ng_keyer:4838: error: ‘SERIAL_SEND_BUFFER_NULL’ was not declared in this scope
k3ng_keyer:4842: error: ‘SERIAL_SEND_BUFFER_PROSIGN’ was not declared in this scope
k3ng_keyer:4845: error: ‘OMIT_LETTERSPACE’ was not declared in this scope
k3ng_keyer:4849: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:4854: error: ‘SERIAL_SEND_BUFFER_TIMED_KEY_DOWN’ was not declared in this scope
k3ng_keyer:4857: error: ‘SERIAL_SEND_BUFFER_TIMED_COMMAND’ was not declared in this scope
k3ng_keyer:4858: error: ‘AUTOMATIC_SENDING’ was not declared in this scope
k3ng_keyer:4865: error: ‘SERIAL_SEND_BUFFER_TIMED_WAIT’ was not declared in this scope
k3ng_keyer:4868: error: ‘SERIAL_SEND_BUFFER_TIMED_COMMAND’ was not declared in this scope
k3ng_keyer:4875: error: ‘SERIAL_SEND_BUFFER_PTT_ON’ was not declared in this scope
k3ng_keyer:4881: error: ‘SERIAL_SEND_BUFFER_PTT_OFF’ was not declared in this scope
k3ng_keyer:4906: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:4913: error: ‘SERIAL_SEND_BUFFER_TIMED_COMMAND’ was not declared in this scope
k3ng_keyer:4915: error: ‘SERIAL_SEND_BUFFER_TIMED_KEY_DOWN’ was not declared in this scope
k3ng_keyer:4916: error: ‘AUTOMATIC_SENDING’ was not declared in this scope
k3ng_keyer:4921: error: ‘SERIAL_SEND_BUFFER_TIMED_WAIT’ was not declared in this scope
k3ng_keyer:4928: error: ‘SERIAL_SEND_BUFFER_HOLD’ was not declared in this scope
k3ng_keyer:4933: error: ‘send_buffer_array’ was not declared in this scope
k3ng_keyer:4933: error: ‘SERIAL_SEND_BUFFER_HOLD_SEND_RELEASE’ was not declared in this scope
k3ng_keyer:4947: error: ‘SERIAL_SEND_BUFFER_NORMAL’ was not declared in this scope
k3ng_keyer.ino: In function ‘void remove_from_send_buffer()’:
k3ng_keyer:4988: error: ‘send_buffer_array’ was not declared in this scope
k3ng_keyer.ino: In function ‘void add_to_send_buffer(byte)’:
k3ng_keyer:5000: error: ‘send_buffer_size’ was not declared in this scope
k3ng_keyer:5003: error: ‘send_buffer_array’ was not declared in this scope
k3ng_keyer.ino: In function ‘void initialize_pins()’:
k3ng_keyer:8595: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer:8597: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer:8601: error: ‘tx_key_line_1’ was not declared in this scope
k3ng_keyer:8605: error: ‘tx_key_line_2’ was not declared in this scope
k3ng_keyer:8609: error: ‘tx_key_line_3’ was not declared in this scope
k3ng_keyer:8613: error: ‘tx_key_line_4’ was not declared in this scope
k3ng_keyer:8617: error: ‘tx_key_line_5’ was not declared in this scope
k3ng_keyer:8621: error: ‘tx_key_line_6’ was not declared in this scope
k3ng_keyer:8627: error: ‘ptt_tx_1’ was not declared in this scope
k3ng_keyer:8631: error: ‘ptt_tx_2’ was not declared in this scope
k3ng_keyer:8635: error: ‘ptt_tx_3’ was not declared in this scope
k3ng_keyer:8639: error: ‘ptt_tx_4’ was not declared in this scope
k3ng_keyer:8643: error: ‘ptt_tx_5’ was not declared in this scope
k3ng_keyer:8647: error: ‘ptt_tx_6’ was not declared in this scope
k3ng_keyer:8651: error: ‘sidetone_line’ was not declared in this scope
k3ng_keyer:8654: error: ‘tx_key_dit’ was not declared in this scope
k3ng_keyer:8658: error: ‘tx_key_dah’ was not declared in this scope
k3ng_keyer.ino: In function ‘void initialize_keyer_state()’:
k3ng_keyer:8965: error: ‘initial_speed_wpm’ was not declared in this scope
k3ng_keyer:8967: error: ‘initial_pot_wpm_low_value’ was not declared in this scope
k3ng_keyer:8969: error: ‘initial_sidetone_freq’ was not declared in this scope
k3ng_keyer:8970: error: ‘default_memory_repeat_time’ was not declared in this scope
k3ng_keyer:8971: error: ‘default_cmos_super_keyer_iambic_b_timing_percent’ was not declared in this scope
k3ng_keyer:8973: error: ‘initial_dah_to_dit_ratio’ was not declared in this scope
k3ng_keyer:8975: error: ‘default_length_wordspace’ was not declared in this scope
k3ng_keyer:8976: error: ‘default_weighting’ was not declared in this scope
k3ng_keyer.ino: In function ‘void initialize_default_modes()’:
k3ng_keyer:9018: error: ‘NORMAL’ was not declared in this scope
k3ng_keyer:9019: error: ‘PADDLE_NORMAL’ was not declared in this scope
k3ng_keyer:9020: error: ‘IAMBIC_B’ was not declared in this scope
k3ng_keyer:9021: error: ‘SIDETONE_ON’ was not declared in this scope
k3ng_keyer:9022: error: ‘CW’ was not declared in this scope
k3ng_keyer.ino: In function ‘void check_eeprom_for_initialization()’:
k3ng_keyer:9043: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer:9043: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer.ino: In function ‘void check_for_beacon_mode()’:
k3ng_keyer:9065: error: ‘paddle_left’ was not declared in this scope
k3ng_keyer:9070: error: ‘paddle_right’ was not declared in this scope
k3ng_keyer:9071: error: ‘STRAIGHT’ was not declared in this scope
k3ng_keyer.ino: In function ‘void initialize_display()’:
k3ng_keyer:9220: error: ‘BEACON’ was not declared in this scope
java.util.zip.ZipException: error in opening zip file

at java.util.zip.ZipFile.open(Native Method)

at java.util.zip.ZipFile.(ZipFile.java:114)

at java.util.zip.ZipFile.(ZipFile.java:131)

at processing.app.tools.ZipDeflater.(ZipDeflater.java:25)

at processing.app.Base.handleAddLibrary(Base.java:2870)

at processing.app.Base$4.actionPerformed(Base.java:1109)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.AbstractButton.doClick(AbstractButton.java:357)

at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)

at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)

at java.awt.Component.processMouseEvent(Component.java:6263)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)

at java.awt.Component.processEvent(Component.java:6028)

at java.awt.Container.processEvent(Container.java:2041)

at java.awt.Component.dispatchEventImpl(Component.java:4630)

at java.awt.Container.dispatchEventImpl(Container.java:2099)

at java.awt.Component.dispatchEvent(Component.java:4460)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)

at java.awt.Container.dispatchEventImpl(Container.java:2085)

at java.awt.Component.dispatchEvent(Component.java:4460)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

This report would have more information with
“Show verbose output during compilation”
enabled in File > Preferences.

Nice website you have with the Arduino ideas.
Since january working but still improving with
software I am running a homebrew beacon
on 4m with ‘the next generation beacon’
as know as PI4-mode. Idea of the group
from OZ2M. Have it run with an Arduino
2560, DDS9850 and the OZ2M’s 4m
transverter+PA. The software I’m writing
is very straight with almost each line a
comment or explanation. For better
reproducability for HAM’s with very less
knowledge about Arduino. If you are
interested contact me. Keeping software
open source will improve experimenting.

Hi
congratulations for your work
I am amateur radio chile
and I need help
I have a mega260 Arduino, LCD Keypad Shield for Arduino relay shield DFRobot and catalex
Please send code for Arduino
thanks
Joel

WRT you arduino antenna tuner article, you mention that “lethal voltages” are present within the tuner. At RF frequencies, one is no electrocuted. I have seen films of people standing barefoot on tesla coils with thimbles on their fingers with 10 foot arcs coming off of the thimbles. Electricity flows over a conductor, not through it. This is known as the “skin effect”. However, if an arc is produced to skin, it will cause an RF burn into the flesh rather deeply. This results in a burn that never “heals”. I know this to be true because in 1971, I was using an poorly grounded antenna tuner in a second floor apartment. The ground wire was 1/4 wavelength long. An arc jumped from the setscrew in the tuner knob, causing an RF burn. About twice a week, I have to snip off the callous that grows out of the skin or it gets quite annoying. So, while contact with high voltage is not a shock hazard, it is a burn hazard and is just plain annoying for what seems to be a lifetime.