Organize and Share your Electronics the way you want. Sign-Up for a free account now. It takes only 30 seconds!

CIKU, PIC18F4550 based Arduino Form Controller

CIKU, PIC18F4550 based Arduino Form Controller

Recently I have participated in CIKU contest held by Cytron Technologies. The requirement to participate in this contest is to share a photo/video on your project using the PIC development board, SK40C. Get more than 50 likes and win yourself a CIKU. So what is a CIKU? CIKU is a PIC18F4550 based Arduino Form Controller, a product by Cytron Technologies. For more info about CIKU, check out its official product page. I would also like to mention that CIKU is a product of Malaysia. Oh, by the way, CIKU is named after a tropical fruit, Sapodillawhich is called ciku in Malay. In this article, I am going to give an overview on CIKU together with its feature before hands on with it.

CIKU contest poster

202765_13

Ciku or Sapodilla

After my entry was eligible for the contest, I was excited, hoping to get my CIKU as soon as possible. I received the CIKU on the next day my entry was qualified. In the parcel received, there is a packaging box containing CIKU and also a small note from Cytron.

2014-10-30 09.02.16

CIKU packaging box

2014-11-03 17.26.22

A small note together with the parcel

First look on CIKU, it has the same shape and dimension as Arduino Uno. All the pin headers are designed exactly the same as standard Arduino Uno. This feature allows the user to use most of the existing Arduino shield with CIKU. The microcontroller used for CIKU is PIC18F4550 from Microchip. The chip is provided together with the CIKU. Besides that, there is also a pin labelling on top of the PIC18F4550 microcontroller.

2014-10-30 09.01.17

Package opened, it is CIKU

2014-10-30 08.59.04

Top view of CIKU

The board comes with a mini USB connection, a power jack and PICkit header. On the top layer of PCB, each pin is labelled in a similar manner as Arduino Uno. On the other side, each pin is labelled to its respective pin as specified in datasheet.

2014-10-30 08.59.28

Close look on CIKU

2014-10-30 08.59.16

Bottom view of CIKU

Some of the features of CIKU:

  • Pre-programmed PIC18F4550 with USB bootloader
  • On board 5V 800mA (Max 1A) voltage regulator
  • On board 3.3V 500mA (Max 500mA) voltage regulator
  • 20 digital I/O pins (of which 6 provide analog input, 2 provide PWM output)
  • Standard Arduino Uno R3 Header, compatibility with standard Arduino shield
  • Program with MPLAB X IDE and XC8 compiler
  • Has PICkit standard ICSP 6 way pads

A comparison between CIKU and Arduino Uno on several aspects are summarized as the table below.

comparison ciku

Now let us focus more into details on the microcontroller used in CIKU. As mentioned previously, it uses Microchip PIC18F4550 microcontroller. This microcontroller support full speed USB 2.0 (12Mbit/s) interface, and since CIKU pre-programmed with Microchip USB HID Bootloader, no external programmer is required.  Unlike Arduino, CIKU does not require any FTDI USB-to-serial driver chip (in older version of Arduino) or Atmega16U2 as USB-to-serial converter (in current version of Arduino).

CIKU

CIKU

For CIKU, it has 14 digital I/O pins which allows you to use digitalRead() and digitalWrite() functions. Two of the 14 digital I/O (pin 5&6) can be used for PWM output (analogWrite() function). Another six pins (A0-A5) allow you to use AnalogIn() function. However, it is also possible to use the analog input pin as standard digital I/O.

pic18f4550 pin diagram

PIC18F4550 Pin Diagram

Peripheral Highlights

Besides that, PIC18F4550 has four Timer modules which consists of one 8 bit Timer and three 16 bit Timer. As compared to Atmega328P used in Arduino Uno, Atmega328P only has two 8 bit Timer and one 16 bit Timer. This could be one of the advantage of using CIKU for project that requires more Timer for precise timing control.

Another feature that I would like to highlight for the microcontroller used in CIKU is that it has three external interrupt pins. More interrupt pins are useful to handle time critical input such as rotary encoder or monitoring other I/O modules. However, if you are using I2C bus (SDA and SCL), you are going to lose two external interrupt pins as they are sharing the same pin with I2C bus. This can’t be helped as the architecture is designed by Microchip to share the functions on the same pin.

While looking through the datasheet of PIC18F4550, I noticed that it has up to 13 channel, 10 bit Analog-to-Digital Converter (A/D). Six of them are wired as Analog In (A0-A5), which makes me wonder if the user could use the other seven channels A/D available. But probably user would have to configure themselves as the provided library might not include this.

MPLAB_XIDE_graphic

So far I have cover on the hardware and microcontroller of CIKU, how about programming the CIKU? In order to use CIKU, you need to install MPLAB X IDE and XC8 compiler. For those of you who are not familiar with MPLAB X IDE, it is a software program created by Microchip to develop applications on Microchip microcontroller. Besides that, you also need to download CIKU library developed by Cytron to fully utilize its function. The library allows you to use functions such as pinMode, digitalWrite, digitalRead and etc. In my opinion, I think these functions make it easier for new starters to get familiarize with Microchip microcontroller.

I guess I have covered most of the basics of CIKU and probably will take some free time to play around with CIKU.

Read more Here







 

More Articles to Read

An Arduino round word clock
An Arduino round word clock
The Sandwich-o-Matic will make your lunch automatically
The Sandwich-o-Matic will make your lunch automatically
An Arduino-controlled automated whiskey distillery
An Arduino-controlled automated whiskey distillery
The Rex800 looks like a dinosaur Terminator
The Rex800 looks like a dinosaur Terminator
Wrist thrusters let you fly through the water effortlessly
Wrist thrusters let you fly through the water effortlessly
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
Making beats on a tiny Arduino DJ controller
Making beats on a tiny Arduino DJ controller
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
QuadBot is a 3D-printable walking robot for everyone
QuadBot is a 3D-printable walking robot for everyone
An Arduino tachometer for your older vehicle
An Arduino tachometer for your older vehicle
Harry Potter fans create a fully-functioning smart wand
Harry Potter fans create a fully-functioning smart wand
A 3D-printed lunar phase clock for your nightstand
A 3D-printed lunar phase clock for your nightstand
Create your own Red Dwarf Talkie Toaster replica
Create your own Red Dwarf Talkie Toaster replica
The Orbitalochka is a solar-powered satellite synth
The Orbitalochka is a solar-powered satellite synth
Building a “laser sky” effect generator with Arduino
Building a “laser sky” effect generator with Arduino
Teslapathic! Hackers build a brain-controlled Tesla
Teslapathic! Hackers build a brain-controlled Tesla

Top


Shares