Things to know about us and our products
KMI Technology is an embedded electronic design and consulting company. We do everything from electronic engineering, software engineering, and mechanical engineering. We have designed embedded products for many different clients.
We are small enough or large enough group to focus on your next project. Look at our products and contact us about your next embedded product.
We have consulted for the following companies:
EDO Corporation Salt Lake City, UT (8/2007 to 9/2008). Supervisor Glenn Courtright,
We have contracted with EDO Corporation the Electro-Ceramic Products division. Participated in a team of three programmers that designed, coded and tested all of the firmware for a submarine sonar system. It was based on a Xilinx FPGA with an embedded PowerPC. We worked on the routines that interfaced to all the hardware devices attached to the FPGA, as well as the code to read and interpret a configuration file. We used C to implement the system.
Burk Technology Inc. Littleton, MA (4/2002 – 5/2006)
Engineering Consultant. Responsible for all firmware development on transmitter remote control/industrial automation system based on an 8051 processor.
– Designed the hardware and software to a small industrial automation system using the AT89C51RD2 processor with 32k of I2C serial EEPROM and RS485 multidrop interface.
– Designed, laid out the hardware and built the prototypes of the ARC-16 Web interface. This included layout under Protel verification of the design and the building of the first 6 prototypes.
– Designed, laid out the boards and built the prototypes of the GSC Web interface. This included all the hardware development and PIC software to support the functionality of the interface.
– Developed embedded Linux server. The server interfaced to an embedded transmitter remote control. The server ran on compact flash and used 1.5meg of space.
Some of the products that we have worked on include WatchBand – (Burk Technology, Inc.) – This product is a computer controlled FM/AM broadcast radio receiver. It was designed by KMI Technology from the ground up. We OEM’d a tuner from MicroTune Inc. Then we added some tuner control, audio processing, and non-volatile storage to provide a complete tuner solution for Burk Technology, Inc.. This product won a Radio World Cool Stuff Award and Radio Magazine Pick Hit Award at NAB 2007.
We have also worked on the GSC3000 series of products for Burk Technology, Inc.. We have done enhancements to the system including the the entire GLink line as well as bug fixes.
Q COMM INTERNATIONAL INC. Orem, UT (8/2002 – 3/2004)
Engineering Consultant. Responsible for all firmware development on POS (Point of Sale) terminals and for hardware development of low cost terminal manufactured in China. Project manager for various software endeavors on the terminal leading 3-4 people.
– Designed and implemented embedded C code interpreter for QCOMM’s Qexpress 200 terminal. This was a ground up redesign including flash file system and all drivers for serial ports and printer.
– Implemented PPP/TCP/IP on the above terminal.
– Created a cross compiler to compile C like code into the byte codes the terminal understood. This created the user interface and functionality of the terminal.
– Obtained various certifications for the terminal allowing it to operate as a merchant banking terminal.
– Headed up team of 4 engineers on various projects which included architectural design and organization of task along with other managerial tasks.
At Q Comm International we did some very interesting work. They sell prepaid wireless and long distance services. These items are sold via a Qxpress 200 terminal. The terminal was designed by a company back east. When we started the software for the Qxpress 200 it was to be provided by the company that designed the hardware. This software wasn’t working they way Q Comm would like. They were running out of money and needed a product to sell quickly. They wanted the ability to configure the Qxpress 200 in the field. The field configure ability included the requirement to sell different products as the needs of the customer changed. To full fill this requirement we decided they needed an interpreter built into the Qxpress 200 to give them the ability to download different software packages which would handle different products. Once this system was in place they could download different configurations for different products very easily. The software could be written and tested at the Corporate headquarters before it was deployed giving the company a very flexible system. The president and CEO of the company liked the system and we were given the go ahead to rewrite the system.
It required a flash file system that was implemented along with the interpreter. The system is still in use today on the Qxpress 200 terminals. The interpreter has also been ported to Verifone terminals and PC’s. This gives the company the ability to run the exact same software on the Qxpress 200, Verifone terminals and PC’s.
ClearOne Communications Salt Lake City, UT (4/05 – 8/07)
Engineering Consultant. Responsible for firmware development on Xilinx base uBlaze softcore processor. I configured the hardware and wrote software in C for a conference phone. Also worked on VoIP type phone equipment using the Telogy VoIP stack. The phone also used VxWorks for the RTOS.
– Designed the firmware update facility for the phone. It included CRC verification of the image on each boot and data comparison to insure the latest version was loaded.
– Helped with the web server back end with value updates.
– Worked with Xilinx FPGA (Spartan 3) to implement VoIP driven second generation phone. I created the project using the uBlaze processor along with several UARTS, SPI ports, and various GPIO to communicate with other processors and peripherals including an LCD and keypad.
At ClearOne we worked on the MAXAttach IP. This device utilizes VoIP to transmit and receive speech. It is based on a TI TNET1050 Mips processor. The RTOS used was VxWorks. We wrote the firmware download mechanism. This allowed the user to update the device using a TFTP server. The MAXAttach IP goes and reads a configuration file that has date and version information about the firmware on the TFTP server. If the MAXAattach IP determines that the firmware is a different than the version it currently has it will download the version from the TFTP server and use that version to run with. It works very well.
Enterasys Networks Inc. Salt Lake City, UT (6/2001 – 4/2002)
Sr. Software Engineer. Responsible for software development of company network switches and routers. This required knowledge of several protocols including TCP/UDP/IP/ICMP.
– Debugged various network functions on switch/router running Nucleus RTOS. This included routing and bridging protocols including UDP, TCP/IP, Spanning Tree, and Ethernet. All coding done in C.
– Wrote Java test routines to test company switch/router products. Including load tests, bridge protocol tests, and performance tests.
DoBox Inc. Salt Lake City, UT (9/2000 – 6/2001)
Sr. Software Engineer. Responsible for converting company application over to a small embedded system running OpenBSD. Was involved in Web page administration of the product.
– Headed up a team of 3 programmers which wrote the interface for a domestic firewall/gateway. The interface was web based utilizing PHP, Apache, and PostgreSQL.
– Created a single disk firewall/router from OpenBSD the most secure version of Unix.
Gentner Communications Inc. Salt Lake City, UT (3/1992 – 9/2000)
Sr. Software Engineer. Responsible for embedded software design and implementation of company products. This included DSP development in assembly language for audio processing used in teleconferencing equipment. Also worked on TCP/IP network for embedded products.
– Implemented TCP/IP stack on an embedded 8051 system. Created an HTTP server utilizing the TCP/IP stack to allow web administration of the embedded system.
– Designed, developed, and documented the firmware for a radio broadcast transmitter remote control.
– Created audio processing equipment using DSP’s that used sub-banding to take 8k hertz of audio and split it into three bands to ship down three phone lines. Then reassemble it on the other side.
– Have controlled the adaptation of Finite Impulse Response filters using Neural Networks. This required the detection of the caller audio and absence of near end caller to correctly adapt the filter.
Unisys Inc. Salt Lake City, UT (6/1981 – 3/1992)
Software Engineer. Responsible for custom changes to company hardware including firmware changes to terminal equipment and driver changes for AT&T Unix equipment.
– Wrote device driver in C for a serial terminal concentrator box to AT&T Unix. The concentrator handle 32 serial terminals. This was a complete serial driver that included all the features in the stty structure.
– Designed firmware in Z80 assembly to a line module for a redundant cost accounting system. The line module interfaced 16 bar code readers through a multidrop RS485 network. It allowed users to input cost accounting information on all 16 bar code readers at the same time.
– Adapted X11 server for company hardware. Debugged X11 server and wrote X11 clients based on Athena Widgets.
SmartWorks, Inc.