This page has many links to hardware and software techniques that I have found useful in developing microcontroller circuits. I hope you find them useful as well.
Hardware Debugging Techniques
PIC Timer overview
I/O Expansion techniques
USB RS232 Ports
Setting up RS232
12F675 :Recovering lost calibration
12F675 OSCCAL Program
Voltage reference as a DAC
Using R-2R as a DAC and more
Logic level converter
Soft USART (TX) (TX details)
Soft USART (RX/TX) (RX details)
Using fixed point maths
Timers and Oscillators
Crystal ppm calculations
TCL code for ppm calculations
Interactive Timer 0 calculator
Interactive Timer 1 calculator
Interactive Timer 2 calculator
Using an oscilloscope
Electronic schematic symbols
ICSP In Circuit Serial Programming circuit and notes.
ICSP programming - How you set up the ICSP hardware and PC software.
RS232- What it is and how it works.
This method applies equally well for long cables or PCB traces. e.g. Parallel port or Serial port cables.
Methods to increase your Input or output pins from/to your microcontroller. Minimum requirement is 1 pin.
PIC Programmers Explanation of the various types of PIC programmers
PIC device comparison Comparing some pic microcontroller features using bubble diagrams.They also give a quick overview of the Program memory, RAM, EEPROM and peripherals.
Pinouts of some common devices used on this site
RS232 pinout diagrams at the PC connector.
Using PIC I/O : TRIS, PORT: General notes applicable to any PIC device.
Crystal ppm calculations: Notes on accuracies of crystal and other oscillators.
Interactive Timer 0 calculator showing frequency, period of Timer 0 output.
Interactive Timer 1 calculator showing frequency, period of Timer 1 output.
Interactive Timer 2 calculator as above using
pre-,post- scaler & period reg.
Switch debouncing Debouncing input keys on a Microcontroller port.
Does RS232 work? Five simple rules to ensure your RS232 system works.
12F675 - How to set the OSCCAL value stored in the 12F675.
12F675 - How to recover OSCCAL.
Bits bytes and hexadecimal conversions
All about bits, bytes and hexadecimal numbers and conversions.
Soft USART (TX)The transmission part of a USART (~90 words).
Soft USART (RX/TX) Detailsthe reception part of a USART (~? words).
Fixed point maths How to avoid using floating point maths to save memory and operate faster.
Click here for PIC microcontroller projects
Reading schematics A simple introduction to reading schematics.
Multitasking A guide to simple multitasking - fits into 12F675 (1k).
Schematic symbols A list of schematic symbols and components
Prototyping Discusses solderless breadboard, stripboard and pcb methods.
Using an oscilloscope Beginners guide to using an oscilloscope.
PWM what it is and what it's for.
Jump from Tips and
Best-microcontroller-projects home page
Digispark ATtiny85: Essential information on setting up and using this tiny, but powerful, chip
How to make magnetometer tilt compensation work for a magnetometer such as a QMC5883L using an ADXl345 accelerometer.
HMC5883L - How make a digital compass, Find out the differences between the HMC5883L and the QMC5883L and whether they are compatible.
Secrets of Arduino absolute value abs() - Why it might fail, Why it may cause problems...and how to fix it.
Arduino Analog Output: How to create the most accurate PWM analog ouput and how to create analog PWM sine waves.
Using the ACS758 to measure very high current