Tuesday, January 30, 2018

A Nut Butter Spatula

I often find myself taking my job home with me, with visions of WiFi firmware, drivers and kernel threads and a million other things rattling around in my head.  Lately I have been spending some time with more concrete art-forms in the evenings and weekends to try to regain some ballance.  This morning, I was scraping peanut butter out of a plastic jar with a table knife, wincing as I felt the metal dig into the plastic, and hoping I wasn't about to feed my kids a bunch of plastic shavings.  So this evening, I set out to to perfect the nut-butter spatula.  I like the way it looks and feels, and I have a whole jar of Nutella to practice with in the coming days!  Here is how I set about making it...

I started off with a piece of Black Walnut from a tree I recently cut on my property while clearing space for a new shop.  The white is the sap wood, and the dark is the heart wood.  Usually you only see stuff made from the heart wood, but I like the contrast and have been carving with both.

I roughed out the blank using a draw knife to cut the wood and a shaving horse to act as a convenient clamp.  You get a lot of speed and power with this combination, and it only takes a minute or so to finish smoothing the sides and start on the handle and blade.  I made the shaving horse myself, and the draw knife came from some German tool company who's name I forget.  In general, I have been very happy with good European hand tools, and I suggest that you spend a bit extra rather than put up with cheap steel and badly formed tools you might get from a mid-grade manufacturer.  When the tools are cutting well, you get nice big and clean shavings, as you can see below.

At this point, I hang up the draw knife and get out a carving knife.  A couple of years ago my brother-in-law gave me and the kids some really nice knives made by Morakniv.  I recently got a smaller version of these and have been using it with good success.  When carving with any hand tool, try to go with the grain of the wood.  If the knife digs in, then you are carving the wrong way.  It can take some practice, but a good clean cut will save you a lot of sanding later!

I have the spatula clean of all splinters, smooth to the touch, and in the final form I am looking for.  The flat end is asymmetrically rounded in hopes that will get the very last Nutella out of the corner of the jar, and also out of the tricky places up near the rim.  Hopefully this will keep people from contemplating cutting the jar in half to get at the remainders!

Growing up, I watched my dad carve large wooden bowls and other really nice items.  He would spend hours sanding until the wood was almost perfectly smooth.  And often, people would find a few faint gouge marks in the wood and let it be known that they would really like to see the tool marks more visible all over the carving.  I have received similar feedback on my simpler carvings.  As a compromise between the urge for perfection and desire to see the hand carved nature, I have been using a relatively fine starting sand paper of 150 or 220 grit.  I sand it briefly to knock down any big edges, and then I quickly move to a 400 grit sand paper to complete the sanding.  This tends to leave many of the gouge or knife marks in the wood, and yet also smooths them so they are soft to the touch.

Now that the wood shaping is done, it is time to apply some finish.  People are going to be eating off of these, so I want a good food safe finish, and something easy to re-apply later as the wood ages.  I got a bit frustrated trying to find just the right thing on line.  Some have ingredients I might not want to eat, and in the end, I just wasn't happy with not knowing exactly where they got their ingredients.  So, we took a trip to the local Co-op and purchased some organic Walnut oil and organic beeswax from a local supplier.  I mixed 4 parts oil with one part beeswax and melted it on the stove.  When cooled to room temperature, it is about the consistency of cold Margarine.  I think next time I may use 5 parts oil, but I am happy with it none the less.

To apply the finish, I use a piece of old pillow case (you do not want something fuzzy like a towel).  I get the wood warm by placing it on a trivet on the wood stove, and then rub the oil and beeswax mixture onto the wood.  I let it sit a bit longer and then wipe it again and place it to the side to cool down.  I had saved up several small butter spatulas and another larger spatula for the occasion so that I could finish them all at once.  If you do not want the trouble of mixing your own finish, then simply using a vegetable oil from the cupboard will work nicely as well.

The end product is smooth with a soft shine.  It also has a wonderful walnut and beeswax smell. Since it is destined to spread nut butter, it will likely never need to be re-finished (the nut oils will do the job automatically).  When washing wooden implements, just use hot water only (no soap).  If the wood ever looks rough, a quick sand with 400 or even 600 grit sand paper and an application of vegetable oil will have it looking as good as new.  If you don't have sand paper handy, just keep using it...over the years, it will become smooth on its own!

Thank you for reading, and good luck with your own projects!

Monday, August 26, 2013

Growing wheat in a Washington garden.

