Long Range Vehicle Sensor Using Data Radios

Here is another fun project I just finished up.  My client wanted to be able to know if a vehicle (a train actually) is coming from a mile away.  We used a Banner radar sensor in retroreflective mode, a Banner DMX100 controller/radio, and a DX80 multihop radio.  The system can be expanded with additional repeaters if more range is needed.  I used power tool batteries because they are easy to replace, relatively inexpensive, and high quality.  Here is a short video showing a test I did in my neighborhood of the setup (without proper mounting hardware)

Posted in Industrial Automation | Tagged , , , | Comments Off on Long Range Vehicle Sensor Using Data Radios

Full Size Remote Control Boat

Here is a fun project I did for a client that needed a way to safely crash a boat for a test.  I used an inexpensive model RC transmitter and receiver, two robotics motor controllers, a linear actuator, a DC gear motor, distance sensor, sprockets and chain, and come custom brackets to make a 23 foot fishing boat remote controlled!  Since the boat was going to be crashed, I didn’t spend too much effort making things super nice, but it all worked well enough for their test.  Here is a quick video of the components and how they work:



Posted in Industrial Automation | Tagged , , , | Comments Off on Full Size Remote Control Boat

Pro Audio Cables – Typical Connections

I ran across this diagram of typical pro audio cables and their pin outs, so I’m saving it here:

Posted in How-To | Tagged , , | Comments Off on Pro Audio Cables – Typical Connections

Virtual Network Interface Shared with VMWare and VirtualBox

Here is how I set up a dummy (virtual) network interface on my linux (Mint/Ubuntu) host computer to create a local network that guest VMs in both VMWare and VirtualBox could access.  This network allows resources sharing among multiple guest VMs, no matter which platform they are running under, and the host computer.

$ sudo modprobe dummy
$ sudo ip link set name eth99 dev dummy0
$ sudo ip link set eth99 up
$ sudo ip link set eth99 arp on
$ sudo ip addr add dev eth99

Now I have a new network interface that is up all the time, regardless if I have working wifi or a cable plugged in to my host computer.

Setting up the VirtualBox guest was easy:
– select ‘bridged’ and choose the name of the adapter (eth99)

VMWare Workstation required a couple of steps: Continue reading

Posted in Uncategorized | Comments Off on Virtual Network Interface Shared with VMWare and VirtualBox

How to: Linux Dual Boot on Dell 7710 with Windows 10, NVMe SSD, and UEFI

subtitle:  Linux doesn’t see Samsung SM951 M.2 PCIe NVMe SSD on Dell Precision 7710 laptop preloaded with Windows 10

Here are the steps I took to get LinuxMint 18 installed on a laptop with a NVMe SSD and UEFI while still retaining the original Windows 10 installation:

  1. Within windows drives management, shrink the OS partition and leave the remainder unused (to create room on the for Linux)
  2. Within windows, disable quick boot (in power settings) (causes corruption problems if you leave it on in a dual boot situation)
  3. Within the BIOS settings (F2 during startup):
    1. go to System Configuration, SATA operations, change from RAID ON to AHCI.  (This allows Linux to see the NVMe SSD, but breaks the windows boot process)
    2. disable secure boot
  4. Boot windows to safe mode, let it fix the problem, reboot and test windows boots normally.
  5. Insert bootable USB stick with Linux live CD, choose USB in startup menu (F12)
  6. Choose “something else” during install
    1. partition unused space as EXT4
    2. partition a linux swap space
    3. specify the new partition to be used for the root “/”, and select “format”
    4. it doesn’t matter what you select for “Device for Boot Loader Installation”, it will add it to the boot menu automagically

links to good information on this subject:

Posted in How-To | Tagged , , , , | Comments Off on How to: Linux Dual Boot on Dell 7710 with Windows 10, NVMe SSD, and UEFI

Convert Allen Bradley Logix 5000 Time to Unix Time (Epoch)

My favorite time format for time stamping events is to use Unix Time.  The AB Logix 5000 controllers offer time in a format that is similar, but requires some conversion.  Here is code for a RedLion device that does that conversion.

