Friday, May 26, 2017
Head Move Donkey V02: progress
After this post on my donkey update I learned some things, much of it from Adafruit Support on the forum in this thread.
First I was concerned with a statement in the MusicMaker Learning Guide "Don't forget to make sure you have a good strong 5V power supply - especially if you're using the 3W 4 ohm speakers! " It turns out that I was able to do what I needed with the 3.7V LiPo--I noticed no difference in output using the 5V 2A wall wart. I was even able to run everything off the 4xAA battery pack (using NiMHs only give 1.2V each, 4.8V total). However, when I added the second Servo. I needed 2 power supplies.
Second I had trouble getting decent volume from an 8Ohm .5W speaker. I was directed to use 4Ohm 3W speakers. I tried an 8Ohm 2.5W speaker I took out of a CRT television amd that was fine, but it's too big for the donkey. I got some 1.25" 4Ohm 3W speakers off ebay, but they did not produce enough sound. The smaller Adafruit version did the trick.
Third, I cooked an SD card and a MusicMaker. I think it was while I was experimenting with power options...I may have mis-connected something. First symptom was that it could not initialize the SD card. I replaced it, and it got past initialization and said it was playing music but it wasn't. Back to Adafruit for replacement board.
The reason for the second Servo is that I decided to move the donkey's tail, too. I move the Servos in opposite directions, just because for grins.
Here's my appearance with the project on Adafruit's Show and Tell. I'm on from about 11:30 to 14:00.
Labels:
+Adafruit Industries,
arduino,
Feather,
Feather Wing,
m0,
samd21,
showandtell
Sunday, May 7, 2017
49 States!
I've been working HF for just over a year, and have been looking forward to qualifying for the ARRL "worked all states" (WAS) award. After starting digital modes in February, I got up to 48 states, leaving just Maine and Hawaii. I did not think ME would be a problem, since I live in Massachusetts, but it proved to be difficult.
This weekend is the New England QSO Party, so I figured that this would be my chance. I am not hearing a lot on 40 meters today (the most likely band for me to hear ME on), but I did get 1 ME confirmed contact...so now I just need Hawaii.
Any HI hams out there wanna help me out?
73, W1LEM
This weekend is the New England QSO Party, so I figured that this would be my chance. I am not hearing a lot on 40 meters today (the most likely band for me to hear ME on), but I did get 1 ME confirmed contact...so now I just need Hawaii.
Any HI hams out there wanna help me out?
73, W1LEM
Monday, May 1, 2017
Head Move Donkey V02 in-process
![]() |
| Adafruit Feather M0, with MusicMaker and PWM/Servo FeatherWing stacked, running the Head Move Donkey code: plays
"Donkey Serenade" while moving the servo about 60 deg right and left to move the head.
|
As described in detail in this post, I recreated a wind-up toy that I bought for my daughter (an infant in 1978) with a Pro Trinket 3V and other components. In the 2.5 years since, I've gotten a little smarter and the available technology has gotten a lot better, so I thought I'd try a version 2. The biggest difference is that I needed fewer components.
![]() |
| Donkey V01 |
In the original, I needed an SD card reader, an amplifier, and a PWM/Servo Board. I still need those things, but the Adafruit Feather System makes it a lot simpler, eliminating most of the wiring and some of the code. Also the Feather uses a ATSAMD21G18 @ 48MHz with 3.3V logic/power and 256KB of FLASH + 32KB of RAM while the Trinket uses the ATmega328P at 12MHz with 28K of flash, and 2K of RAM...so, the M0 is much more powerful.
Power management is slightly different. I was able to power the Trinket from a 4xAA battery pack, using the 3V output to power the SD card and the 6V to power the Amp and servo driver. Logic levels were not a problem. I power the M0 from a 3.7V LiPo and the Servo Wing from the 4xAA--again, the Servo is forgiving with respect to logic levels. I probably should have had separate power sources in V01. One twist is that I'll need a DPST switch to turn on both power sources together.
Donkey V02 Circuit Working
![]() |
| Fritzing Diagram of Circuit |
Labels:
+Adafruit Industries,
arduino,
Feather,
Feather Wing,
m0,
samd21
Wednesday, April 19, 2017
Fun with Robots, IR Decoding, LED Matrix, etc.
![]() |
| Fig 1: Three experiment--two with the samsung remote on the left, one with the Radio Shack remote on the right--to control a +Adafruit Industries 8x8 Bicolor LED Matrix |
![]() |
| Fig 2: +Parallax BOE Bot with 2 IR transmitters aand 2 IR receivers |
IR Decoding the Hard Way
Following the +Adafruit Industries tutorial on IR Sensing, I was able to decode only some of the buttons on my Samsung TV Remote (see Figure 1). Using the remote is a 2-step process: first decode the signals send by the buttons, then use the decoded signals in a different sketch that takes action based on the buttons. Using this method (see the Raw IR Decoder and ircommander code on github), I was able to decode some of the buttons and use them in a sketch.
Quick diversion: I have had big plans to use a 32x32 LED Matrix that I bought in a parking assistant project that will display faces to convey the emotions evoked by a car getting increasingly closer. I decided to use the 8x8 bicolor matrix and backpack to prove the concept, and use the remote to signal which face to display. Figure 1 shows the initialized yellow face (looks orange to me). So, I needed to follow the tutoral for the matrix and backback library.
I was able to merge code from the bicolor8x8 example code in the Adafruit LED Backpack library with code from the ircommander sketch referenced above. After adding the decoded remote buttons to a newly created library (see the IR Sensor tutorial and the project video cited at the end of this post), I was able to change the face on the matrix based on the remote buttons.
I found both the coding aspect and the operation of the technique to be less than perfect. Maintaining a separate library with very long sequences of numbers just to test what button was pressed seems a bit much. In operation, the code seems to reset itself randomly, and only respond to buttons when it feels like. This may be me, and I will investigate, but read on to see a much neater technique.
IR Decoding an Easier Way
After working through the above, I watched Lady Ada work through Chris Young's IRLib2 in one of the Desk of Lady Ada epdisodes cited above. Chris, aka cyborg5, is a frequent visitor to the Adafruit Show and Tell, and has done a lot of great work (see his blog). Both the decoding and the processing techniques are simplifies greatly, and his library handles several IR protocols. The IRLIB2 tutorial describes it all very well. You wind up with one simple code that you supply in a sketch so you can determine what button was pressed--straightforward, and I was able to decode all the buttons with no missed presses. From there it was a matter of simplifying the sketch I wrote earlier to display faces on the LED matrix. Again, the project video shows all this.
Controlling Motors with IR
Since we started with robots, I thought it would be interesting to control motors with IR. It was a simple matter to modify the IRLib2 sketch above to direct the continuous rotation servos. I took code from the BOE-Bot project, and code from the Adafruit_PWMServoDriver library tutorial, and it went smoothly. The servos in the BOE-Bot are different from the Adafruit ones, so I had to go to the data sheet to see what values to use to get them to move as I wanted. I was able to decode all the buttons on the Samsung remote, and used the arrow keys to simulate moving the robot forward, back, left, and right.
I first did this without the PWM Servo FeatherWing. Because the feather is 3V logic, I needed a level shifter to handle the signals from the board to the servos. That worked, but added a few connections and I used the Arduino servo library as opposed to the Adafruit library which allowed for simpler code.
I first did this without the PWM Servo FeatherWing. Because the feather is 3V logic, I needed a level shifter to handle the signals from the board to the servos. That worked, but added a few connections and I used the Arduino servo library as opposed to the Adafruit library which allowed for simpler code.
Another thing I needed to worry about was timer conflicts. I had come across this before, in my Donkey Project, but Chris' tutorial gave a straightforward explanation and solution. The problem is that the servo library uses Timer1 and on the 32u4 Feather IRLib2 does too. It was necessary to go into one of the associated libraries and change one line of code to re-assign the timer. You'll get better instruction in the tutorial than I can give here. Again, the project video shows the results.
![]() |
| Controlling 2 FS90R continuous rotation servos from an Adafruit BLE Feather and PWM Servo FeatherWing |
Trying a Different Remote
A while back, Radio Shack sold some MAKE project kits, including robotics. During an earlier RS bankruptcy, I acquired a RS remote at a big discount and still had it in inventory, so I decided to try it out. Using the IRLib2 approach to decoding, I found the the protocol was not one of supported ones. A look at the datasheet for the PT2248 chip in the remote revealed that ot used the Toshiba protocol. So, I had to go back to the hard way, and I got that to work. See the video.
IR Affects the BOE-Bot
Just for grins, I took out the BOE-Bot, let it runon the floor, and chased it with a remote. The bot's IR retrievers detected the transmissions, and the bot reacted accordingly (moving left or right as if it had detected an obstacle).
Project Video
See the project video on YouTube
Thursday, February 23, 2017
Andy's Ham V20 Virtual Machine Update
When last we left Andy's Ham, in this post, I had Andy's linux ham radio distribution installed in a virtual machine running on a Windows 10 host under Virtualbox. The installation was successful, but I still had to run some software.
The first step was to get the virtual machine to recognize my my Signalink USB. After starting up the VM, in Virtualbox, I went to "Settings/USB" and found "Burr-Brown from TI USB Audio Codec." I ticked that, and for a couple of weeks I could not get the VM to do anything but freeze up. I was pretty sure that that was the Signalink, so I scoured the interwebs for information, to no avail. In desperation, In installed AndysHam on a different physical machine and plugged in the Signalink. The same option appeared in USB settings, and it worked. This time I notice the options for USB controller: 1.0, 2.0, and 3.0. In both cases I had ticked 2.0. However, the computer with the VM has some USB 3.0 ports (see this post on my upgrade). I had not noticed that I had plugged the Signalink into a 3.0 port (I just reached around to the back of the computer and plugged it in where I could). I went back and ticked 3.0 and all was well. The VM did not freeze and the Signalink showed up as an option in the software (fldigi and WSJT-X).
![]() |
| VirtualBox USB settings for Signalink (be sure to enable the correct USB controller) |
If I have WSJT-X (e.g.) running on the host, the guest grabs the USB port for the Signalink and holds it until the VM is shut down. So, I can run the software on the guest, but not the host. On the host, the Signalink is not an option for sound card until the guest is shut down. It may be necessary to redesignate the sound card every time--however, if you plan to use the Signalink in the guest only, this is not an issue.
So, I got AndysHam to work in two environments--on a stand-alone machine and as a guest machine under Virtualbox. There are a couple of things I need to get used to. First, JTAlert does not run on linux. I have been enjoying the features, so I'm not sure I want to give that up. Second, I find the set up a little inflexible. I'm sure I can do what I want to do, but it's been set up to provide most things, and for under-powered computers--which mine is not.
I'll work with it some more, and if I have anything useful to say in the future I will post it here.
Labels:
alinco,
amateur radio,
ham radio,
jupiter,
KB1OIQ,
linux,
signalink,
ten tec,
Tigertronics,
ubuntu
Wednesday, January 25, 2017
Andy's Ham Version 20 VM Installation
I have recently made progress with digital modes. On 2 Meters, I have been successful with packet on my Alinco DR-135. I am considering a Tigertronics Signalink as sound card interface for my Ten Tec Jupiter.
Meanwhile, I need software. I could pursue commercial options like Ham Radio Deluxe, but I decided to explore some free options. I discovered KB1OIQ - Andy's Ham Radio Linux . The advantage is that it includes a variety of free packages, including logging, rig control, satellite tracking, and a variety of others.
I had 3 options for installation:
Meanwhile, I need software. I could pursue commercial options like Ham Radio Deluxe, but I decided to explore some free options. I discovered KB1OIQ - Andy's Ham Radio Linux . The advantage is that it includes a variety of free packages, including logging, rig control, satellite tracking, and a variety of others.
I had 3 options for installation:
- Turn my Windows 10 system into a dual boot, and boot into linux when I want to play radio and Windows for other applications
- Install Andy's Ham on a separate matching dedicated to playing radio
- Install Andy's Ham as a virtual machine (VM), running under Windows
I chose option 3, because dual booting can be a pain and a separate computer can add complexity. Running a VM allows both Windows and linux to be available at the same time. To do that, I needed virtualization software. I chose VirtualBox because I have used it before at work and home. Installation on Windows is simple: download the correct version at the link just provided, and run the .exe. It makes sense to download the Extension Pack and install it, too (honestly, I don't know why that's an option--just always install it).
Once VirtualBox is installed:
- run it and create a VM (follow the prompts--consult the user documentation at the download link if you need to). The only change I needed to make from defaults was disk size--it defaults to 8G but I gave it 20G--Ubuntu says it needs ~20.
- download Andy's Ham (link in the second paragraph above)
- in VirtualBox, click settings, then storage for the machine you created. Next to Optical Drive on the right, click on the CD image and point it to the downloaded Andy's Ham .iso file.

