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
Arduino Interrupt Tutorial: Find out how many external there are on an Arduino Uno - The answer is more than two!
Switch debounce: Three different ways to debounce input push switches with one amazing method that you can't miss.
A tutorial on using the ADS1115 precision 16 bit ADC for low power use.
With the ADXL345 acellerometer you can detect up to 16g! You can also find out how to use it for tap detection and more.
ESP8266 Webserver: This code shows you how to use lua to create a webserver using html button inputs to contrtol an LED on the ESP module.
How to flash nodemcu firmware into a ESP8266 so you can use the LUA scripting language.