If you look back into a few of my past pictures, like this:
You can see a bit of glare on the board. Sometimes it’s bad, sometimes it isn’t. Most of the time, I see it and move the camera to NOT show really bad glare. This is caused by the florescent lights above my workbench. I needed to get a picture of another board, and the glare was worse than above. Since my cell phone (which tends to be my primary camera) needs the light, I decided to deal with the issue.
The way to deal with this is to use a diffusing disc to diffuse the florescent light and eliminate the glare, like in the diagram below.
And yes, you can hold this with one hand, take a picture with the other hand…
I think I spent $25+ on my diffusing disc at a specialty camera store. However, I’m fairly sure it is no better than the $12 one at Amazon. Additionally, I could use a clip light to put more light on the workbench and still eliminate the glare. The point of the diffusing disc is to scatter the light.
Using this diffusing disc, the glare reduction is pretty obvious in this more recent image:
This is Thanksgiving week in the USA, so the family and I spent some time putting up the Christmas tree, since some of our Thanksgiving guests may not have a chance to come by during the Christmas season (or at least before we clean up the tree).
I decided years ago to move all our Christmas lights to LEDs for several reasons, the reduced current consumption is one of them. The problem that created for us is that our LEDs are too large to fit into some of the ornaments that we have. My wife brought one of those to my attention and I decided to fix the problem using a Stellaris Launchpad that was collecting dust in the basement.
I took a telephone cable and soldered an RGB LED to one end and a plug to the other end that would connect to the ground (through a 330 ohm resistor) and three of the analog pins on the Launchpad.
The code is below:
The final result is:
Nothing like using a very complex tool for something very simple!
Since I fixed my Ten Tec Omni, I’ve used it a little and I’ve had one major complaint: it doesn’t talk to the computer. In fact, in the CQWW contest, I mistakenly logged my first contact on both the incorrect band and the incorrect mode (I was operating SSB on 10m, and it was logged as CW on 160m… never mind that I have never operated 160m CW!).
When I first got it, I started looking at the different inputs and outputs on the back. One is very curious: the VFO in-out, which is shorted together.
So I decided to look into what these jacks do. Enter the oscilloscope to check the voltage coming out of there (so I don’t blow my antenna analyzer).
After checking to insure that there isn’t more than 2 volts peak-peak coming from this (there’s actually about 0.5 volts peak-peak. Once I was sure that it was safe for the antenna analyzer, I took the oscilloscope probe and plugged it into the analyzer to see what frequency that jack used.
I was surprised a little to see that the VFO output for setting the radio at 10 MHz was 5.01 MHz. Then, I started tuning around and seeing a little pattern, which can be seen in the image below:
So each of these tells me basically the offset (within 0.01 MHz)
In order to get the actual frequency to a computer, I need to do two things: build a frequency counter that I can plug into something that sends a serial string to a computer, and get the band that the radio is switched to, which would probably come from this jack:
Sometime in the future (whenever I get back into working on this), I’ll see if I have the connector for that accessory jack and set up something to read it.
The bus pirate Arduino shield is a discontinued item from Dangerous Prototypes. I picked up the PCB via a free PCB coupon a while back, built it a few months later, and then finally decided to use it because I think I have something to use it with. Note the key word – think. This is what happens when a traffic engineer plays with electronics.
The shield was not easy to get started with, mostly because I had to look (and look, and look) for source. I finally found it on Toby Jaffey’s Github Page. Once I loaded it, I found that connecting with Tera Term (and likely any terminal emulator) on that COM port using 19200 baud 8N1 no flow control worked and I was able to play around doing things like:
>led 1 (turns the mode LED on)
>led 3 (turns the mode LED to a fast blink)
led appears to be 0-6, with 0=off, 6=on, and 1-5 are blink rates, slow to fast.
help and version are pretty self-explanatory.
Stay tuned for more, but in the meantime, here’s a picture of the setup.
There’s going to be a lot more to post as I start into this. Incidentally, this is to assist with the Android App.
Last Saturday was the Georgetown Hamfest held by the Grant Amateur Radio Club.
I noticed that during the CQWW contest, I could only get a response from others if I yelled into the mic. I’m sure my wife didn’t care too much for that, and it isn’t good for me, either. So naturally, I went to the hamfest looking for a good mic. I stumbled on a Heil Pro. This is a very small mic, but since it will eventually be attached to an arm, that’s no big deal.
So now I have a mic with a 4-pin XLR connector and need to take it into a 1/4″ stereo jack. I have to deal with impedances (possibly the problem with my current mic, so I may not have truly fixed anything by buying a new mic). Fortunately, I have some known devices to get an idea from. Expect that next week’s blog post will talk about this more in detail.
In the meantime, the mic smells like cigarrette smoke, so I’ve got it sitting in a container of baking soda and will do more later in the week.
First CW QSO… Almost
The big part of getting into the shack Sunday was to do my first CW QSO with another SKCC member that is hunting the prefix award. I couldn’t hear him at all, and he couldn’t hear me. After checking multiple times, I had my daughter hold down the key and I listened on my truck’s radio. I didn’t hear a tone (though I did hear a carrier) and I didn’t see my on the Reverse Beacon Network, so I feared the worst. I checked some of the voltages in the Omni, and finding nothing amiss (and after talking to a few on Twitter about it), I put things back together and looked at things via the Softrock SDR. I was greeted by the sound of a tone, so I guess things are working okay and there was probably another perfectly valid reason why my truck’s radio wasn’t making the tone.
Incidentally, one of the big things I WAS concerned about was that the sound of my rig on the air would be poor, mostly due to the fact that the sidetone generator on my rig is generating a sawtooth (see the video below) instead of a sine wave. Looking at things in SDRSharp put that fear to rest. Hopefully next weekend.
This is Part 2 of God-Only-Knows How Many. Part 1 is here.
A little progress. My weekend was busy with website design for another site I run, the CQWW contest (I spent only around 45 minutes, only 20 QSOs between interruptions of keeping an eye on my kids and some minor radio difficulties), yard work, and taking a cat to a emergency care center (she’ll be fine, but my finances will not be).
Arduino Code: Minor Fixable Frustrations
The Arduino code is in the repository. I’m not going to copy it here, since it is still not working correctly. Over the past week, I’ve tried three different libraries and I think I’ve settled on using adk.h from http://www.circuitsathome.com/ (you can get it from here). What I DO have is an Arduino that once plugged into my Nexus 7, it will tell the Nexus to open the correct app. That’s pretty darn cool. What I do not have (yet) is the intelligence built into the program to initialize the USB and send data. Possibly related to this, it seems like the Arduino only wants to send data when it has a serial connection open (from the Serial Monitor in the Arduino Dev Kit). I have more work to do.
Android Code: Logging, Logging, and More Logging
I have been writing and rewriting the code trying to get something pop into aLogcat or on the app screen with little luck. I have many lines with Log.d and Log.v to see what is going on. The best I’ve had is a “Data recieved” message*. I have more to do here. And as I indicated above, I ONLY see that message if I open the Serial Monitor.
* = The misspelling was intentional. I can’t seem to spell ‘receive’ correctly to save my life, and there is no spell check in Eclipse.
Stay tuned for next week’s episode.
The following is a QST…
Third Annual WATwitter QSO Party Is Announced
Three years ago NR4CB invaded her dad’s shack and started the idea of “Worked All Twitter” while trying to work as many of her twitter friends as she can. This has become an annual event held around the US Thanksgiving holiday. The event runs from Wednesday, November 27 through Sunday December 1st. See more details on The Bionic Nerd blog post.
ARRL Upgrades to Logbook of the World Worked
Last year at this time, many hams referred to Logbook of the World (LOTW) as “Logjam of the World” because LOTW got so far behind due to the deluge of logs from several contests in a row, starting with the CQWW contest. After a few weeks of building queues that were continually growing, the league took the servers offline and ultimately did a lot of work on the server systems.
This year, band conditions were excellent for both days of CQWW. In the hours after CQWW, the worst delay I saw was 1 hour 13 minutes, and as shown below, the queues are not building to the point where they are not releasing within a reasonable time, as evidenced by the fact that there was a 42 second delay at 13:59 UTC and the worse queue listed was five hours earlier). Kudos to the league for fixing the problem. In addition, the league also decided back then to be open about how long the queue actually is.
I will be Running Flying Pig Half Marathon
For anyone that’s kept up with my almost-daily Endomondo spam to Twitter, you may have noticed the distances are ever-increasing and the speeds are increasing as well. I had started “shopping” for a half marathon to run. After telling one of my coworkers that she should run the Flying Pig 10k, she decided she wanted to run the half. Another coworker (and marathon veteran) said she’d run the half. We have another coworker committed to either the half or the full (he just ran Columbus two weeks ago – his first – in a damn good time). We’re working on a fifth person as well. Additionally, I’ve been talking with another local ham that may run it depending on his training/school calendar.
My goal time is below 2:18:00. That’s just under an average of 10.5 minutes per mile. I’ve been running two major parts of the actual course, so by the time this rolls around, I’ll be ready. Of course I know at least half the ham radio volunteers on the course, some of them may cheer me on, at least one will tell me I’m a slowpoke.
This is Part 1 of God-Only-Knows How Many.
I finally got around to working on the easy button – I found a decent (not great, just decent) tutorial on the web that discusses sending the status of a button attached to an Arduino to an Android device. I’ve been making changes and learning about bitmasks and bit shifting (something they never teach traffic engineers!).
The initial (key word!) Arduino and Android code is written and up on Github. Right now, I am writing a test routine that will eventually morph into a functional program. I’ve really only spent time on the Arduino
I took the code from the tutorial link above and made quite a few changes.
Before being able to compile the code, you need the microbridge Arduino headers. Then, you have to fix some of the source files – in usb.cpp, max3421.h, and Adb.h, there is an #include “wiring.h” which needs to be changed to “wiring_private.h”. Once you’ve installed the library (copy the files to the Arduino libraries folder in it’s own folder), the following should (key word!) compile and send a binary output string to the serial monitor based on the buttons that are pressed.
The binary strings on the screen represent the buttons that are pressed in the arrangement of 1abc1 where a is 1 if button 1 (pin 4) is pressed, and 0 if it is not, b is button 2 (pin 5), and c is button 3 (pin 6). So…
10001 = no buttons pressed
11001 = button 1 pressed (pin 4 high)
10101 = button 2 pressed (pin 5 high)
10011 = button 3 pressed (pin 6 high)
11101 = buttons 1 & 2 pressed
11011 = buttons 1 & 3 pressed
10111 = buttons 2 & 3 pressed
11111 = buttons 1, 2, & 3 pressed
IN THEORY, this will all be sent to the Android device and the Android will display what buttons are pressed on the screen. I have that designed, but I haven’t tested it and my Android code won’t compile yet. With luck, that’ll be next week’s blog post.
REVISION: Note the fact that the preceding paragraph says “IN THEORY” in all caps. That means that it really doesn’t work at all so don’t use my code… yet.
On the todo list for this is using interrupts to listen for the button as opposed to listening for a change every 100 milliseconds.
I gave a presentation to the Queen City Emergency Net on October 18, 2013. This was an update of the presentation I gave to Oh-Ky-In last August, which is an update of the Cincinnati FM Club presentation in February, which was an update of the presentation I gave to the Milford Amateur Radio Club a while back. This page is a set of links for those that attended or missed the presentation.
Have an Arduino board but not enough accessories or don’t know where to get started? Seeed Studio has a “Sidekick Basic Kit” that can get you up and running – it doesn’t have an Arduino, but it has a lot of components (etc) to get you started. And it’s $20. Seeed Sidekick Basic Kit ($20)
NOTE: Look hard at what these packs include! There ARE differences.
Raspberry Pis and Beagleboard Blacks can be bought at Mouser, Digikey, and Newark Electronics/Element 14. Raspberry Pi accessories (like the Pi Plate an Pi Cobbler) can be bought at Adafruit or Newark Electronics/Element 14.