Todd Coram
todd at maplefish dot com, http://www.maplefish.com/todd
(rev. 09/04/24)
Need an expert embedded systems HW/SW designer? Hire Me!
I have over 35 years experience as a professional software/hardware/firmware developer (and computer technologist)
for everything from bare metal embedded devices to cloud-hosted multi-node systems. In particular, I specialize in prototyping and exploration of
cutting-edge-technology with an emphasis on practicality. My current focus is
on rapid prototyping of deeply embedded systems, low power computing, LoRa based protocols, and
IoT sensor networks.
Expertise
- Programming language Expertise
- Ada(2005/2012), Lua/LuaJIT, C, C++11, Perl, Haskell, Erlang, Java, Clojure, various Forths (including OpenFirmware, SwiftX for MSP430 and 8051, MPE Forth for ARM Cortex-M0/3/4, ArrayForth for GreenArray's GA144), awk/gawk, Tcl/Tk, Unix scripting (bash, korn, Busybox, etc), Standard ML, Scheme, PicoLisp, uLisp and Common Lisp.
- OS
- Ubuntu/Debian Linux, RT Linux, OpenWRT, OpenBSD, FreeBSD, Solaris, Windows, Nucleus (for ARM).
- Protocols
- TCP/IP, UDP, Modbus, Bluetooth, Bluetooth LE, NFC, LoRA, LoRAWAN, ARINC 429, RS485, USB (device drivers), MQTT, AMQP (RabbitMQ) and more!
- Design
- Concurrent (CSP), Functional, Procedural, Object Oriented, Relational, Generic Programming
- Security/Forensics
- Hardware tamper detection, Laptop forensics, Personal security devices, rootkit detection, filesystem analysis, familiar with design and deployment of AES based systems.
- Low Level/Embedded
- I2C, SPI, 1-wire, bit-banged UART, USB device drivers, bootloaders, BIOS firmware, Bluetooth, NFC, IP packet analysis and modification.
- Microcontrollers
- Cortex-M0/3/4 (STM32 primarily), RP2040, ESP32, Nordic nRF51, TI MSP430, 8051 (Silabs), Atmel AVR 8-bit, Parallax Propeller, ARM7, GreenArray GA144.
- Hardware Skills
- Digital design of MCU based systems, Tteardowns, hand soldering of components down to 3x3mm QFN, board repair.
- Technical Writing
- Published author (book chapter, technical papers, etc), Writing workshop "shepherd" award recipient.
- Inventions and Patents
- Co-inventor of technique for managing battery monitoring false positives for body-worn medical devices with multiple high current spike inducing components. Patent Pending (Senseonics).
Selected Projects and Products
- findgrub.help (https://findgrub.help)
- Web application, covering all of the continental US, for quickly searching for restaurants, utilizing a locally distilled OpenStreetMap database and a novel binning technique (strip bins). Written in PicoLisp and runs under OpenBSD. No user tracking and no external webserver dependencies... Currently developing a fully Android resident version.
- T38 Fighter Trainer
- Worked as part of a small team reverse engineering and upgrading the Air Force's T38 Trainer. My tasks include replacing a VME based data acquistion/controller system and interface to the crewstation with a more modern system. Lots of reverse engineering of hardware and protocol interfaces (ARINC, etc) that were developed in Ada on a RT Linux. (AELIUS 2023-2024)
- LoRa TDMA Protocol
- Designer of a secure, minimally chatty long range protocol on top of LoRa (not LoRaWAN) for sensor networks and personal communication. (AELIUS 2021-2024)
- IoT Sensors
- Developed hardware, firmware and backend for low power PIR sensors and GPS tags deployed for training purposes. (AELIUS 2021-2023)
- uForth/toolboxForth (https://github.com/tcoram/toolboxforth)
- I am the designer and implementor of a very lightweight programming language and debugger for 16 and 32 bit memory constrained microcontrollers in my own variant of Forth. It is written in ANSI C and itself. It runs on MSP430s, ESP32, RP2040 and STM32 Cortex based processors. (2010-2024)
- Body Worn Sensor Network
- Designed and implemented a body worn "sensor hub" for collecting data from body worn sensors (via BLE, analog signals, I2C, SPI, UART, etc) and sending to an edge server via LoRA. The sensor hub was based on the Green Arrays GA144 (144 core processor). I designed the hardware, firmware and application software for the hub. (AELIUS 2018)
- AdTech Network Simulation
- Designed and developed a functioning, performant simulation of an Adtech network (e.g. Brokers and bidders) to support a class on AdTech. (AELIUS 2023)
- PrivNet
- Developed a Managed Attribution toolkit in C++ and Clojure. This toolkit has been deployed to commercial and government clients in order to facilitate anonymous web browsing and secure disassociated communications. It currently utilizes custom deployment of RAM resident software to the Amazon EC2 and Digital Ocean cloud providers using user-space IP packet handling/manipulation/obfuscation. - (Novetta Solutions 2012-2016)
- Secure Executive Devices (SED)
- Developed a secure commercial travel laptop targeted for Corporate Executives of large companies. Developed software to detect hacking attempts (in real time) and hardware modification. - (Novetta Solutions 2013-2014)
- DARPA Active Authentication
- Developed a hypervisor based security containers for DARPA's next generation PC platform. - (Novetta Solutions 2014-2016)
- Mutter
- A Mumble (VOIP/chat) compatible server designed for extendability and customization. - (Self 2015-2016)
- Various GPS Trackers
- Over the past 20 years I've designed both firmware and hardware for various GP tags and trackers using Forth, C, C++, uLisp, and Ada on diverse MCUs such as ESP32, STM32, RP2040, MSP430 and 8051. (Self and various employers 2004-2024)
- SBC based Moving Vehicle Imager
- Designing and implementing an OpenCV based motion detector to track, photograph, identify and thumbnail vehicles in motion. The system is designed to be portable and battery powered using a single board computer (SBC). - (Novetta Solutions 2016)
- Remote Controlled Software Defined Radio
- Designing and programming prototype board to facilitate remote control (via GSM SMS) of a power hungry Linux based SBC. The board performs power manage and command & control of the SBC. The board utilizes the Parallax P8X32A multi-core MCU. - (Novetta Solutions 2016)
- NFC Messaging Device
- Designed (hardware and software) a NFC device (Cortex M4 based) for secure near field communication with Android smartphones and RFID cards. - (Novetta Solutions 2013)
- Multi-mode GPS Tracker
- Designer and implementer of a multi-mode GPS tracker (running on an MSP430) that uses multiple output paths (including SMS and Iridium SBD). Developed in uForth. - (ITT Nexgen 2010)
- Motion Sensor for Waking Satellite Transceivers
- Circuit and firmware designer of an extremely low power, motion sensing peripheral device for a an Iridium satellite Transceiver. Dsigned around a TI MSP430 and 3 axis accelerometer. - (ITT Nexgen 2007/2008)
- Hand Held Tracker for Iridium Satellite System
- Lead designer and implementer of a hand held personal tracker device for the Iridium Satellite system. This device is built around an 8-bit AVR microcontroller and the Nexgen Cutlass transceiver. - (ITT Nexgen 2007/2008)
- Various Open Source
- Some of my open source code can be found at http://github.com/tcoram and http://gitlab.com/maroc .
Work Experience
Hire me! I do freelance embedded product development!
 
I design and build gadgets (hardware/software) based on MCUs and SBCs to do lots of interesting stuff.
I worked in the R&D department as Lead HW & SW developer, working on embedded sensor technology research and developement.
 
I design and build gadgets (hardware/software) based on MCUs and SBCs to do lots of interesting stuff.
 
I was their lead firmware engineer, engaged in debugging,
improving and enhancing a body worn blood
glucose monitoring system. In particular, I was responsible for the transmitter
device which uses NFC to communicate with an implantable sensor and Bluetooth LE
to communicate with a smartphone. The transmitter is designed around
the STM32L4 family of Cortex M4 processors and the Nordic nRF51 BLE chip.
 
I developed tools in Haskell, Erlang, Clojure, Lua, C, Perl, Awk, etc (and whatever else that makes sense) to do secure communication software (and forensics) for
personal devices and cloud servers.
I am also designing microcontroller based gadgets for a variety of secure communication uses for the US government.
 
I worked on all types of embedded device side software solutions for the Iridium Satellite network. I was involved with a number of products and projects involving microcontrollers, encryption, USB, Bluetooth and motion sensor
devices.
I also designed and implemented protocols for satellite handset authentication
under Solaris and Linux.
 
Lead software engineer for the Integrated Broadcast System (IBS)
IBS was a government funded soft realtime message
processing system with high availability and performance requirements.
I was responsible for the design
and architecture of the core system. I was also the
designer and implementor of the L3/Titan OWL (One Way Link) network appliance.
- Chief Software Engineer, 3/02 to 11/02, Re-route Corp, Alexandria VA
- Senior Software Engineer, 10/01 to 3/02, iDirect Inc, Reston, VA
- Software Engineering Manager, 5/01 to 10/01, BAE Systems Inc, Reston, VA
- Senior Software Developer, 3/01 to 5/01, Sendmail, Inc., Herndon, VA
- XML Czar, 11/00 to 3/01, Digital Creations, Inc. (now Zope, Inc), Fredericks
- Director of Technology 1997 to 11/00, BLaCKSMITH Inc, McLean, VA
- Senior Software Engineer, 1995 to 1997, BTG Inc, Fairfax, VA
- Software Developer, 1994 to 1995, Network Imaging Systems, Herndon, VA
- Senior Software Engineer, 1992 to 1994, BTG Inc, Fairfax, VA
- Software Developer, 1991 to 1992, Digital Analysis Corporation, Reston, VA
- Software Engineer, 1989 to 1991, Innovative Technology Incorporated, McLean,
- Software Developer, 1988 to 1989, Nexus, Inc., Vienna, VA
- Systems Programmer, 1987 to 1988, University of the District of Columbia
This document was generated using AFT v5.098