Frequently Asked Questions (FAQs)


  • My circuit does not work: You need to identify if your problem is a hardware or a software fault. You can probe the circuit using a multimeter or an oscilloscope and determine if your software/hardware is driving each pin as you expect. You can also simplify your code to try and locate any problem lines, you might consider adding an LED to a spare pin that you could use for debugging purposes.

  • My circuit almost works but does strange things (sometimes?): This could be because you are reading from a pin that has not got a pull-up or pull-down resistor fitted. If the input pin is in the high impedance state then it will float and random voltage fluctuations will cause the pin state to toggle randomly. This might be useful for a random signal generator.

  • My LCD does nothing: If you increase the contrast voltage to VDD do you see blocks on the LCD? If not then check your power connections to the LCD or try another LCD module. If you can see blocks try running the example LCD code and check your connections (both hardware and the definitions in lcd.h).

  • I get an error about target voltage: Try reducing your programming voltage (under the PICKit power menu) from 5 V to 4.75 V. Check for any short circuits, do this by removing the PIC and using the multimeter to measure the impedance between VDD and GND.

  • My ADC voltage is always zero: Double check that you have correctly wired up the ADC, measure the voltage on each pin to ensure the power supplies are correct. Have you updated adc.h with your pin layout?

  • My LCD flickers/flashes: You are probably trying to update the display too quickly, try inserting a delay in your main loop.