Click logo icon to hide/show contact information.
Click Here to Hide/Show contact information.
Contact: Keith Beidelman
Beidelman Software
10530 McPherson
Indianapolis, IN 46280
Office: (317) 608-5051
Cell: (317) 727-3361
  • Industrial Automation
  • Web Based MMI
  • C/C++/C# Programming
  • VB Programming
  • Java Programming
  • Mint Programming
  • Assembly Programming
  • Database Design
  • Internet Connectivity
  • Embedded Systems
  • Micro-Controller Programming
  • Linux
  • Microsoft Windows
  • Data Acquisition
  • Internal Design Projects

  • 32 Input Encoder Position Capturing Coprocessor
  • Dual Axis Display Unit
  • Encoder Optical Isolator and Splitter

  •     All of the products sold by Beidelman Software were designed (from the schematic through the PCB layout) by myself. I also designed the programmable logic used internally on the board, as well as the firmware used on the processors. The final gerber and drill files from the CAD package I used, were sent to PcbExpress or PcbPro, who made the bare printed circuit boards.

        For more details on these products, click on one of the projects listed above.

        I designed maintain the Beidelman Software web site, which is hosted on my company's machines. They are run on the Apache web server, under Linux. Some of the demos run on web servers on Microsoft Windows Platforms, as well.

    External Clients and Projects

    Applied Science

        Wrote software to control a 96 channel amplifier, which drove an array of ultrasound transducers. When a transducer fired, a drop of coating would be sprayed onto a circuit board. By varying the time when the transducers fired, as the boards moved over a conveyor, the region to be coated and coating pattern could be varied. The software was written in C, and ran on a standard x86 PC.


        Implemented software to control an ultrasound medical imaging scanner. The scanner was based on a Intel x86 platform, but it used custom cards for imaging and doppler. Implemented low level drivers for all the custom cards, and embedded firmware used by internal processors (keyboard controller, and probe controller) on the custom cards. Also implemented the higher level C based MMI. For this project, software was written in C, X86 assembly, and Intel 8051 assembly.

    BorgWarner Automotive

        Implimented C software for a data acquisition computer on their transfer case test stand. Also wrote and maintain a WonderWare HMI on that machine.

        Maintain the Visual Basic user interface on another one of their test stands.

        The systems have been through various upgrades through the years to facilitate changes for new model years.

        Upgraded C software on machine which schedules cycles on induction heat treating machines in their plant. The machine talks over Data Highway to Allen Bradley PLCs. Since the induction heat treat machines use so much current, their cycles must be scheduled so that the plant has enough ampacity to support them at any given instant.


        Implemented servo system to control feeding material into a press. The servo was controlled by a Baldor Smart Move, and Series 18 Vector Inverters.

    Eaton Controls

        Implemented software to control an appliance timer test fixture. The test fixture was used by the R&D department to test new appliance timer designs. The software was written in C++.

    Focus Surgery

        Implimented software to control a custom High Intensity Focused Ultrasound (HIFU) machine. The primary purpose of the machine is to noninvasively treat Prostate Disease. The machine also does imaging for therapy planning and progress monitoring. On the original machine, I was the only software developer. I Worked closely with the hardware engineers.

        This technology was trasfered to various companies along the way. It started out as a research project at the Indianapolis Center for Advanced Research. The project was then sold to Diasonics, INC, Theraputic products Division. That company reorganized, and the project became Focal Surgery, whose parent company was still Diasonics. Today, the technology is owned by Focus Surgery, located in Indianapolis, IN. I have worked with all of these companies at various stages in the project.

        Focus Surgery is now the propriatary owner of the technology. They resesigned the product into a next generation machine, with alot of new features, and using new state of the art technology. I was a member on the software development team for the new product. I wrote some of the imaging, data acquisition, and user interface modules used on the new product. The next generation machine runs Windows-2000 and Windows-XP, and the software was implemented in C++ and Java.     [ click here to go to Focus Surgery's product page ]

    Froedge Machine and Supply

  • Optimizing Rip Saw - Millwood (single saw)
  • Optimizing Rip Saw - Armstrong Searcy (single saw)
  • Optimizing Rip Saw - Partee (3 Saws)
  • Optimizing Rip Saw - Armstrong West Plains (3 saws)
  • Optimizing Rip Saw - Appalachian Precision Hardwoods (2 saws)
  • Optimizing Rip Saw - Armstrong / Bruce Jackson (single saw)

  •     This system measures boards and determines the optimal way to rip the board to get the optimal flooring yield. The board then enters a laser simulation station. Lasers show where the board will be cut and allow the user to override the selection using a rotary encoder. As the operator turns the encoder, the lasers will follow it to allow for tweaking the cut position. When the operator is happy with the selected arbor, he hits a button. This causes the board to be released from the laser station, and the next board to be loaded. A servo fence is then commanded to move a position which matches the one shown by the lasers. The board is then released towards the fence, and sent through the saw.

        All the machines are PC based. The PC side software is written in C++. It consists of 2 components a main control program which runs in the background, and a user interface (MMI) which runs under the apache web server.     [Click here to see the HMI]

        The machines all use Baldor servo motors for the fences and laser simulation station. The servo controllers are programmed in Mint, using Baldor servo controls.

        Also programmed PLCs which control other parts of the line. The PLCs communicate with the PC over ethernet. Some of the systems are based on Automation Direct PLCs, while others are based on Allen Bradley Control Logix PLCs.

        Since a PLC 's scan rate is too slow to tally a board with any kind of accuracy, in the presence of a rapidly moving boards (scan rates in microseconds would be required), we put the data acquisition for the tally system in the PC.

        The tally system was quite demanding on the PC, with the high data rates. In reality, the tally system was only interested in photo eye data on the rising and falling edges of the eye, but we needed a accurate encoder count attached to each transition sample. There were some cards which could perform this function just a couple of eyes, but there was nothing off-the-shelf which could perform this function on 32 channels. This inspired the creation of the TIO-1 tally system, which is a product designed and menufactured by Beidelman Software. Now, the newer system run without placing much processor load on the PC, using the TIO-1.

  • Tally, Grading, Stacking System
  • Tally and Sorting System

  • Health Network International

  • Visual Basic and C Code for various projects
  • Network Administration and Problem Solving
  • Credit Card Processing for ProcareNetework

  • InAir Aviation Services

        Made modifications to C software on their automated test fixtures for repairing aviation instrumentation.

    Indianapolis Center For Advanced Research

        Wrote firmware for a portable medical imaging ultrasound machine. The software was based on the Intel 80186 Processor. It was written in C and assembly language.

    Kaman Industrial Technologies

        Wrote software to control a multi axis paint spray system used in a manufacturing process. Axis control utilized Baldor servo motors, controlled by a NextMove-BX. The BX also controls all the I/O, and a MMI on a Baldor Panel over a CAN bus. The system also uses expansion I/O over a CAN bus.

        Wrote software to control a V-Guide machine, which places V-Guides on conveyor belts. This is a multi-axis servo system, which uses Baldor NextMove-ESB and a Touch Screen.


        Implimented firmware for portable ultrasound machine. The machine was contained in a small box not much larger than a keyboard. The internal processor was an intel x86 CPU. It was a ROM based design with no external hard drives. The software was entirly custom written in C and Assembly language, with no 3rd party libraries. It included a custom real-time kernel for multi-tasking and priortizing real time events.

    Wildcat Weavers

        Configured and do administrative tasks on the Linux computer system which which runs their web site.


        Software to control Radiator Wind Tunnel Calorimeter. It tests the performance of radiators which they manufacture.


        Implemented Unix software to support the merger of multiple internet service providers. C++ software stored data in a PostgreSQL Database, and communicated with Radius servers to authenticate users.

    Previous Page - Home Page