I have been grinding my own wheat flour from grain purchased at the local co-op for a year or two now and have really enjoyed the taste and texture of the flour.  Last fall I went to a local skill-share festival near my home in Ferndale, WA and talked to some of the people who were growing and threshing their own wheat.  It seemed reasonably straight forward, so this spring I tilled an extra 10x20 area in my garden, purchased 1 pound of Glenn Red Spring Wheat from Johnny's Selected Seeds, and sowed the seeds in early spring.

It came up looking a lot like the normal field grass that makes up the yard and surrounding pastures.  I weeded it a bit around the edges as time allowed, but mostly I just let it be and watched it grow.  It grew about waist high in our hot dry summer.

In the middle of August, it seemed ready to harvest.  The wheat berries were a bit crunchy, and the stalks were mostly brown with the seed heads hanging down.  My son Jovan and I set about harvesting it...I with an antique sickle I picked up some where and Jovan with some small garden clippers that he loves to use.

I used a large bucket to hold the wheat stalks while I gathered up a bundle big enough to make into a sheaf of wheat (a bundle that can just be spanned by both hands seems about right).

I picked about 5 long stalks and twised them just so to bind the sheaf.  I could not actually tie them, but just folding them back and tucking them through held well.

It took about 2 1/2 hours to cut and bind the wheat.  It would have been faster if I had fewer weeds to pick out, and in retrospect, I wish I had done an even better job of cleaning the wheat before I bound it into sheafs.  Might have been a bit faster with less garden clippers as well!

I stacked the sheafs in an old kiddie pool and the bucket and left it in the garage until the next weekend.  I think some mice were stripping some stalks each night, and I should have been more careful about keeping the heads elevated as some of the sheafs in the bottom of the kiddie pool were a bit damp by next weekend.

I had previously seen a 'bucket thresher' at the skill-share festival.  Basically, you need a strong drill, a sheet-rock mud mixing paddle and a 5 gallon bucket and lid.  I added a piece of chain to the mixing paddle, connected with some zip-ties.  Cut a hole in the bucket lid to feed the paddle through.  It took about 3 minutes to put this all together once I had the parts.

The basic idea is to cut the heads off the stalks of wheat, stuff them into the bucket, and use the drill to whack things around until the seeds separate from the chaff.  Probably around 1-2 minutes per bucket full (one sheaf).

I used a box fan and the large bucket to separate the chaff from the wheat.  The chaff is generally lighter and so it blows sideways while the denser wheat falls right down into the bucket.  I ended up with a fair amount of kernels still in their husks.  These were too heavy for the fan to blow away, but were not actually clean wheat.  I scooped off what I could each time and ran them through the thresher again when processing the next sheaf of wheat.  Even so, my end product still needs some sorting.  I plan to try threshing by hand with a flail next year, and maybe try tossing the wheat with a shallow basket instead of just pouring it through the fan's air stream to see if that yields a cleaner result.

Each sheaf of wheat yielded about 2 cups of mostly-clean wheat berries.

In the end, I spent about 4 hours threshing and had about 17 pounds of wheat to show for the effort.  To be honest, it was more wheat than I was expecting, but obviously a small part of the effort needed to feed a person for any length of time.

I found the wheat stalks to be quite interesting, especially when you spend some time thinking on what this (and other staple grains) means to the world.  And, when you spend a few hours at harvesting and threshing, you certainly have some time to be thinking as well.  Here's a small bouquet I made for a friend's harvest party.  If I grow wheat again, I think I'll make a few more of these...I imagine they should keep for quite a while.

For those who have never seen a wheat stalk, here are a few heads.  These are probably a bit above normal size, but not by much.

I carefully threshed one by hand and counted out 23 seeds.

All in all, it was a very rewarding experience.  Someday soon I'll finish cleaning the wheat, grind it up, and make some celebratory biscuits!

Friday, November 30, 2012

LANforge Attenuator v1.0 is complete.

It took a bit longer than originally hoped, but today we release the LANforge RF Attenuator, version 1.0.  This system has 3 ATS0760-95 attenuator modules, with 0 to 95.5dB attenuation programmable in 0.5dB steps.  These modules support 0.7Ghz to 6Ghz frequency, so it handles all current WiFi frequencies.  It can be tightly integrated with the LANforge WiFIRE testing tools, and can be used standalone as well.

Full source code, including Arduino shield PCB files are released under GPL and CC-BY-SA licenses.

