Bernard introduces us to the dsPIC microcontroller. He shows us his Arduino like project board for a dsPIC and gives advice on software development tools.
This article was submitted by Bernard Klinc as part of the βHobby parts for articlesβ program. Bernard received a graphic LCD module for this great article. You may remember Bernard from his previous Accelerometer Based Mouse article and video.
This thing may remind you of an Arduino but itβs not, itβs not even an AVR but a dsPIC30F2012. Lots of times I want to try out something, but Iβm too lazy to make the whole thing over and over on a breadboard so why not solder it together quick on a pref board so I can just stick it in. And always too lazy to put on RS232, but itβs a great debug so thatβs why itβs on the board, actually itβs the only feature thatβs built in to the board, because its really the only thing I need.
And what can this dsPIC do? Well it has things like:
- 24KB of flash (CPU write access)
- 2KB of RAM
- 1KB of EEPROM
- 16 Bit 30MIPS CPU
- DSP Engine
- 8 channel 12bit ADC
- 2 PWM Outputs 16 bit
- 1 UART addressable
- 1 Serial (SPI/I2C) up to 30Mbit
- Clock PLL
This is not a high end dsPIC its just a small and easy one. The better ones have 256KB of flash and 16KB RAM, faster CPUs at 40MIPS, 32 ADC channels, 4 UART, 3 serial etc β¦
Anyway the bigger dsPICs are quite packed with features. So what can you make with such a MCU, well microchip has made voice recognition, 12 channel EQ and other neat stuff with them. But things like the voice recognition library is not free you need to buy it.
Speaking of software costs microchip makes a official compiler for them that works in there IDE called MPLAB which is free, but on its own it can only do assembler , but they also make a C compiler that also runs inside the IDE. There are 3 C compilers that is C18 (For the PIC18F family) C30 (For all 16 bit) and C32 (For the all new 32bit family). Also MPLAB includes a simulator for testing your code and supports debuggers, obviously only the official ones made by microchip.
For more detail: Breadboard using dsPIC30F2012 microcontroller