[Back to Home Page]

www.RomanBlack.com

The BIGPIC6 from MikroElectronica
I review the BIGPIC6 PIC development board - 2nd Jan 2010.


What is it?

The BIGPIC6 is a development platform for the 80 pin PICs in the 18F series. It makes it easy to for a person to develop software and hardware applications for these large PICs.



Note! GLCD and prototyping stripboard are optional extras!


History

I've had a BIGPIC4 for years now, in fact I bought my EasyPIC4 and BIGPIC4 together. As the big 80 pin PICs are not generally hobby class microcontrollers I have never bothered doing any hobby type web page projects with my BIGPIC4 or with the big PICs. I always considered my BIGPIC4 more as part of my "pro" design tools.

But that "hobby" bar is constantly being raised and since there are more people in general using the larger PICs these days I though it was worth showing off my shiny new BIGPIC6 and coding up a few holiday projects.

If you need a reference point to understand these 80 pin PICs they are the biggest most powerful PICs that are NOT in the "dsp" class like the newer PICs used for digital signal processing. The BIGPIC6 comes standard with a 18F8520 (10 MIPS, 32k ROM, 2k RAM, 16 ADC, 5 PWM, and 68 IO pins). MikroE also supply the larger 18F8720 (10 MIPS, 128k ROM, 3.75k RAM, 16 ADC, 5 PWM, 68 IO pins) which is plug-in compatible. These are some seriously capable PICs.


First Impressions!

Well first impressions of MikroE development boards are always good. Obviously the PCB itself is a work of art like the EasyPIC6, and the parts and soldering etc are all top notch. Everything so shiny new and beautiful, it's like Christmas... Well actually it is Christmas my BIGPIC6 arrived on the 19th December!

