Over the past couple of months, I’ve taken up learning PIC microcontrollers. Along the way I’ve accumulated a collection of hardware and software tools and today I’d like to talk about them. With this collection of tools I was able to go from building simple LED circuits to USB programming in two months.
PIC Microcontrollers (MCUs) ($1-$5)
Obviously, you need a MCU to program. I wanted to limit my options to 8-bit MCUs. The complete list of Microchip’s 8-bit MCUs is available here. I chose the following:
- 12F683 – 8 pin package. 128 Bytes RAM. 256 Bytes EEPROM.
- 16F88 – 14 pin package. 256 Bytes RAM. UART.
- 18F26J50 – 28 pin package. 3,800 Bytes RAM. UARTs. USB. XLP.
- 18F4550 – 40 pin package. 2,048 Bytes RAM. UARTs. USB. I2C host & client.
MPLAB X and XC8 software ($free)
In-Circuit Debugger/Programmer ($48)
The PICkit 3 will allow you to program and debug your MCU. With this you can flash the device, read memory, set breakpoints, and step through the code. The PICkit connects to a PIC MCU as follows:
Prototyping Breadboard & Miscelaneous Components ($20-$50)
Almost everything I needed came in this kit from Sunfounder, available on Amazon. The kit is marketed as being for Arduino, but is just as applicable to the PIC MCU. It includes instructions for 19 circuits that are easily adapted to the PIC. At a minimum, you’ll need a breadboard, an assortment of jumper wires, and some LEDs, resistors, and capacitors for the circuits you want to build.
You’ll need a 5V supply to power your PIC, and there are many different options to buy or build. I used this circuit. Be careful that if you choose a power supply that relies on an external battery, the battery will discharge eventually and cause unexpected behavior in your circuits which can be difficult to troubleshoot. You can also use 5V from the pin 1 of a USB connection on your PC. If you’re going that route, I’d recommend going through a powered USB hub to prevent damage to the USB ports on your PC.
Electronic Design Automation (EDA) Software
Circuits require accurate and thorough documentation. My favorite tool for circuit drawing at the moment is TinyCAD. The libraries are limited, but adding new elements is simple, and it’s free!
Test and Measurement Tools
As you build more advanced circuits, something will go wrong and you’ll need some tools to troubleshoot your circuit. The most basic is a Digital Multimeter. Time based analysis calls for an oscilloscope. I chose the Siglent SDS1072CML. This is useful for troubleshooting things like PWMs, rotary encoders, audio, and analog circuits. The newer oscilloscopes are classified as Digital Storage Oscilloscopes (DSOs), but older analog scopes can be found on EBay. For hobby electronics you should get a scope with at least 50 MHz bandwidth.