Installing Andy's Ham in a VM - Start the VM--follow the current instructions. For me I chose the "live" option when prompted. When asked for a user id gave it "ubuntu" and presses enter on password (no Password). Once the VM comes up, you can play with the installation, but nothing is permanent until you install to the VN's hard drive. To do that, click on "Debian" at the lower left, an in the menu that pops up click "System" then "Install to Hard Disk." This will take a while, but cannot run unattended because you need to respond to some prompts along the way.
- Restart the VM (click on machine/ACPI shutdown, then double click the machine name), and you're done. One of the prompts you responded to created a user and password--use those to log in to your new machine.
![]() |
| Install Andys Ham to hard drive after starting with "live" option |
![]() |
| Example of how to navigate to some of the features |
Labels:
alinco,
amateur radio,
ham radio,
jupiter,
KB1OIQ,
linux,
signalink,
ten tec,
Tigertronics,
ubuntu
Monday, December 26, 2016
I upgraded my computer--including stupid technician tricks
The last two times I was on +Adafruit Industries #showandtell, my video was unacceptable. That's a minor irritation for me, but the second time I had my seven-year-old-granddaughter on. She was able to get through it, but it was a struggle. Show and and Tell is a Google Hangout, and the minimum requirements include a quad-core processor. I had been getting by with an AMD Athlon X2 dual-core processor and ASUS Motherboard for the 3 years I've been participating by shutting everything else down and running just one tab on Chrome for the hangout, but I guess Google's "enhancements" have rendered my computer obsolete.
The computer was an 8-year old home-build, and has served me well, but I decided that I needed to get my granddaughter on again in fine style, so I bought an AMD 8-core processor and ASUS motherboard. Actually I bought an ASRock motherboard first, but I had some issues with the build (see below) and I read reports of this mobo bursting into flames, so I returned it and ordered the ASUS. I will report here after I try Show and Tell again, but so far it's great.
Additions
I also ordered a new graphics card. I'm not very happy with it. First, the description, the invoice, and the parts list all say it supports DirectX 12. What Newegg sent me supports DirectX 11.2, according to the box. I returned it for replacement, expecting them to fix their error right away. It turns out that they refused to replace it until the receive the one they sent in error. So, I changed it to refund and ordered a new one. I got the new one 5 days before they received the return. To my surprise, it was the same version. Newegg has been good in the past, but this is not good. Over 2 weeks later I still do not have a refund.
In addition, I got this card because Microsoft says that the Windows 10 video capture tool works with AMD Radeon R7 and later. However, it's still telling me that my video card is not good enough for them. More research.
The motherboard has an M.2 slot for what is essentially and SSD stick. When I get around to it, I will add a 250GB SSD using this new, smaller, faster technology.
The motherboard also has COM header for a serial port, Since my ham radios are able to work digital modes through a serial port I ordered one from China and will hook that up to enable me to experiment with digital modes. More learning and excitement!
Since the 650W power supply I had in the machine had failed recently, I had replaced it with a 800W supply. Underpowering a system is an invitation to frustration, so if you're upgrading, don't forget to be sure that you have a power supply that will meet all the requirements of your new system.
The motherboard has an M.2 slot for what is essentially and SSD stick. When I get around to it, I will add a 250GB SSD using this new, smaller, faster technology.
The motherboard also has COM header for a serial port, Since my ham radios are able to work digital modes through a serial port I ordered one from China and will hook that up to enable me to experiment with digital modes. More learning and excitement!
Since the 650W power supply I had in the machine had failed recently, I had replaced it with a 800W supply. Underpowering a system is an invitation to frustration, so if you're upgrading, don't forget to be sure that you have a power supply that will meet all the requirements of your new system.
Stupid Technician Tricks
I won't go into detail on the big one (it's embarrassing and I know better), but here are some suggestions for installing an AMD CPU on a motherboard:
- lift up the lever next to the pad on the motherboard
- align the arrow in one corner of the CPU with the arrow on the motherboard pad (also check the pattern of the CPU pins to be sure they align with the pattern on the pad
- only after the CPU is seated properly, push the lever down
- check that everything is secure BEFORE adding the heatsink/fan assembly
Enough said, except that the overarching recommendation is "Take your time!"
The only other problem I had was minor: the hard drive light was not lighting. Obviously, I connected it wrong. Lesson: double check your connections before you plug in the unit, and check that everything works before putting the case all back together.
Activation
Initially, I thought I may need to buy a new copy of Windows, but I read up on Microsoft's digital license policy and made sure that I was all set up. I had Windows 10 Pro, installed as part of Microsoft's free upgrade program. Since I had purchased Windows 8.1 Pro, it upgraded me to Windows 10 Pro. After I fired up the machine I was not asked to activate Windows (although Office 2010 did ask to be activated--quick and easy). I did get a message "you need to fix your Microsoft Account." Google revealed that I needed to update a user. When I went in to do that I was told I couldn't because Windows wasn't activated. I went through the activation process--which tells you you need to buy a new copy but has a non-prominent link "I recently upgraded my hardware." I clicked that, and after a couple of "our servers are down" messages, I was able to activate. Done,
I use Norton Security provided as part of my subscription to Comcast. Norton said it had expired. I couldn't convince it that it hadn't, and Comcast help was typically useless, so I uninstalled it and reinstalled and all was forgiven.
Summary
I have a fast new machine that should work with the Adafruit Show and Tell Google Hangout. Everything is activated. I have and upgrade path to an SSD and will have a serial port to use for ham radio digital modes as soon as it arrives. Overall I'm happy with the build.
The only issue is the video card. I read on the interwebs that others with this card have had the problem Windows 10 video capture. I'm working on it.
Labels:
+Adafruit Industries,
+charlesplatt,
amateur radio,
diy,
ham radio,
showandtell
Subscribe to:
Posts (Atom)










