Embedded (4) Classes (3) Garden (3) Books (2) Projects (2) Outdoors (1)


Im moving pages over from my Drupal website. This is a work in progress. Stay tuned.

Sunday, March 24, 2019

2019 Garden part 1

Starting the 2019 garden today.  Pulled out an amazing amount of winter hardy weeds, mostly bittercress. Planted some early snow peas, cold tolerant lettuce and some spinach. I see the first signs of the Rhubarb and Peonystarting to grow.

Friday, February 1, 2019

Real Time Embedded Systems

CSCI 4415 Real Time Embedded Systems

CSCI 4415 (formerly CS-190) is a George Washington University, Department of Computer Science course in real-time embedded systems. This course is taught from Spring 2005 through the Spring of 2012.  CSCI-4415 section 80 for undergraduate students and CSCI-6907 section 80 for graduate students. The purpose of this course is to engage computer science undergraduates and graduates with hardware and embedded systems. While Computer Science students get a strong conceptual overview of systems and hardware in various organization and architecture courses, many students have never experienced actually working with computer hardware. This course will focus on hands-on projects, through homework, labs and final projects involving both hardware and low-level software. This course will discuss the design issues in an embedded system and the technologies needed to support such systems, with the focus on the software aspects. This course will discuss the design issues in an embedded system and technologies needed to support such systems. In addition, we will also cover a gamut of systems-related topics.

Friday, March 17, 2017

1-Wire Power Outlet

This is a computer controllable power outlet that uses a 1-wire dual switch. To not waste the dual switch I cut the shorting bar on the power outlet so that each of the 2 outlets on a standard duplex outlet are controlled separately. The PCB is made to fit snugly behind the outlet and still fit in a standard electrical work box. 

The 1-wire controller on the back of a standard duplex outlet. 

Sunday, September 29, 2013

Programming the Zilog ZNEO Microcontroller by Example

Programming The Zilog ZNEO Microcontroller By Example

The Programming The Zilog ZNEO Microcontroller By Example series will provide readers with a thorough understanding of how to design and program embedded control systems using the Zilog ZNEO microcontroller. This book series will present, in detail, all of the architectural features of the ZNEO and provide the reader with a detailed explanation of how to develop programs that use the full capability of the microcontrollers. This is not intended to be a replacement for the Zilog product specification, but will serve as a companion to the Zilog documentation, providing the reader with many example programs. In fact, the most significant aspect of the book series will be the numerous, detailed, documented and explained C programs that demonstrate how to configure and use each and every feature of the ZNEO microcontroller.

Thursday, January 3, 2013

Systems Programming

CSCI 3410 is a new George Washington University, Department of Computer Science course replacing Computer Architecture II (CSCI 3462). This course introduces students to many concepts underlying all computer systems and ties together the basic concepts from transistors though software development. Topics include: processor operation, hierarchical memory systems, micro-controller architecture, digital and analog data acquisition, actuation, and systems software development topics from the programmer's perspective such as compilers, linkers, operating systems, testing and debugging. The course uses embedded platforms to teach students how programs interact with and are constrained by hardware (with a little bit of “Basic Electronics” included so that the embedded systems part can be more easily understood).

Wednesday, January 16, 2008

Software Design for Handheld Devices

CSCI 4237 - Software Design for Handheld Devices - was a George Washington University, Department of Computer Science course in developing applications for modern day smartphones. This course was taught from Spring 2008 through the spring of 2012. This class will be a rigorous examination of the tools and techniques used for programming mobile devices in Java. The student will develop programs for a number of different phones including BlackBerry and Android phones. Attention will be given to the details necessary for developing fully functional applications such as games and business tools. Programs will be developed to run within the emulators that are part of the development tools, however real devices can be used if the student wishes to provide their own. We will also pay specific attention to topics that are unique to handheld devices: designing for limited screen size and constrained resources, cross platform development, portability, on-device testing and performance issues.

Saturday, September 30, 2006

Seriously Orange Mushrooms

Occasionally I get out from in front of the computer and see the world. Here is some of the interesting places I've been, both far and not so far away. I found these growing in the neighbors' yard 9/30/2006. They are seriously orange and since orange is my favorite color I had to take some pictures. The average mushroom cap is about 3-4 inches; in diameter and they stand about 3 inches; tall. No, I didn't eat any. I'm no expert on mushrooms, I think these are Jack O'Lantern Mushroom (Omphalotus olearius), but I could be wrong.

Wednesday, November 10, 2004

Designing Embedded Internet Devices

Designing Embedded Internet Devices: A Practical Guide to Hardware and Software Design using the TINI Microcontroller 

Dan Eisenreich & Brian Demuth
600 pages
CD-ROM included
Publisher: Elsevier Science
ISBN: 1-878707-98-1

Embedded Internet and Internet appliances are the focus of great attention in the computing industry, as they are seen as the future of computing. The design of such devices presents many technical challenges. This book is the first guide available that describes how to design Internet access and communications capabilities into embedded systems. It takes an integrated hardware/software approach using the Java programming language and industry-standard microcontrollers. Numerous illustrations and code examples enliven the text. All of the circuits and code have been fully tested. Based on the 8051 microprocessor, TINI is an internet-ready, embeddable, Java Virtual Machine with a powerful collection of hardware interfaces (I2C, CAN, 1-wire, RS-232, parallel, Ethernet).