Screenshot from 2016-07-28 17:24:19

Continue reading

Posted in Industrial Automation | Tagged , , , , , , , | Comments Off on Convert Allen Bradley Logix 5000 Time to Unix Time (Epoch)

Convert Unsigned Integer to Float

I’m working with a RedLion device that treats integers as signed, and they don’t provide the function needed to convert an unsigned integer into a floating point.   Here is some code that will treat the 32 bit register as an unsigned integer and convert it to a double precision float.

Screenshot from 2016-07-28 14:40:53

//convert 32 bit unsigned integer to a float (returned as a string)
// Sparky Geek, LLC July 2016

// in signed integers, negative numbers are represented by the two's complement of the absolute value
// the task for this program is to undo this situation (just ignore the two's complement format)
// check to see of the MSB (AKA 'sign bit') is set 
// --- if it is, mask the MSB, read as a signed number, then add 2^31

int working;
cstring result;
int mask = 2147483647; //2^31-1, or 1 zero followed by 31 ones

if (uint_in < 0 ) // check to see if MSB is set
 working = uint_in & mask; //bitwise AND to only pay attention to the least significant 31 bits, filter out MSB
 IntToR64(tmp.TagA[0],working); //have to use tag, since we can't create a local array, convert to double precision float
 TextToR64("2147483648",tmp.TagB[0]); //convert 2^31 to double precision float
 AddR64(tmp.TagC[0],tmp.TagB[0],tmp.TagA[0]); //add the value 2^31 back in, since this is what we masked out earlier, store as a double precision float
 IntToR64(tmp.TagC[0],uint_in); // if the MSB was zero, the function will work as it

result = AsTextR64(tmp.TagC[0]); //convert to string to pass back from program

return result;
Posted in Industrial Automation | Tagged , , , | 1 Comment

Debounce Code for Logix 5000

Here is a Screenshot from 2016-07-15 11:56:04way to debounce the on and off signals in a Logix 5000 PLC:

Posted in How-To, Industrial Automation | Comments Off on Debounce Code for Logix 5000

Michael Badnarik Explains how in Increase your Constitutional Kung Foo

20160213_175827~2 When Michael Badnarik (constitutionpreservation.org) left Texas almost 5 years ago, I was bummed because I figured I wouldn’t ever have a chance to take his constitution class again.  I was late to the liberty movement and seemed to miss some of the experiences that the veterans had.  It turns out he is back in Texas.  A few local patriots organized one of his classes in Richardson that I jumped on as soon as I heard about it.

His class was great.  I spent most of the time smiling because I had an idea where he was going and I could tell the people around me were uncomfortable hearing some the information he put out there.  I was uncomfortable with some of it.  But he makes you think, and he makes you understand the context and degree of how screwed up the US government is.  His delivery and non-PC, aggressive style of explaining this is the type of communication style I like the best.  If you ever have a chance to hear him speak or take one of his classes, I can’t recommend it enough.  All Americans need to hear and understand his material.

During a break, after he had reminded us that he doesn’t have a drivers license or a CHL or hasn’t filled out any tax forms in years, I asked him how I could increase my constitutional kung foo and be a little closer to his level, without risking being harassed all the time, spending time in jail, etc.  He started with this story:

GROUCHO (to woman seated next to him at an elegant dinner party): Would you sleep with me for ten million dollars?

WOMAN (giggles and responds): Oh, Groucho, of course I would.

GROUCHO; How about doing it for fifteen dollars?

WOMAN (indignant): Why, what do you think I am?

GROUCHO: That’s already been established. Now we’re just haggling about the price.

Badnarik then explained to me that I was like the whore in that story, but maybe more like a slave.  I realize what is going on, and I’m a party to it, and choose to let it happen to me because I see it as the easier path, and I didn’t seem to mind being a slave.  He said the first thing you have to do is decide you aren’t going to be a slave anymore, then things start to fall in place.

Posted in Life | Tagged , , | Comments Off on Michael Badnarik Explains how in Increase your Constitutional Kung Foo

Family Pictures November 2015

Posted in Family | Tagged | Comments Off on Family Pictures November 2015