Thomas Shoemaker is a Senior Hardware Design Engineer at Sensitech in Beverly, MA. He has extensive experience in software/hardware design using microcontrollers and digital/analog circuit design. He loves making products come to life from beginning to end.
The following is a laundry list of technologies that I’ve built products around and various projects I’ve worked on. The idea is that I’ve done quite a few things, but I’ve focused on battery operated systems, C programming, microcontrollers, and hardware development as an Embedded Firmware/Hardware Engineer.
Microcontrollers: ARM9, ARM7, Cortex-M4, Cortex-M0, Cortex-M0+, PIC32, PIC24, PIC16, PIC18, PIC8, Motorola 68HC11, Motorola 68HCS12, Rabbit 3000-5000 series
Technologies: I have used Intel’s OpenCV framework extensively for autonomous robotics applications, designed several embedded applications utilizing TCP/IP to communicate with multiple devices, and developed interfaces for LCD’s and keypads. I’ve implemented several hardware interfaces, including all of the standard ones: I2C, SPI, UART, etc.
Circuit Design: I have designed several digital and analog circuits for various products, including the design of printed circuit boards, and oversaw the product through to packaging and production.
Databases: Developed applications that utilized MySQL, MSSQL, and Oracle databases. I’ve also designed and implemented extensive database structures to handle efficient, high-speed data processing using methods such as foreign key constraints and indexing.
Platforms and tools: My operating system experience includes Macintosh, Linux, and Windows. For ASP.NET and C# development, I use MS Visual Studio. For C, I use Atmel Studio, MPLAB X, Eclipse, Dynamic C, and standard text editors. For PHP, I primarily use Atom. I have also used the Bourne shell, Csh, gcc, and the make utility for Linux.
Leadership: I have strong project ownership when I am given a task and attempt to motivate those that are working with me in order to get the task done as efficiently and timely as possible.
Team Player: I work well with others in accomplishing a common goal, helping them when they need help and also by receiving constructive criticism when needed.
Self-motivated: I am motivated to be the best that I can be and will always put my best effort into any task I’ve been given.
Other: As president and participant of the Mobile Robotics Club at Kettering University, I became very familiar with Intel’s OpenCV framework. I developed a robot which would autonomously navigate through a random obstacle course using real time data acquisition techniques to gather data from several sensors, including: a web cam to process images and for map generation, a distance sensing laser for upright objects, a GPS, a digital compass, and optical encoders. The architecture was extremely unique in that it attempted to mimic the human brain as much as possible.
Sensitech, Inc – Senior Hardware Design Engineer (September 2016 – Present)
- Develop embedded software (from start to finish) for real time applications utilizing UMTS, GSM, CDMA, and GPS technologies
- Develop embedded hardware (from start to finish) for various projects, for analog and digital circuits
- Embedded firmware architecture design
- Embedded filesystems
- Schematic Capture/PCBA Layout
- Manufacturing Support
- Test Fixture Design
- Technical Support
- RF System Design
Tracell, LLC – Engineering Team Lead (March 2010 – September 2016)
- Same as above
- Led a team of six engineers/technicians to complete a variety of hardware and software projects
Digital Dog, Inc. – Software Engineer (December 2009 – July 2010)
- Developed .NET/MSSQL solutions for enterprise level web applications, heavily using Object Oriented Principles
- Maintained and updated existing code repository using Subversion
- PHP/MySQL Development, using OOP
- Drupal module development
Patti Engineering – Electrical Engineer (June 2008 – December 2009)
- Developed several PHP applications for handheld scanners to allow users to post production, create bill-of-ladings, and shippers for a manufacturing environment
- Created several Windows applications using the .NET framework, e.g.:
- High-Speed broadcast information processing for Just-In-Time suppliers using a serial port or TCP/IP socket for communication
- Trace data submission
- Production monitoring system using a custom TCP/IP protocol
- Developed control system solutions based on customer needs and expectations for several manufacturing and service-based industries, such as: Automotive, Waste Water Retention, Garment Handling, Law Enforcement, and Education.
- Collaborated with a diverse team of engineers to complete projects that were held to tight deadlines
- Lead Engineer on several control system projects that required me to use and refine my skills in team leadership and time management
- Developed custom socket protocol for push technology client/server communication
- Created multi-threaded applications to receive client connections and process data received by the server
- Created and maintained several software versions and tools for various projects and products
- Designed and implemented a scalable production monitoring system using several embedded controllers and a server which hosted a custom .NET communication application and database to service each controller
- Designed and implemented a scalable, flexible, and low-cost embedded solution for an electronic access control system utilizing electronic lockers and storage units, programmed in C. I designed the software and hardware of the access control points to have highly advanced capabilities including:
- Developed an LCD and keypad interface which lets the user authenticate themselves and access their assets using an intuitive and easy-to-use GUI
- An administrator could also do all of the functions through the keypad that they had available with the web interface, in case a network connection was not available
- Designed sub devices to control the locker openings
- The master controller could control up to 8 sub devices. These sub devices could control 24 openings each (high or low current, 12-36VDC), giving the system the capability of controlling 192 openings, using only one controller.
- The installation is extremely simple since all connections are made with standard cat5e cable (including connections from the controller to each sub device)
- Designed several printed circuit boards and custom enclosures to increase reliability and professionalism of the product
Patti Engineering – Co-op (June 2003 – June 2008)
- Completed a thesis project to further development of the company in which I am employed
- The thesis was entitled “Wireless Electrically Actuated Padlock”
- Using an electric padlock, Bluetooth technology, and a microcontroller, I was able to design and develop a battery operated wireless padlock
- Developed a secure protocol in which a device had to be authenticated for connection and actuation of the padlock
- Could be used in conjunction with an existing product offered by the company
- Solely developed an industrialized ice arena temperature control system. The system has highly advanced functionality.
- The microcontroller serves web pages so the administration can view current status of the system, set hourly temperature schedules, view pump run time, view any alarm conditions, override temperatures, and configure the device remotely
- An LCD and keypad is attached to the system with an intuitive user interface so that the operator can see the current status of the system and configure it as necessary
- Utilized an infrared sensor that overlooked the ice in order to get an accurate surface temperature
- Designed and implemented several algorithms to filter out any erroneous data and increase response time
- Successfully programmed a single FANUC robot to pick and place different styles of engine blocks based on a factory broadcast request. The system included:
- A PLC to interface with the robot and to control a conveyor
- A vision system to identify an engine block by recognizing distinct characteristic and read a 2D barcode
- A graphical user interface so that the operator could control manual and auto functions as well as process feedback
- Assisted experienced engineers as needed in various projects
Kettering University – Lab Monitor (June 2006 – June 2008)
- Maintained labs in the Electrical/Computer Engineering wing for student use
- Provided tutoring to students and assisted students in the use of lab
Kettering University (GMI) (October 2003 – June 2008)
- I received my Bachelors of Science degree in Electrical Engineering from Kettering University.
Kettering University (GMI) (October 2003 – June 2008)
- I received my Bachelors of Science degree in Computer Engineering from Kettering University.
- I was a part of several clubs and organizations including: A mentor for FIRST Robotics, President of the International Ground Vehicle Competition, Formula SAE member, and a Firebirds club member. I was honored with Dean’s List and Provost’s List recognition.
Swartz Creek High School (June 2000 – June 2003)
- I received my High School diploma from Swartz Creek High School.