This year I couldn’t attend the Maker Faire in Rome, so I missed the release of the Flip & click board. Even from the first moment I read about in on MikroElektronika news I knew I had to own one. Now I’m the proud owner of a Flip&Click SAM3X board, and after playing with it for a few days I feel confident to write my own review.
Fist of all, I have to say that I’m more accustomed with third-party Arduino clones, and I can tell from the beginning that the Flip&Click SAM3X is anything but an Arduino clone. Instead, the Flip&Click SAM3X is a completely redesigned board, keeping all the best from the Arduino Due, including programming in the well-known Arduino IDE, with the added benefit of four mikroBUS sockets, plus some nice extra features.
Right out of the box: the Flip&Click SAM3X board, plus four spacers that are very useful when the board is used with the Arduino Side facing downwards. If the spacers are not installed the boards sits on the power connector and on the SPI headers.
Inside the box you will also find a small leaflet highlighting the most important features of theFlip&Click SAM3X board, and a card inviting you to join the Libstock community. The missing thing is the board schematics, but I hope those will be available on MikroElektronika website soon.
The Flip & Click is a close relative of the Arduino Due, based on the same Atmel ATSAM3x8E ARM® Cortex®-M3 processor you will find on official Arduino Due boards. The ATSAM3X8E runs at 84MHz and features 512KB of flash memory and 100KB of SRAM. As for the peripherals, we have plenty to choose from: Ethernet, dual CAN, High Speed USB MiniHost, multiple USARTs, SPIs, TWIs (I 2C), and one I 2S. We will also find a 12-bit ADC/DAC, temperature sensor, 32-bit timers, PWM timer and RTC.
As the Flip & Click board is a completely redesigned board with the purpose of bridging the gap between the MikroElektronika and Arduino worlds, some of the ATSAM3X8E peripherals like Ethernet, DAC and CAN are not available. This is a small price to pay for the benefit of using the Click boards without any adapter shield.
The Click side
I will start with the simple part, the Click side of the Flip & Click board. Here we find four mikroBUS sockets marked from A to D and four blue LEDs, also marked from A to D.
Similar to the Arduino Mega click shield the mikroBUS pins are labeled as mikroBUS function and corresponding ATSAM3X8E pin. Based on the Arduino Due pinout we can get the following Arduino pin labeling:
Some important things to consider:
- Some pins have a very low 3mA source / 6mA sink current. Extreme care must be taken to keep below these values, or you will damage the board. Among those pins are the SDA1 and SCL1 lines used by I2C boards, pins that are common to click sockets A and B, as well as for any shield on the Arduino side. So, when using multiple I2C click boards please take into account that all boards count towards the total source/sink current. As for comparison, an Arduino Uno can source/sink 40mA. So, things that go fine with an Arduino Uno might damage the Flip & Click board.
- SPI lines MISO, MOSI, and SCK are also common for all click sockets. However, those pins can source 15mA and sink 9mA. A bit better, but still, you have to be careful not to exceed the maximum current allowed by the ATSAM3X8E.
- mikroBUS Sockets C and D share the same RX/TX pins. So, you cannot place Click boards that rely on serial communication on both mikroBUS sockets at the same time.
- Some pins are shared with the Arduino connector on the reverse side. Depending on what’s plugged on the Arduino side, this also counts towards the maximum source/sink current.
I also mention here that the USB connector on the mikroBUS side can be used for both slave or master (host) modes.
As for the click boards, there are more than 160 to choose from. Just keep in mind that the Flip & Click is a 3.3V board, so the very few 5V-only clicks will not work with it. All other boards that are either 3.3V-only or can be configured for 3.3V operation will work fine. Actually, most of the click boards already come configured for 3.3V so it’s less of a headache to use them with the Flip & Click.
The Arduino side
Here’s where all the fun happens. Here we find all the components that make an Arduino Due: the ATSAM3X8E processor, the programming port and the same Atmega16U2 that you find on the Arduino Due, the power supply and the Arduino connector. Note that there’s a mistake on the MikroElektronika product page: the pinout of the Arduino connector is that of an Arduino Leonardo, not that of the Arduino Uno. That is, I2C lines SDA1 and SCL1 are in line with digital pins, after pin13 and not shared with pins A4 and A5. SPI lines are available only from ICSP connector, while pins 11–13 are digital pins only, albeit with PWM capability. The power supply is also a bit different, with 3.3V supply being implemented with an LD29080 IC, capable of delivering a maximum current 800mA (this includes the current consumption of whatever is on the Flip& Click board).
Most of the Arduino shields I own are designed for Arduino Uno, and only a few will work with the Leonardo layout. Add to this the fact that the Arduino Due is a 3.3V board and you’ll soon find that the shields that can be used with the Flip & Click can be counted on the fingers of one hand. For what I have researched it seems that the Arduino Ethernet shield V3 will work (haven’t tried it myself). I also know that SparkFun Ardumoto shield can be configured for 3.3V operation (this one I have tried and it works). For any other shield, I suggest to read the Arduino Leonardo forums for pin compatibility and the Arduino Due forum for issues related to 3.3V compatibility.
Besides this, here’s a quick tip: there is a nice shield made by SparkFun called Transmogri Shield, which is designed to provide a pin remapping to allow Arduino Uno shields to be used on Arduino Leonardo boards. With this shield placed on top of the Flip & Click board, all the required SPI and I 2C lines will be right where they belong. Now I can place one Arduino Uno click shield on top of the Transmogri shield to get two extra mikroBUS sockets. As most click boards are 3.3V compatible, this is a nice way to avoid any logic level issues.
If you go this way, please observe that the Arduino side uses I 2C1 and RX0/TX0 and adjust your Arduino IDE code accordingly. Analog pins A5 and A4 are not accessible, as they are replaced by I 2C data lines. Analog pins A0-A3 are shared with the click boards on the opposite side. Access to pins 11–13 is lost, as they are replaced by the SPI lines. The LED connected to pin 13 will still work. All other pins are those marked on the Arduino Uno click shield.
With this being said, having no less than six click sockets opens a wide range of possibilities. All you have to keep in mind is to respect the maximum source/sink currents of the ATSAM3X8E processor.
Just a few words about the software: the Flip & Click is detected as an Arduino Due and everything that works on the Due works with the Flip & Click too. This might seem nice, but many code libraries are not compatible with the Due. The reason is that many libraries were written with the Arduino Uno in mind and, to achieve some code speedup some libraries include direct access to ATMEGA328P registers and even assembly code. Those libraries will never work with the Due, which has a completely different hardware architecture.
Again, search the Arduino Due forums for compatible libraries. You may be lucky and find the answers to your questions there.
Originally published at https://electronza.com on November 17, 2015. Moved to Medium on May 5, 2020.