Tuesday, October 17, 2017

Review of PIC Based Arduino Form Factor Kit (CIKU)

I am using SK40C to do my hobby project but this development board had consumed the essential pins of PIC18f4550 for I2C and SPI. I dont want to modify the board so I planned to redesign the board.

Nevertheless, I was so occupied with work and I was just starting with KICAD (yea, I am letting go EAGLE). I had the finished product but I wasn't confident enough to send the board for manufacturing. I had several failed attempts in producing a workable PCB (need to try a few version before got the working one).

Until the last cytron sales, I finally get a cytron "PIC based Arduino form factor Kit" at 50 percents discount. It is simple and should be able to perform the SPI/I2C communication wanted. Best of all, cytron still reserve some space for the PICKIT, which is a good news, I can still use the debugger and programmer function. 

First look, it comes with a good looking packing.


From the front view, it is nice small form factor. I like the function where the board can be powered using USB port, save the cabling and skip the power supply. 

Only one button but enough for my use.
I also like the way, cytron categories the power pin, I2C pin, uart pin, ADC pin, PWM pin etc.
However, no crystal, WHY, think I have to live with that.
Note: I have to recalculate all the delays, timing, clock divisor, timer settings.

I like the printing on top the IC. Serve little purpose as the track is routed to fit the Arduino kits. Please aware, the IC pin description has no purpose at all aside of looking nice.

Back side: The track is actually quit messy. Good side: All connector pins are labeled.


Next, I soldered the pin for PICKIT2.
the PICKIT2 fit nicely with the PIC18f and the board still not overturn. Not sure how after I connect the USB cable.



From the software side, I not going to use the custom bootloader so I going to reprogram the whole thing.

Now have a look at the schematic, led at pin RD7, so I did a simple light a led.

Now to reprogram back the bootloader. Where to find one?
microchip official has one: link
openlab: link (seem interesting) let has a try.

Download the source code from github.
at the main folder i found this "MCHPUSB Bootloader PIC18F4550 Family.hex".

Opening my trust worthy pickit2 program, program the hex file.
Following the "easy to follow" tutorials: link
They are so thorough.

I need to add offset for my program, which I dont want to do that, so I going to stop here. However the tutorial provided is teaching how to add offset to your program, you guys are free to try.

Conclusion:
3.5/5 - mostly because I get this for 50 percent discount.
Cytron is a hardware company and it is a good idea that they provide same form factor as Arduino. Althought, they tried to write the library for ciku but we have Arduino for that. I am prefering they  had written the library in C for C18 or XC8 instead of Arduino style.

My 2 cents:
If the library is in C, user can go and read then decide to pass what parameters to funtion. Or learn to change the library source code.
For new beginner, Arduino is good, but as you want to advancing, many people failed.
For my case, I saw most Arduino user unable to switch the role from user to developer. They took the software for granted. They able to do a lot of fancy stuffs but they have no fundamentals and cant even read & set a register. Even simple wiring, placing resistor and capacitors are hard for them as they dont know how to read the datasheet (Arduino modules settled all).

For manager who are going to hire Arduino expert, please hire the one that wrote the library, instead of the one who use the library. It is a two different level of difficulty.