Clicker2 for PIC32MX: now with direct Arduino IDE programming

Teodor Costachioiu
Oct 7, 2016 · 3 min read
Image for post
Image for post

Recently the v1.3.1 version of the chipKIT-core was released by the chipKIT team. As a novelty, this release adds direct support for the MikroElektronika bootloader in Arduino IDE, as well as better integration of the Clicker2 for PIC32MX board. Yes, that’s right! The Clicker2 for PIC32MX can now be programmed in Arduino IDE, just like any other Arduino board.

If you remember my older blog posts, I have managed to find a way to use the Clicker2 in Arduino IDE, but with a cumbersome solution, that needed the replacement of the bootloader and an extra USB-UART click. That old solution has now become obsolete. The new way is simpler, doesn’t require any other external components, and it works just right out of the box.

However, switching from the ubiquitous Arduino boards to MikroElektrokina hardware is not always easy. One important issue is how to address each pin from Arduino IDE. Well, here are some minor issues. I took my Clicker2 for PIC32MX and I have tried to find how the pins are numbered. Here’s what I came with:

Image for post
Image for post
Clicker2 for PIC32MX: Arduino IDE pinout

The novelty here is the pin numbering, matching that of the Clicker2 board. You will notice that some pin numbers are missing — there’s nothing wrong with this, it’s only to keep the matching I mentioned above.

But I have found also some minor issues: some analog pins are incorrectly defined. For example, to read the state of the AN pins of the click sockets you will have to use the pin number, without the “A” — like analogRead(69); for example.

Image for post
Image for post

Another thing is reading the battery voltage. If you look on the Clicker2 schematic, you’ll find that you have to set BATT SENSE ENABLE pin low before reading the BATTERY VOLTAGE pin. I do recommend to set the BATT SENSE ENABLE back high after the reading, as this will prevent discharging of the battery through the sensing resistors.

As for programming in Arduino IDE, all you need is to connect the Clicker2 board using the USB port. When uploading the sketch, when the *** Enter programming mode now. *** message appears on the screen you have to press the reset button on the Clicker2 board, This brings up the bootloader and the sketch can be uploaded. This is the only difference as compared with Arduino Uno boards. I also mention here that Serial.print() works using the USB port.

Another thing is that now the MikroElektronika Buggy becomes fully compatible with the Arduino IDE. Of course, an in-depth post regarding the new ways to program the Buggy will follow soon

Alternate pin names

A quick update on this post [3 November 2016]: As pointed out by Matt Jenkins from Majenko Technologies, there’s an alternate set of pin definitions for the Clicker2 board, the format being “PIN_xxx”, where “xxx” is the pin name (written on the board). The click sockets also have their own pin definitions, of type “PIN_Cy_xxx”.

If you prefer this way of addressing the pins, here’s an updated pin map:

Image for post
Image for post

As an example on how to use these pin definitions, take a look on how to make the LED1 on the Clicker board blink:

void setup() {
pinMode(PIN_LED1, OUTPUT);
}

void loop() {
digitalWrite(PIN_LED1, HIGH);
delay(1000);
digitalWrite(PIN_LED1, LOW);
delay(1000);}

Originally published at https://electronza.com on October 7, 2016. Moved to Medium on May 5, 2020.

Electronza

DIY electronics projects and more

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store