We had some extra time at the boy scout shotgun range, so the boys gathered up some unused food and we shot at it. I was elected ‘best shot’ and ‘best choice to shoot stuff’. Here is a quick video of me shooting an egg and being cheered on by the crowd.
Bryson and I completed a 12-day backpacking trip at Philmont Scout Ranch. This was my first time visiting the ranch. I felt lucky to get to go, because I’ve heard stories from people who have worked or visited Philmont and everyone has good things to say about their experiences. The hikes (especially the elevation changes) can be very challenging, but the sites are beautiful, and the staff camps have fun activities like spar pole climbing, rock climbing, bouldering, cowboy action shooting, chuck wagon dinners, campfire shows and more.
Day 0
We arrived at base camp ‘a day early’, which was great because it gave us time to get unpacked, figure out how the dining hall operated, and get orientated. We stopped to eat at Taco Villa in Amarillo and toured the National Scout Museum when we arrived at Philmont.
Day 1
We met our ranger and she guided through meeting all the people and going the processes of getting checked in and approved to go on the trail. It was a day of “go walk over here and meet with this person”. My favorite part thing was the Tooth of Time Traders Store. This store was amazing! It is like REI that only has camping gear, but all the best of everything you need.
We rolled in yesterday about 5:00 and did some stuff like playing volleyball. Ultimately not much. We learned that you get to chant before meals. All I’ll say is seat-belt. This morning, after breakfast, we met our ranger, Bella. We spent the day going through the check-in process. Registration to meds to equipment check-out, back to our tents, to logistics planning meeting, then finally lunch. Crew STINKY stole our chant. They got to eat before us and seat belted and ruined our chant. They were promptly shunned. After lunch we had pack shakedowns, and assigned crew gear. I passed with flying colors. We then had some free time. I ate a delicious chocolate soft serve cone and then went to see cherry trees. They were in front of Villa Philmonte, Wade Phillips’ mansion. The cherries were very yummy. We then walked around the property and Mason tried to break in. I made him see reason. We are planning to do a tour on the way back. When we started walking back to camp it started raining. I forgot my rain jacket. NOT FUN. After dinner, we played some Volleyball, went to a church service, then opening campfire. I’m pretty tired writing this but ready to hit the trails tomorrow. Sleepy. -Bryson
Day 2
This was our first day of hiking. We started at Ponil Trailhead, went to Ponil for activities, then to Flume Canyon to set up camp for the night. I set up my tent amount a stand of trees and close the a stream and could hear the water flowing all night. It was an awesome place. A really skilled brander burned in the Philmont brand into my Nalgene bottle, then we did some roping and root beer drinking.
While trying to help my son with schoolwork, I searched for simple and cheap micro controller tutorial and found the ESP32 series of products. For $15, I bought a starter kit that included the micro controller on a development board, a nice OLED display, 10amp relay board, solderless breadboard, various sensors, LEDs, switches, resistors, and hookup wires. (It also included a non-functional USB cable that caused me some lost time)
A few things that stood out to me that made the ESP32 attractive were:
Can use the Arduino IDE, which means it has huge support and examples, and geared toward the beginner
Code is compatible with Arduino devices, which means all the existing projects built on Arduino devices can be used. (lots of these on the Internet)
Has wifi built in
Has bluetooth built in
Has lots of I/O pins that can be used for inputs, outputs, ADC, DAC, serial, etc.
inexpensive
I was amazed at how fast and easy it was to get started. The development board is powered from the USB port of your computer, and requires no additional wiring to load programs. The hardest thing is adding in ESP32 library to the standard Arduino IDE, which is as simple as searching and clicking “install”.
Libraries added to Arduino IDE to expand functionality.
When libraries are installed, lots of example projects are imported and show up in the File > Examples menu. This was super useful!
I created a simple webpage using javascript that calculates some key data given conveyor speed, pulley size, and PPR resolution settings. It is live at briangallimore.com/conveyorpulses
I created an Automatic Transfer Switch (ATS) using a DPDT (2 switchover contacts) relay and 2 motor contactors linked with a mechanical interlock module.
I drew up a partial set (relay functions) of wiring schematics for a 2014 Bad Boy ZT Elite zero-turn mower. These hand-sketched drawings are based on the wiring diagram provided in the user manual. If you are like me, you need to see a schematic to understand the functionality and the diagram they provided is of limited use. Hopefully, these will help someone else out in the future!
Canoed 65 miles (not including taxi or fishing), 23 portages in BWCA (Boundry Waters Canoe Area) for 9 days and 8 nights. Traveled by van about 2400 miles from Allen TX to Ely MN. The total trip was 13 days and 12 nights. We had 2 crews, with a total of 15 people.
Day 1: 10.1 miles, 4 portages. Started at Prairie Portage, through Basswood Lake, Sunday Lake, Meadows Lake, and Agnes Lake. This was an exhausting day, both mentally and physically. The portages were very hard, the campsite we planned on staying at was already occupied, and the one we found was not great– lots of mosquitos. The highlight was the grilled flatiron steaks for dinner and getting to go to sleep right afterward. Sorted out food rations when at camp and realized we accidentally ate 2 lunches today instead of 1 and were short the meat from 1 more lunch. Our fresh eggs broke and leaked goo all over other items. Already used up 1 of our 5 propane bottles.
Day 2: 6.2 miles. Agnes Lake. A relaxing day, set up hammocks, and a little fishing. I slipped on the rocks near the shore while cleaning a plate and fell right on my tailbone. Very painful in the moment and for weeks later!
Day 3: 14.8 miles, 3 portages. Agnes Lake, Bird Lake, Anubis Lake, Kawnipi Lake. Big push to get through Agnes and on to Kawnipi. Struggled to find one of the portages, got lost once, and didn’t get to a campsite until sunset. Long and hard day on the water. Woke up at 3am shivering from the cold, and realized I needed a pad under my sleeping bag to retain heat.
Day 4: 4.1 miles. Kawnipi Lake. We moved campsites and spent the afternoon fishing. The crew caught enough fish to make a big dinner from it that night. I had the highest fish count of the day with 3. We caught small mouth bass and northern pike. We convinced our crew leader to shorten our trek a little to give us more slack time. Some of us were worried that we might not have enough time to make the return trip if anything went wrong.
Day 5: 6.0 miles, 3 portages. Kawnipi Lake, Keewatin Lake, Agnes Lake. I made the decision to switch out my water shoes for dry socks and boots at each portage. This eats up some time but gives me much better footing and support, which is much needed. The boys don’t have a problem slipping and falling as much as I do!
Day 6: 12.0 miles, 5 portages. Agnes Lake (big waves/wind), Silence Lake, Sultry Lake, Summer Lake, Noon Lake, and Shade Lake. (GPS batteries died) I slipped and fell on a wet slimey rock at a portage and got all my gear wet, including my sleeping bag. That made for a cold night! We accidently found the other crew from our troop and shared their campsite for the night. (it was a huge campsite, so space was not a problem) It was good to catch up and swap stories about our trek so far.
Day 7: 0 miles. Shade Lake. We all slept late, relaxed, took naps, and did some fishing. I made real coffee for the first time, which tasted much better than the instant. The highlight of the day was catching and eating my own fish. (only shared it with Bryson, who paddled me around the lake all afternoon)
Day 8: 8.2 miles, 7 portages. Shade Lake, West Lake, South Lake, a few beaver dams, and Basswood Lake. Camped at the only sandy beach, where we relaxed in hammocks, took naps, swims, and sat in the sun on the beach. The mosquitos were light due to the huge swarms of dragon flys, but the dragon flies disappeared at sundown and the blood-sucking devils had their way with us.
Day 9: 3.6 miles, 1 portage. Basswood Lake to Prairie Portage. A very leisurely float (the wind was at our back the whole time) to the pickup point. We at lunch in the shade under some trees on the lake, and explored the falls at Prairie Portage.
I’ve been working with systems that use 10-digit barcodes. Different systems require that the data be stored in different ways, and I usually can’t decode the values in my head, so I wound up creating a spreadsheet to do the conversion.
I thought this would be a good practice project to teach myself how to use javascript in a webpage. The biggest take-a-ways I learned are:
divide up webpage design into 3 parts: HTML, CSS, JavaScript
JavaScript is linked to HTML elements using id attributes.
Triggers to run your code are created by using event listeners, such as “clicked on” or “value changed”
Here is a link to the webpage if you want to try it out. You can change any of the values in a box and JavaScript will detect the change and recalculate all the other values on the page. https://briangallimore.com/barcodeconverter/
I didn’t bother styling or dressing up the webpage at all (maybe later).
I often work in places that are spread out over large distances and are underground or filled with radio obstructions like thick concrete/steel walls and lots of metal equipment. Getting radios to work takes some infrastructure and money.
Something I usually have access to at these sites: a reliable, isolated, fast network that goes wherever the equipment is at. So I wondered if anyone connected radios to a network to ‘extend their range’. One evening down the rabbit hole taught me that yes, of course, they did! I came across the application “app_rpt” that works with the open-source PBX software “Asterisk“, and that seemed like a good way to go.
Ten years ago, there was a Linux distro freely available that made Asterisk setup pretty simple. I guess they figured out how hard it is to make money giving away free software, so that is no longer available. Then I found the “AllStarLink” project. The ASL has a Linux distribution that has everything you need, all packaged up and ready to go. It is made for amateur radio use over the Internet, but with a little modification, it will work on a local network also.
Server
The server is also a node, and I’ve also seen it called a hub. In my case, it is a virtual machine running ASL beta2.0 and configured to be ‘radioless’ which means the radio type is set to “dahdi/pseudo”pitfall warning: don’t bother trying to use the “stable” ASL 1.01 images. Asterisk won’t start due to a conflict. Best I can tell the Debian updates caused it to break.
in the file /etc/asterisk/rpt.conf, add node definitions for all the other nodes on your local network. For example, the server node is 1500, and my other node is 1501. The default port is 4569
in the file /etc/asterisk/iax.conf, comment out the line by adding a “;” to the beginning of the line in the [general] stanza pointing to the register.allstarlink.org site. This will prevent the server node from attempting to connect. (we are all local, no internet activity)
Node(s)
The nodes are a raspberry pi loaded with the ASL Beta2.0 image with a special USB radio interface. The interface is a sound card that converts the audio and also handles two extra signals needed to make radio communications work: 1) PTT (push to talk) – this is used when the node wants the radio to transmit 2) COS (carrier operated switch) – the radio turns on this signal when the squelch is open to notify the node that someone is talking
When looking for radios, keep a few things in mind: 1) the radio needs to provide a COS signal – I found one that I didn’t have to open up and modify, I could just plug into the speaker/mic jack to get all four signals I need (audio in/out, PTT, COS) 2) you need a license to use most radios (FRS is an exception)
in the file /etc/asterisk/rpt.conf, add node definitions for all the other nodes on your local network. For example, the server node is 1500, and my other node is 1501.
in the file /etc/asterisk/iax.conf, comment out the line by adding a “;” to the beginning of the line in the [general] stanza pointing to the register.allstarlink.org site. This will prevent the node from attempting to connect. (we are all local, no internet activity)
Laptop Software
If you are already sitting in front of a computer that is connected to the ‘radio’ network, there is really no reason you need a radio, your computer can run software that interfaces with Asterisk. I found a windows program called “IaxRpt” that runs on Linux using WINE. It is basically a SIP softphone application with PTT functionality.
To use this software, a few edits have to be made to your server node. In the /etc/asterisk/iax.conf file, find or add the stanza below and set up a password in the ‘secret =’:
[iaxrpt] type = user context = iaxrpt ; Context to jump to in extensions.conf auth = md5 secret = xxxxxxxxxx host = dynamic disallow = all allow = ulaw allow = adpcm allow = gsm transfer = no
in my version of ASL, the /etc/asterisk/extensions.conf is setup with slick variables that get auto-populated with the correct node number and didn’t require any modifications as the wiki instructions indicated
[iaxrpt] ; entered from iaxrpt in iax.conf exten => ${NODE},1,rpt(${NODE}|X)
When creating an account in IaxRpt, use the server’s node number (1500 in my case) as the “account” or “name”. (this was not obvious to me and is required for it to connect) The “host” is the IP address of the server node and the “username” is “iaxrpt”. The “password” is whatever you set “secret” to in the step 3 above here.
Click ‘connect’
Then use the keypad in the software to dial “* 3 1501” (replace 1501 with your node number) — this command connects the server node to the other node. It took me a while to figure out this step was required. I know there are other ways of connecting the two nodes, but the important thing to know is that you have to command it to happen.
Click the “TRANSMIT” button to talk to the other node, which will key up its radio and transmit your voice remotely.