We are still waiting for the semi-rigid SMA cables (and hoping they will give us a bit better isolation), but even with just the standard double-shielded cable we feel the results are acceptable.  Here is a link to some test results using the LANforge WiFIRE test systems (based on ath9k NICs) and the attenuator.

If you have any questions, please send email to: greearb@candelatech.com

Monday, November 19, 2012

WiFi cable differences

In the previous post, I described how I tried to wrap some cables with copper tape to increase shielding.  That did not work as well as I had planned, and so new cables were ordered.  By now, I've taken to always ordering a few extra cables and I then cut one up to inspect it in more detail.  My first attempt at SMA to SMA patch cables used RG-316 cable, which is just a single-shielded cable.  It turns out this thing leaks RF like a sieve.

In a bit of paranoia, I also cut open one of the LMR-195 SMA to SMA patch cables, which I am using to connect the AP and Station machines to the attenuator.  Per spec, these are >90 dB shielding, and they are shielded with both aluminum foil and a wire braid.  But, in some testing, I found that just grabbing the 3 cables and gently lifting them up above the table they were hanging from took the maximum attenuation from around -86 dB to -65 dB.  This indicates to me that these cables must be leaking more than expected.

To improve the SMA to SMA patch cable performance, I ordered some new assemblies based on KSR-100 cable to connect the attenuator modules to the faceplate.  This cable has an inner aluminum foil shield and standard woven shield on the outside.  It claims >90db shielding, and it did seem better.  (The attenuator project can now go down to about -86 dB signal, and before it was tricky to go below -82).  I now have some supposedly even better SMA to SMA cables on order, for both inside the attenuator and to connect the attenuator to AP and Station machines....

My u.fl to SMA pigtails were also in bad shape.  I was also using pigtails made of RG-178, which is similar to RG-316 but smaller in diameter (and likely even leakier than the RG-316).

After looking and asking around, I found some vendors that would make pigtails wit double-shielded 1.32mm coax cable.  I have not been able to find any details on how well this shielding works, but on other stats, such as attenuation, it seems to perform better than most options that can handle u.fl connectors.  From what I can tell, it is likely that all '1.32mm coax cable' is double shielded, but I am not 100% certain this is the case.  While it seems you can always find a better SMA to SMA cable assembly, I have not found anything that looks better than the 1.32mm cable for u.fl to SMA pigtails.

For comparison, here is a smaller diameter single-shielded pigtail that came standard with a pci-e to mini-pci-e adapter card.

So, for now, I'm using 1.32mm coax for the u.fl to SMA pigtails, and have some 670-141 semi-flexible cable, that claims  > 100dB shielding....

Tuesday, October 23, 2012

RF Signal leakage

The attenuator project has been going well, but we are still working on getting the signal isolation secure enough to take the WiFi signal level to less than about -80 dB.  After a bit of research, we realized that our single-shielded SMA cables inside the attenuator were not really up to the task.  They are made with RG-316 cable, which is only single shielded.  It's hard to get solid numbers on how well it actually shields, but some similar cable was reported to shield at only -50 dB or so.  For the attenuator to work well, we need shielding at > 90 dB.

It is actually fairly easy to order SMA to SMA cables that have double-shielded cable, I had just not realized the importance when ordering the previous batch.  I put in an order for some cables using KSR-100 cable, which has an aluminium shield as well as woven shield, and claims > 90 dB shielding.

But, that will take a week or two to arrive...  I had previously ordered a roll of copper tape, and thought wrapping my existing single-shielded cables with copper tape would add some much needed signal shielding.  After a bit of fairly tedious work, all 6 cables were done and back in the attenuator.

I reconnected the AP and Station machines to the attenuator and ran some more tests.  Throughput was around 340Mbps at lower attenuation levels, which is great performance.  But, even when the attenuator was set to 95 dB attenuation, I still saw signal strength of around -71.  This was significantly worse signal leakage than before!  I then took some aluminium foil and wrapped the (fanless) AP and Station machines as completely as I could, being careful to crimp it in around the cables.  After wasting several yards of aluminium foil, I was disappointed to see that I had at most shaved 1 dB off the leakage.  I removed all the foil...

I knew that the SMA to U.fl pigtails inside the AP and Station were also single-shielded, and even thinner than the SMA to SMA cables.  So, I took those machines apart and copper-clad those cables a well.  While looking closely at the U.fl ends, I noticed that there is a small bit of cable that is without shielding.  I tried to wrap this part with copper tape as well.  I again connected everything together and ran some more tests.  Now the signal level would go a bit lower, around -76 dB with full attenuation.  This is still worse than before I copper-clad anything, but at least cladding the U.fl pigtails seemed to help a little.