Speaking of dates, the delivery time was good only taking 15 days from Europe to Australia (and I'm not in a major city AND this was the weeks directly before Christmas). This is typical of MikroE delivery, they seem to be good at sending product worldwide with minimal fuss.

Ok looking deeper. The BIGPIC6 uses MikroE's new design philosophy of using SMD parts to allow them to put even more stuff on their already packed development boards. The layout is clear and logical, everything is well labeled and easy to access. There are some additions and omissions from my BIGPIC4 so I will cover those next.


Now for the comparison...

Here is a photo of my BIGPIC4 and my new BIGPIC6. See the difference in size and density!




New additions for the BIGPIC6;
  • DIMM-168P connector for the PIC adapter card
  • Plastic standoff frames for both LCD and GLCD
  • MCP23S17 16bit port expander IC (gives 2 more 8bit ports)
  • 24AA01 8pin I2C eeprom (1kbit)
  • Socket to connect an external ICD ie Microchip ICD2 or ICD3
  • Backlight power (and switch) for LCD and GLCD displays
  • 6 button menu style keypad; 4 arrows, enter, cancel
  • Safety resistor and jumper for all buttons
  • Power on/off switch (also on BIGPIC5)
  • Touchscreen for graphic LCD (also on BIGPIC5)
  • DIP switches allow individual selection of port pin pull-ups (also on BIGPIC5)
  • DIP switch to setup RS232 port pins (also on BIGPIC5)
  • All 9 ports brought out to connectors! (also on BIGPIC5)
  • Switchmode high efficiency 5v regulator (also on BIGPIC5)
  • Real time clock and 3v battery (also on BIGPIC5)
  • 4.096v voltage reference (also on BIGPIC5)

    Features removed, that were on the BIGPIC4 and/or BIGPIC5;
  • MMC/SD card socket
  • Reduced from 2 ADC trimpots to only 1 ADC trimpot
  • PS2 keyboard connector
  • 12bit DAC chip and connector (BIGPIC5)
  • RS485 chip and connector (BIGPIC5)
  • CAN chip and connector (BIGPIC5)


    Evaluation of the changes

    Well this part is a little disappointing. I never got the chance to try the 3 special ports added on the BIGPIC5; the CAN port, RS485 port and DAC port. Unfortunately these have been removed for the BIGPIC6. It's hard to say what was the reason MikroE had for removing these, I guess it might have been an issue of cost, or even lack of demand. The space that the 3 special ports took up on the BIGPIC5 board has been replaced with the 16pin port expander IC.


    Sadly, these 3 are gone from the BIGPIC6.

    I'll agree the port expander is nice, but where the port expander shines on the EasyPIC6 it is less shiny on the BIGPIC6 because big PICs already have 68 IO pins! Personally I would have been happier with the 3 special ports (especially because I don't have them on my BIGPIC4!) but it's undertandable if MikroE have taken these off due to lack of interest or to keep the price down (the BIGPIC6 is actually $30 cheaper than the BIGPIC5 even with the new features).

    Also gone from the BIGPIC6 is the PS2 connector, useful for adding a mouse or trackball or keyboard. This connector is basically just a socket and 2 resistors, so really it's not as much a loss as one can be manually connected with a small amount of effort.

    On a positive note the port expander adds 16 IO pins, and 16 more LEDs. It's a nice powerful feature, even just for 16 debug display LEDs that don't tie up your application port pins. Likewise the 6 button menu style keypad is a very useful addition, since a typical application for the big PICs is with a GLCD so menu arrow buttons are quite important.



    The real time clock IC with 3v backup battery is very useful, and fits nicely with the pro level of applications that can be built with a big 80 pin PIC. I'm quite happy to have this as standard now, it's one of those peripherals that takes a lot of effort to solder up, in fact I bought a MikroE add-on PCB with real time clock some time ago. Check out the little clock picture above with the 2009 date, it looks like the PCB designer had a chuckle putting the design date of the PCB within the clock area of the PCB! It's the many little touches like this that show the enthusiasm and fun of MikroE's brilliant hardware design team. These dev boards are made with a genuine love for what they do.



    Yay! Finally MikroE have included a I2C serial eeprom as standard! This is a very excellent addition to any development board. It takes almost no PCB space but yet is one of the most useful things you need to add to a PIC application you might be developing. Also good choice on I2C and not SPI, the I2C is (in my opinion) the best standard for this accessory. However I found it quite funny that they used a tiny 1kbit eeprom like a 24AA01 because the PIC itself has 8kbit of internal eeprom! Hopefully MikroE will use a larger eeprom with future production runs!

    Now in the "very sexy" class (and an efficient use of a little PCB space) is the 4.096v voltage reference. This is very nice, and even though it was included on the BIGPIC5, my BIGPIC4 does not have one and I wish it did. Since the big PICs have 16 ADCs onboard, it makes so much sense to add a precision MCP1541 4.096v reference to make the ADCs accurate for real world voltage measuring. This is already setup to connect to the RA3 pin to act as the +Vref for the ADCs.



    Back on a negative note, the SD/MMC card socket is gone. I think having a SD card facility onboard was very useful. One of the typical and valuable applications for a big PIC and LCD/GLCD is datalogging apps and having easy plug-in SD card with up to Gigabytes of storage is practically a necessity. I have SD card socket on my BIGPIC4 so I can still use that but it makes me wonder why MikroE took this useful accessory away. Fortunately MikroE sell lots of cheap plug-in accessories, including a SD/MMC socket.


    The nitty-gritty comparison

    Comparing the BIGPIC6 to my old BIGPIC4 there really is no comparison. Apart from having that nice SD card socket, my BIGPIC4 looks almost embarrassed by its shiny new big brother! (See the picture near the top of the page).

    The BIGPIC6 fully supports all the 68 IO pins on 9 PIC ports. It has a LED, a button, a separate pullup resistor switch and an output connector pin for EVERY PIC IO pin! This was a major failing of my BIGPIC4 that it only supported 6 PIC ports for buttons and LEDs, and 7 ports for connectors (not all 9 ports). Don't underestimate the importance of having a button and LED for every pin, or the subtle but valuable benefit of being able to individually select a pullup resistor for every pin. That is most definitely a pro designer feature. You never know what you will be connecting to every pin, and some ports may share analog and digital inputs in your design so being able to add a pullup (or pulldown) to any pin at the flick of a switch is superb! (Although the up/down must be set globally for each port of 8 pins).

    The BIGPIC6 easily beats my BIGPIC4 in accessories, again if you look at the side by side picture up top you can see just how much better the BIGPIC6 is.

    However if you put it up against the BIGPIC5 the BIGPIC6 still wins, but at a cost. The BIGPIC5 was already a massive step ahead of the BIGPIC4, with full IO pin support and many new additional accessories. The BIGPIC6 has suffered with the loss of the CAN, RS485 and DAC ports. But the BIGPIC6 bounces back and beats it in attractiveness, those VERY visible LEDs AND it beats the BIGPIC5 in price being a full $30 cheaper! It also beats the BIGPIC5 in pro features like the pullup switches, I2C eeprom, menu keypad, and in that other BIG change...


    That other BIG change

    "Huh? What on earth were they thinking?" I have to admit that was the first thing that went through my mind when I first saw the new PIC adapter board.

    I was even a bit annoyed! After all I have an investment in the old square adapter boards used with my BIGPIC4, with 18F8520 and 18F8720 on them and some blank adapter PCBs still waiting to be used.



    But I know from experience that people often criticise my actions when they don't know why I did something unusual. It's a "knee jerk" reaction when you have only seen part of the big picture. So knowing that MikroE have some really smart hardware designers and they must have put a lot of thought into this change it's worth taking a second look at the new adapter and really weigh up the pros and cons...

    Cons. Well obviously it's not compatible with old boards! This is more of a con if you have an investment in old adapters, it's no problem at all for new BIGPIC6 users. I don't like the way it sticks up when mounted in the BIGPIC6, it risks being bumped and means you have to lean over it to see the writing on the dipswitches next to it. Also obviously it is much bigger so if you use the adapter in a finished project it is going to be a MUCH BIGGER finished project!

    Pros. Well for development use where you need to quickly swap in the right PIC for the job you are working on it is much nicer to swap PICs with the smooth PCB edge socket and little levers. The old square adapter was a pain to swap. A big pro is the ease of connecting the new board in a finished project. The old square adapters were completely incompatible with plug-in breadboards (hobby and analog design use) and could not be used with most popular vero type 0.1" stripboards (one-off project use) which meant you really needed to make a custom PCB which is quite a pain for a small square where half the pins need tracks running between other pins.


    The new adapter card (left) and the old adapter card (right)

    The new adapter largely solves those problems. You can connect a single row header and use it in a plug-in breadboard, and even though you only get half the IO pins this way it allows easy breadboard use that simply can't be done with the old adapter. For stripboard use it works perfectly with a single or double row header allowing MUCH faster project completion without needing a custom PCB. This is a powerful feature, and goes well with the other powerful feature of this edge socket that the PCB can be quickly plugged in to the BIGPIC6 to program the PIC.

    I'm sure this was a key part of the MikroE designers thought process. Solder a double row header on the adapter, and a double row header socket in stripboard for the final project. One-off industrial controllers etc that need a big PIC can be built quickly and reprogrammed easily, or even field swap the PIC because it is on a handy adapter card. For the next step up in commercial applications a proper DIMM-168P edge connector can be soldered into custom application PCB and the PIC adapter just plugged in as it does on the dev board.

    So apart from the problem of the adapter being big (and it IS big!) its new design is better for hobby use, better for one-off construction and better for small quantity manufactured equipment where size is less important than being easily field swappable etc. And it's much easier to switch between PICs in a development environment too.

    The two types of adapter boards (with PICs already soldered) are the same price ($19 to $21) although I believe MikroE have recently dropped the price from the old price of $24.90. The new $20 price is much more in line with a "consumable" item which is a good move since the new adapter board is much more convenient to actually USE in a finished project. The blank adapter board can be purchased for $8, which is competitive with most brands of 80pin TQFP adapter boards. But buying blanks now doesn't make a lot of sense since adapter + PIC + xtal, smd caps etc comes to about $16, then you have all that extra hassle of the SMD soldering and testing... For just $4 more you get a fully soldered and tested adapter PCB.


    Using the BIGPIC6

    Using it is a delight. The PCB layout is excellent considering how packed it is. It is a little hard to read the fine print and operate the control dipswitches which are close to the adapter PCB that sticks up quite high. Likewise the righthand column of pushbuttons (Rx0) is a little close to the GLCD if it is installed. The pushbuttons are the smaller type and are packed together but this doesn't seem to cause any problems. It is hard to find something to complain about!

    The 67 LEDs are extremely bright and visible at even very low duty cycles like 1:256. Like my EasyPIC6 they are painfully bright looking directly at them like when reading the LED name to see which one is lit. These LEDs are so much better to use than the old LEDs on my BIGPIC4 because you can easily see low duty cycles and very short flashes.

    The BIGPIC6 has all the newer standard features for MikroE dev boards like built in backlight power for the LCD and GLCD and swichable safety resistor for the buttons in case you press a button when the PIC pin is driving it. It also has the new ICD connector (as well as its inbuilt PICFlash2 programmer). The ICD connector lets you program or debug the PIC using other hardware, (like a ICD2 ir PICKit2) but it also lets you use the BIGPIC6 as a ICSP programmer so it can program other PICs in external application boards!



    Everything on the BIGPIC6 is clearly labeled, that means every dipswitch and every LED, every button, connector pin etc.



    Even the bottom of the PCB is labeled on every solder joint in case you need to attach test probes etc.



    A nice new feature that I have not seen before are the LCD and GLCD mounting frames. The GLCD one is especially useful when using the touchpanel on the display because you have to press on it! The mounting frames are long overdue, on my other board I have often jammed something under the LCDs to support them so they are not just hanging off the delicate header pins.



    MikroE introduced the GLCD touch panel controller and ribbon socket on the EasyPIC5 and BIGPIC5, and this is still standard on the BIGPIC6. Although I have had GLCDs for years this is the first time I have played with a touch panel and I'm very excited by the possibilities.

    The built in programmer works quickly and is seamlessly integrated into the MikroE compilers, but can also be called from within MPLAB if you prefer using the Microchip IDE. It's almost "boring" because it just does everything perfectly with never a problem. You just press F11 in the MikroC compiler, then the PIC is programmed and your application starts running.

    The full-colour manuals and schematic supplied in handy booklets are superb! I wish everything I bought had a manual as good as these. Heck I wish that I could write manuals this good for my own products! MikroE manuals are simple yet at the same time they contain all the important stuff in clear complete colour diagrams. Since they make manuals in many languages the manuals are more diagram oriented, and the extra effort has been put into the diagrams. They deserve extra credit for still supplying them in booklet form with every development board, even though they ALSO supply as electronic (PDF) on the CD that comes in the package. Here is one page;



    Or here is the entire BIGPIC6 manual .PDF (10.7 Mb)


    What additions/changes does the BIGPIC6 need?

    Well the first suggestion is a no-brainer. Replace that silly little 1kbit eeprom with a 512kbit eeprom. There's only about $1 diference in price and 512 times more storage! I have replaced the one on my BIGPIC6 already, see the section below.

    The second suggestion is also a no-brainer. Add a little piezo buzzer or little SMD speaker. Applications with LCDs and menus really benefit from a beep! All dev boards should have a buzzer or speaker.

    I would like to see a xtal socket on the adapter card! There is plenty of room for one. The adapter comes with the default 10MHz xtal, for 10MHz or 40MHz PLL use. But some serial baud rates are only available at specific clock speeds, and if working with video generation or other signal generation it is nice to be able to use a specific xtal. Most of the other MikroE dev boards let you plug in a different xtal value at any time, and it is a real strength of their design. A 2-pin socket on the adapter would be easy and cheap, with solder pads near it to allow soldering a xtal in (if desired for reliability in final applications).

    As for other changes... Since the adapter card is so big and has so much spare real estate, it would be really cool to put a parallel RAM on the adapter card and connect direct to the PIC pins. A benefit of 80 pin PICs is that you can afford to use 27 pins to manually drive a 128 kbyte static RAM which are cheap and common. Or add a SIPO shift register to drive the RAM with only 20 PIC pins. I'm not suggesting using the PIC's inbuilt module for external program memory (because that has limits and complications) but instead just connect a static RAM to the PIC pins and use manual RAM access. I would love a development board setup that had a lot of RAM! That would open up a ton of application opportunities and the only cost would be a slightly more expensive adapter card upgrade, which would be an optional accessory of course. And if you need to build a final application with RAM it's all ready on the adapter PCB!

    I would bring back the SD/MMC card socket, no argument. Since that needs a 3.3v regulator it would also be good to make the 3.3v available on some connectors as a big PIC is likely to be connected to a lot of modern peripherals and more and more of them are using 3.3v. The SD card socket could go in the space to replace the port expander. The port expander has value but it's not the best use of real estate when the PIC already has 68 IO pins.

    In the remaining space where the port expander used to be I would put 2 fast 8bit parallel DACs and 2 dip8 switches to connect the DACs to the PIC. The big PICs have heaps of ADC but no DACs so a couple of fast (not serial) DACs would be very handy and there are plenty enough PIC pins to drive them. OK, so not everybody wants fast DACs on a non-dsp PIC but there is a big difference between 19kHz PWM channels and two DACs outputting up to 1 megasample/sec each which is not unreasonable on a 10 MIPS PIC. The 8bit DACs could even be done as R2R networks (in SMD or SOIC) to keep costs down.


    Modifying the BIGPIC6

    I just HAD to replace the 1k eeprom with a 512k eeprom. Microchip make a 512k eeprom in the narrow (150mil) package, but I did not have one in stock so I bent the leads of a 208mil 24LC512 eeprom and used that. It looks a bit messy but that doesn't matter the job is done and I now have 512k onboard. :) A proper narrow package eeprom would be the right replacement.

    Warning! I did this mod easily in 10 minutes but it requires skill at SMD rework. If you choose to do this you may damage your BIGPIC6! Be warned. And don't blame me.


    The adventures of 512k Avenger!

    I will add a power supply switch instead of the EXT/USB jumper. My EasyPIC6 also needs this mod but I need to buy a couple of small neat switches that will fit the 0.1" 3-pin mount.

    The other mod I am considering is to remove the SMD xtal on the adapter card and connect a 2-pin socket there. But this is not a rush, I can wait until I buy another adapter (I still need a 16F8720) and then I can modify both my developent adapters at the same time.


    Overall opinion

    Most of what I said before in my EasyPIC6 review also applies here, like the excellent hardware quality, superb manuals, great usability and fast reliable programmer etc etc.

    But where the EasyPIC6 is perfect for PIC hobby development and pro development alike (just go and buy one!) the BIGPIC6 is much more specialised.

    The BIGPIC6 can only be used with the big 80-pin PICs, and could never be justified as a beginner or entry level tool, and it would be a foolish choice as your only development tool. But these big PICs have a lot of power. They are quite "industrial" and it should not be instantly assumed that they are less of a controller than the dsp range PICs just because they are slightly older.

    These PICs run at 5v, which might be considered obsolete if you are talking about little MP3 players but is still very important in industrial controllers especially when all the PIC IO pins are specced at 5v and 25mA (provided the total of port current is < 200mA). Likewise the big ROM of 128 kbyte (18F8720/8722) means these can run massive operating systems like industrial PLCs, command interpreters or even heaps of lookup table ROM for signal generation. And the 18F instruction set allows a lot of code re-usability and easier assembler coding than the dsp PICs.

    The BIGPIC6 is definitely aimed at the pro developer who will sometimes need to create an application with tons of 5v IO pins, big ROM etc and can also take advantage of years already invested in 16F or 18F code. The new adapter cards are ideal for one-off or small quantity builds where you need to create something with a huge powerful PIC and get it built and soldered up in a hurry, and the $20 consumable cost for an adapter card with PIC is quite reasonable.

    I really can't say whether this is a good dev board for hobby PIC use. If a hobbyist already has a lot of experience with 16F/18F PIC and would like to work on larger applications then it would be worth the investment in a BIGPIC6 and a few adapter cards. But then in a hobby environment where time is plentiful it may be a better idea to work with a dsp PIC instead (like dsPIC24 or 33 series), even though they are a lot fiddlier and there is less chance for code re-use or easy assembler work.

    Obviously MikroE think the big PICs are important, they have upgraded the BIGPIC dev board to version 6 first while their dsPIC PRO 4 and lv24/33A boards remain the same. I agree with them, these big PICs are fast and easy to use but also pack a big punch with up to 128k ROM and a ton of 5v 25mA IO pins. From a pro developer side it is important to be able to take an existing product from a PIC 18Fxxx 40 pin and just "upgrade" it to a powerful 80 pin with the same source code and not have to fiddle about.

    The BIGPIC6 is a superb piece of versatile development hardware that leaves very little for me to criticise. I think it is a fantastic companion to a EasyPIC6 and ideal for quickly developing commerical apps that need plenty of power and lots of PIC pins but don't require "digital signal processing" or 3.3v portable use.

    But as for the question "should I buy a BIGPIC6 next?" that is going to remain a question that YOU have to answer, not me. I think you know MY answer. :)




    Now for some BIGPIC6 projects!


    I've put together a few BIGPIC6 projects;
  • RS232 baud timer - show actual TX baudrate of a USART
  • Bidirectional RS232 baudrate converters; with GLCD and large data buffers
  • RS232 storage scope; up to 2 Megasample/sec, 8192 samples and GLCD with touchpanel




    Click here for some Easy PIC6 projects!


    - end -

    [Back to Home Page]