A couple of quick video’s showing both the memory and keying functions working. Now i just need to build the circuit for keying the buffer on and off and put that arduino IC onto a board. Won’t be long and I will be designing a PA.
Ok, with my arduino woes out of the way, i can now focus on the transmitter part of the 3 band CW rig project. Cannot rush these things and i might even get this rig working before i die, well we all have goals to shot for. LOL.
So what do I need and how are we going to go about it. For a start I am a paddle guy, single lever paddle to be precise so I need some form of built in electronic keying. A fixed speed is all i need, say 15wpm, most of the people I work from parks are slower cw types so 15wpm is a nice speed. Memory keying would be nice as I will be using the rig mostly for WWFF or SOTA a basic CQ macro and CQ Sota and CQ WWFF are all i need build in. It needs to provide the sidetone and finally this needs to be able to key the transmitter on and off as well.
As far as arduino keyers go, the Arduino CW Keyer by K3NG is probably the duck nuts. Fully feature rich and does everything other than be the other half of your contact. I looked at it, tested it and its bloody awesome, but i really do not need all that complexity so I have decided to roll my own.
So i assembled some bits and bobs and started to write some code. I have it sending nice perfect 15wpm code already using the Piezo as the speaker. I probably will not release this code. I think if you want a full fledged keyer use the one by K3NG and if you are like me and just need a simple keyer for your project, then its time to man up and write some code. It is really not that difficult at all.
So i got this brain wave that it would be nice to use bare IC’s in my projects rather than Uno or Nano board supported on headers. It all seems rather simple don’t it. Buy some IC’s with the bootloader already installed, drop them into your socketed Uno board with its on board AVR programmer and Bobs the uncle who touches you inappropriately at family gatherings.
But Oh No No No No, things cannot be that simple can they. Firstly, ebay is a minefield and while you are probably getting top quality IC’s and not chinesium grade floor sweepings, the term with bootloader can be somewhat vague. Yes the IC will take a bootloader, yes the IC may or may not come with a bootloader, but what bootloader is anyone’s guess.
So armed with what look like a pile of bricks and armed with your google foo, you start to look for answers on the world wide interwebs because the pixies are not going where they are meant to or doing what you want. And here armed with your vague error codes from the arduino compiler you find 100’s of people who have no idea how to fix the problem let alone what the actual case of the problem is telling you all sorts of bullshit. From the IC is bricked and cannot be fixed, from edit this file, edit that file, use a capacitor, use this method of wiring, that method of wiring, this programmer, that programmer.
Well I tried them all and guess what, none of these bullshit explanations made any fucking difference to shit. It all comes down to the stupid who is connecting things together. After trying 6 or so different ways of burning a bootloader i finally got one of the 4 different programmers to actually work, it sent the bootloader to my so called bricked IC’s like a pro and then went on to program some software on the IC as well and made an LED blink.
Oh and don’t ask me how i got it working, i really do not know, this programmer did not work the first 3 times i tried it and today for god knows what reason it worked. Thats arduino for you. I giant pain in the arse when things do not want to happen and a joy to behold when things go well. Your Mileage May Vary.
I watch a bit of blacksmithing on youtube and something these guys often say when they are building something is Need A Tool, Make A Tool. Its a good way to think about life, why run to the store when you can make something now and do the job you are trying to do now.
So, with my breadboard setup, I am wanting to monitor the current demands of everything I am hanging off the one micro as it will eventually be running off solar and batteries and I need to make sure i have a few days of battery supply and enough solar to charge everything up within a days daylight. Don’t want my things turning off and losing precious data.
So i grabbed an Oled display i could not get working out of the box and got it chooching, a voltage and current sensor that i had doing nothing and made them all talk together with some software and she is skookum as frig. So all i gotta do now is wire it up with a nano stick it in a tiny box with some banana sockets and put it in between my power supply and my breadboard and I will always know how much current we are drawing.
So after procrastinating about this for such a long time I finally got around to porting the code over to make it work with the 3.2 inch TFT Display. And seeing as it was pretty much a huge code rewrite, while i was there I added in come new functionality to improve usability. All input functions will now accept the <BACKSPACE> key to erase mistakes. Still to be done, create and use a new logfile and add in some WWFF specific items like park to park and my park details. All in all I am rather please with how this has come along. Each time I spend some time on it, it comes out much more improved.
Arduino Logger TFT Edition Code: TFT_Arduino_logger
Here is a break down of the stack. 3.2inch TFT on the top, followed by the MEGA2560 and underneath it, the shield board with sd card, real time clock and ps2 keyboard interface. Not my cleanest work, but much cleaner than the last build LOL.
And this is the log file data from the video below. Nice clean ADIF that should by rights allow for importing into any other logging application.
And here is a video of the thing in action. Next on the agenda is boxing it up with a 5000mah single cell Liop, charge controller, BMS and Boost converter to make 5 volts, then add in the new code features and this choocher should be awesome as frig.
I have made a little progress with the Arduino Logger updating the previous mess i had made in a box, to something that is going to be neat and tidy and use a TFT display where i can show more data than i could on the 20×4 lcd display.
Everything is now built into the shield that sits below the Mega. SD card will be accessible now without taking off the lid. The real time clock is in the shield board now and hidden from view. Next job will be to wire up a 1 Cell lipo battery pack, charger and boost converter to make 5v to run the thing, Oh and convert the software.
It is a bit of a power hungry thing, close to 200ma.
You know when you are working on some grand Arduino implementation and you only have 2 available Gnd or Vcc pins and you need to then run a ground and power bus just to service the one extra module you are trying to add. It a pain in the arse for sure. But alas poor Yorick not everything is rotten in the state of Arduino, help is at hand. If you have a few vacant digital or analog pins, turn them into outputs and make them either VCC ot GND with a couple of lines of code and pull a pin either low or high. Code is better than hardware. Obviously current limits on pins apply and you cannot pull 100ma, but if the sensor or modules current limits are sparrow fart, then this is a nice way to solve a common problem.
<a href="http://vk4ffab.info/wp-content/uploads/2017/04/IMG_20170422_172842.jpg"><img class="alignnone size-large wp-image-2137" src="http://vk4ffab.info/wp-content/uploads/2017/04/IMG_20170422_172842-1024x768.jpg" alt="" width="863" height="647" /></a>
And here it is in action with a RTC.
Another project i have had going on for sometime an arduino weather station. Got some of it now working on the breadboard and still have some modules to go including RF transmission of data back to an indoors station monitor. More on this to come. Right now, I am just making sure that the libraries are all working and integrating the code together into the one program.