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

Gesture Controlled Smart Home
Gesture Controlled Smart Home
Design for a Wideband, Differential Transimpedance DAC Output
Design for a Wideband, Differential Transimpedance DAC Output
Wrist thrusters let you fly through the water effortlessly
Wrist thrusters let you fly through the water effortlessly
Bertan/Spellman 225-20R HV power supply teardown
Bertan/Spellman 225-20R HV power supply teardown
Blinking Christmas Lights
Blinking Christmas Lights
Adjusting clock with alarm, hygrometer & thermometer on 1.8″ ST7735 display
Adjusting clock with alarm, hygrometer & thermometer on 1.8″ ST7735 display
Adding an “extra sense” with rangefinders
Adding an “extra sense” with rangefinders
This wireless game controller looks like a rug
This wireless game controller looks like a rug
How to run your ESP8266 for years on a battery
How to run your ESP8266 for years on a battery
Calibration of a 3-Phase Energy Meter Board on the ADE7754
Calibration of a 3-Phase Energy Meter Board on the ADE7754
Making beats on a tiny Arduino DJ controller
Making beats on a tiny Arduino DJ controller
Qinsi-QS5100 Sn63Pb37 solder profile
Qinsi-QS5100 Sn63Pb37 solder profile
Water Detection System
Water Detection System
Professional Hi-Fi 15W Tube Amplifier circuit
Professional Hi-Fi 15W Tube Amplifier circuit
This Arduino machine will judge how sick your ollies are
This Arduino machine will judge how sick your ollies are
Turn an old payphone into a boombox for ’90s hits
Turn an old payphone into a boombox for ’90s hits
Big F’n 3D printer build
Big F’n 3D printer build
Temperature alarm for boiling milk
Temperature alarm for boiling milk
QuadBot is a 3D-printable walking robot for everyone
QuadBot is a 3D-printable walking robot for everyone
MicroConverter I2C Compatible Interface
MicroConverter I2C Compatible Interface

Top


Shares