Microcontroller Commandments

These are the commandments that you will follow when working with uC. These commandments are given to you to save yourself the time and mental anguish that others before you have suffered so learn them well. These commandments are not microcontroller or language specific. New commandments will be added when needed.

Microcontroller Commandments

Thy will read thy's component's datasheet. The datasheet will be of the latest version available.

Thy will use atleast 0.1uF decoupling capacitors on all digital IC power supplies and where ever else necessary. The capacitor will be as close as physically possible to the IC.

Thy will read the datasheet again.

Thy will make use of an attached LED for debugging purposes. If Thy's design does not include an LED thy will keep atleast one output line available for an LED.

Thy will read the datasheet again.

Thy will use only the most up to date hardware and software.

Thy will read the datasheet again.

Thy will check all system control registries including the data direction registry. Outputs will be initialized to the correct state on power up. Inputs will have pull ups enabled if needed.

Thy will read the datasheet again.

Thy will read all errata/known issues/Whats New/Read Me/Updates sections completely of all hardware and software.

Thy will read the datasheet again.

Thy will check all fuses and other preprogrammed settings at the start of every new program and uC installed.

Thy will read the datasheet again.

Thy will only make one change per debug cycle.

Thy will read the datasheet again.

If installing a uC into a breadboard thy will check ALL connections before applying power to the circuit.

Thy will read the datasheet again.

Thy will only enable one piece of internal hardware at a time and will not enable anymore internal hardware until the current piece of hardware is functioning fully.

Thy will read the datasheet again.

In any time sensitive application thy will not use the internal clock but a crystal or similar accurate clock source.

Thy will read the datasheet again.

Thy will keep thy Interrupt Service Routines as short as possible.

Thy will read the datasheet again.

Thy will only engage in uC development with a calm and focused Zen-like mind. If thy are tired, angry, distracted, hyper-caffinated, intoxicated, or otherwise not of Zen mind thy will stop and wait until Zen is achieved to proceed.

Thy will read the datasheet again.

Thy will not make claim of a "bug" in either hardware or provided software unless said error can be reproduced using multiple uCs of the same type.

Thy will read the datasheet...again.

Your Tone God,

Andrew