Organize and Share your Electronics the way you want. Sign-Up for a free account now. It takes only 30 seconds!

Designing a PIC24 Development Board

Designing a PIC24 Development Board

Several of our recent projects have used a 16 bit PIC24 microcontroller from Microchip.  The PIC24FJ128GC006 contains two 16-bit ADC channels which makes it useful for measuring voltages more accurately than the 10 or 12 bit ADCs you normally find on microcontrollers.  We used this microcontroller for the temperature controller on our recent Soldering Robot and are looking at using it for another project in the future.

One problem we found was trying to prototype code using this microcontroller as unlike Arduino and any ARM microcontrollers there isn’t a small easy to use prototyping board available for the PIC24 chip.  Microchip make an Explorer 16 Development Board which is designed to work with the PIC24 microcontrollers but it is large and fairly expensive and is designed to work best with other Microchip addon cards.

With this problem in mind we decided to design and build a small prototyping board that would work with the PIC24FJ128GC006 as well as one of Microchips DSPIC33EP256MU806 dsPIC series microcontrollers.

PCB Boards Components Fitted Top view with processor installed

The prototyping board was designed with removable daughter boards for the microcontroller.  This means that we can use several different microcontrollers on the same board and if we accidently do something that damages a part of the microcontroller it is easy to replace it without having to unsolder the chip.

The PIC24FJ128GC006 includes a USB port so we added one onto the board, this will come in handy if we want to design any devices that act as a USB device or host.  Programming of the board is done through an IDC header which connects to a Microchip MPLAB ICD 3 programmer.

To make debugging easier we decided to add a USB to UART chip using an FT230X from FTDI.  This connects to one of the UART ports on the microcontroller and gives us the ability to send and receive serial commands like you can with the Arduino boards.  The debug port can also be used to supply power to the board from the 5V USB bus which is then converted down to 3.3V using a linear regulator.

PCB Base Processor PCB Base Side view of the board

The daughter boards contain the microcontroller and the decoupling caps but we decided to put the crystals onto the main board.  An 8MHz crystal was used for the primary oscillator and a 32.768Khz crystal was used for the secondary oscillator.  This gives us the ability to design applications that can switch between the oscillators depending on the task saving which saves power.  A pair of LEDs were added onto the board as well to be used as indicators.

We have uploaded the design files for the prototyping board and the MCU daughter board along with a basic firmware template which we created in the MPLAB Code Configurator to check the board was working correctly to our GitHub account at https://github.com/briandorey/PIC24-Dev-Board

   
Side view of the board    

 

More Articles to Read

Debugging ARM Cortex-M0+ HardFaults
Debugging ARM Cortex-M0+ HardFaults
EMP Jammer build
EMP Jammer build
A 3D-printed e-drum pad
A 3D-printed e-drum pad
Interactive geodesic LED dome = extreme geometric fun!
Interactive geodesic LED dome = extreme geometric fun!
Guide to build your 3.3v power supply
Guide to build your 3.3v power supply
SDR radio breathes life into a 75 year old Marconi CR100
SDR radio breathes life into a 75 year old Marconi CR100
A Time for Ranting!
A Time for Ranting!
Emulate a Commodore 64 keyboard with a modern PC and an Arduino
Emulate a Commodore 64 keyboard with a modern PC and an Arduino
USB2005 and USB97C202 Sharing ATA/ATAPI Drive w/ Another Controller
USB2005 and USB97C202 Sharing ATA/ATAPI Drive w/ Another Controller
Robotic Cat Laser
Robotic Cat Laser

Top




Shares