Skip to content


dsPIC breadboard

titlepicBernard 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

PictureO 145 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.

You can get MPLAB and the C compiler from Microchips web site

Now you are probably wondering about the unofficial compilers so here are a few

So you are going to ask which is the best. Well cant really tell you since I only used MPLAB and MikroElektonikas compilers. What I can say about them is the Compilers from MikroE are very easy to use, great libraries and help, with lots of example code. But it seems a bit clumsy to me when trying to do something a bit more complicated. Still it’s a great compiler especially for beginners. The development boards from them are great, they will set you back around a 100 bucks. I used a lot MPLAB C30 for dsPICs and it runs pretty good, however it’s a more professional software so its everything but easy to use. It takes some time to figure it out but then its not a problem. Unlike MikroE compilers which you can get the hang of in like 10 minutes if you already know the basics of C, Basic or Pascal.

But when you have your program you need to get it in to the MCU. This board has a ICSP connector so it can be programmed by normal programmers. But you can take the advantage of the on board RS232 by using a boot-loader.

If you are not familiar with boot-loaders, this is how they work. Basically it’s a small program that runs when the PIC starts up and checks for a signal to go in to programming mode, if not then just let the program run that’s already in the memory. But if it gets a sign (a high on a pin, data in the port etc) then it will start communicating with the PC. Then the PC can send it the program and the boot-loader will write it in to the flash. After it’s done it just runs the program and after that the program has full control over the COM port.

You can get a boot-loader that works on PIC16F, PIC18F and dsPIC devices here.

PictureO 152 As for this board it’s great for small projects only because of the low I/O count and a small dsPIC. But with a big string of devices on the SPI bus it would probably do a lot. It’s a good start in dsPICs but you might consider using the big 40 pin ones that have loads more features or even the 100 pin ones for a huge project. They are great for projects needing a little bit more CPU power also the 16 bits are a great help. The fast multiply, divide and operations with arrays make it good for real time processing, thanks to the DSP engine that is like a math co-processor.

This is about all you need to know about dsPIC microcontrollers. All you need to do now is think of some super cool projects and with luck making them work great. Also nice if you post your project on the web so everyone can enjoy it and maybe even build it.

I myself am developing a portable digital oscilloscope using a dsPIC and a graphical LCD. Probably will be a article with a graphics library for it with source code and a another article about the finished scope.

Schematic:

PICtest board

Posted in Development Tools, Discovering, Microcontroller, Projects.


3 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Eric says

    Regarding GLCD, I assume you know about Microchip’s free Graphic’s Library, right? It has a lot of cool features and even works with touch screens. It’s for the PIC24, which means it works on dsPICs also.

  2. Berni says

    Yeah there are not many projects cause dsPICs are only around for a few years now and most rather stay on 16Fs and 18Fs.

    But i say it is worth giving it a try.They are so much better than 18Fs, more speed,memory,peperials… also 16 bit is great

    Curently i am developing a GLCD library but on a dsPIC30F4011.So far i have picures and text, also the librarys takes care of the left-right half, the 8 pixel pages evrythyng

  3. VisNaicker says

    I am waiting in anticipation to see what you may come up with this. Pretty good uC for the price, but there seems to be so few projects that I have come across – just about the circuit Cellar contest entries.
    I’d certainly like these dspics (pic24/30/33) to take off and become as common as the f87/f877/f628. I have some samples from Microchip, and just looking around for a programmer that I can hook up (3.3v parts …).
    Don’t let is gather dust.