At this point, I could only assume that adding copper cladding to the cables in the attenuator made them leak more instead of less.  Perhaps the small amount of signal that leaks out of the cable shielding is then amplified by the copper tape I had added.  I cut open a double-shielded LMR-195 cable and noticed that its foil layer was just under the woven metal shielding (and the woven shielding was under a rubber insulating layer).  Maybe that makes all the difference.  I removed all the copper clad cables and put the unmodified single-shielded cables back in place.

I directly connected some LMR-195 cables from the AP to the attenuator modules.  I had to leave the Station modules using the single-shielded cable since I had only 3 of the correct type of SMA adapters for the LMR-195 cables.  This brought total isolation back up to around -80 dB, right around where I started at the beginning of the day!

There are companies (such as rfmall.com) that sell double-shielded SMA to U.fl cables, so I ordered a few sets of pigtails from them.  I'll try this all again when the new cables arrive.

In summary:  WiFi signal isolation is not trivial.  You have to pay close attention to cable types and connector construction, and solutions that appear obvious may actually exacerbate the problem!

Monday, October 8, 2012

Programmable Attenuator: Rate v/s Attenuation

I spent some time over the weekend integrating the Attenuator with the LANforge hunt script logic.  The hunt script iterates through packet sizes and attenuation settings.  At each iteration, it runs tests and adjusts the transmit rate to find the highest rate that meets constraints (latency, packet-loss, etc).  The best run for each iteration is saved for reporting.

Here's the Hunt Script configuration for this run:

The graphs below are two views of the 3D graph that shows the relationship between UDP payload size, WiFi RX-Signal level, and RX-BPS.  The test case is an AP connected through the attenuator to a WiFi station system.  The test shows that at very low attenuation (less that you would see in over-the-air testing), throughput suffers, and it starts suffering again at around -55 signal quality.  Larger PDU sizes help throughput as well, but at least some of that is because the AP system has a fairly weak CPU and was running lots of other processes when this test was running.  I still need to work on better RF shielding, so the signal does not go below about -75 dBm.

Friday, October 5, 2012

Programmable Attenuator: Arduino Shields

I received the Arduino Mega shields back from OSH Park a few days ago.  I like they look and feel of the boards, and through some stroke of luck, it seems they actually work as designed.  Here are two of the boards, one partially populated with connectors that will be used to drive the Attenuators.

I soldered on the rest of the parts, stealing headers from an Arduino Mega proto-shield.  I put together another LCD Shield from Adafruit.  I don't yet have the front-panel board, so the LCD was wired directly into the headers.  When the front-panel board is ready, the 12-pin header should connect to it.  The front panel will connect to the two rotary encoders (one for menu selection, one for adjusting attenuator values) and the LCD panel.  Here's the new shield running, but without attenuators attached.

A few days later, I found time to install the new components in a new aluminium case.  Stamping the metal is quite costly, so I did it by hand with a hand punch, drill, and lots of quality time with a 'nibbler' to cut out the rectangular holes for LCD and USB plug.  I put the LCD panel hole too low, so it's been hacked a bit and is no longer level.   I need to move the attenuator modules closer to the panel mounting holes so that the cables don't have to stretch quite as far too.  Will be more careful measuring the next one!

With my new attenuator in hand, I set about trying to test it.  I set up two Atom based systems with Atheros 9380 3x3 MIMO wifi adapters.  These each have three antenna, and I connected on to each of the attenuator modules.  After lots of fiddling around, I had the station uploading to the AP at what I believe is near maximum speed, about 330Mbps UDP throughput.  The download speed from AP to Station is only about 230Mbps, but I have not had time to figure out why there is such a discrepancy.  I updated our LANforge software to graph the rx-signal and wifi link speed and ran some tests with the Attenuator.  The attenuation starts at 20 and is adjusted in increments of 5 up the the max of 95.5.  Due to RF leakage in the AP and Station systems, the signal is never completely extinguished, but it does go to about -82 dBm signal, with noise at about -93.  It is still able to pass traffic reliably (at lower rates) at this attenuation.  Here's a graph of the results.  Note that the signal quality is on the left-hand axis, so it is not to scale with the other graph lines.  Overall, it seems that the system handled the test well.