My research focuses on designing hardware architectures, algorithms, and programming language constructs that use an understanding of the physical world and the flexibility of sensing systems to improve the efficiency of computing systems that interact with nature. My research results range from fundamental theory, to algorithms, programming languages, and compiler tools. I frequently build printed circuit board and FPGA prototypes to validate concepts.