Programming Options

The method you choose to program your microcontroller and Crickit depends on what type of environment you are looking to use and available options. The chart below details which options are available with detailed descriptions on this page.

Crickit Compatibility Matrix

Arduino IDE

CircuitPython

MakeCode

CPython

Circuit Playground Express and Crickit

Great!

Great!

Great!

Nope

Feather M0/M4 Express and Crickit

Great!

Great!

Great!

Nope

micro:bit and Crickit for micro:bit

With Extension

Nope

Great in Beta!

Only MicroPython

Raspberry Pi and Crickit HAT

Nope

Great!

Nope

Use CircuitPython

Crickit with Circuit Playground Express

Programming this combination offers great flexibility. Here are the options:

  • Microsoft MakeCode provides complete Circuit Playground Express support and complete Crickit support with the Crickit Extension available in the current releases. MakeCode is excellent for beginning students with a block interface. Support for sensors and peripherals not on the Circuit Playground Express is generally not available.
  • CircuitPython is supported for all Circuit Playground Express and Crickit functionality. While CircuitPython may have require a bit more study, it is definitely worth it for the rich programmability, through high level and lower level libraries. CircuitPython support for various sensors and add-ons is excellent and under continual development. Development with the Mu editor offers error checking, serial output and plotting capabilities. Very fast to upload and make changes due to being an interpreted language.
  • The Arduino IDE works with Circuit Playground Express and with Crickit as an add-on library. The number of drivers for peripherals and sensors is generally excellent and Arduino is suitable for creating new drivers depending on complexity. The learning curve is very high to understand both the built-in functionality and the underlying C/C++ syntax. Error messages may not be intuitive. Compilation times can slow down development. Serial monitor support is included.
  • Native CPython support for this combination is not supported. Adafruit suggests using CircuitPython which has better CPython support than MicroPython.

Crickit with Feather M0/M4 Express CircuitPython Supported Feather

Programming this combination offers great flexibility. Here are the options:

  • Microsoft MakeCode requires a beta version which includes support for other processors.
  • CircuitPython is supported for all CircuitPython compatible Feather boards and Crickit functionality. CircuitPython will NOT work on non-CircuitPython Feather boards such as the 32u4 Feathers, 328P Feather, M0 Basic Feathers. nRF52 support is still in development. ESP8266 support is limited. While CircuitPython may have require a bit more study, it is definitely worth it for the rich programmability, through high level and lower level libraries. CircuitPython support for various sensors and add-ons is excellent and under continual development. Development with the Mu editor offers error checking, serial output and plotting capabilities. Very fast to upload and make changes due to being an interpreted language.
  • The Arduino IDE works with all Feather boards and with Crickit as an add-on library. The number of drivers for peripherals and sensors is generally excellent and Arduino is suitable for creating new drivers depending on complexity. The learning curve is very high to understand both the built-in functionality and the underlying C/C++ syntax. Error messages may not be intuitive. Compilation times can slow down development. Serial monitor support is included.
  • Native CPython support for this combination is not supported. Adafruit suggests using CircuitPython which has better CPython support than MicroPython.

Crickit with micro:bit Support

Programming this combination is good but is very limited for Python:

  • Microsoft MakeCode provides complete micro:bit support and complete Crickit support with the Crickit Extension available in the current beta release. MakeCode is excellent for beginning students with a block interface. Support for sensors and peripherals not on the Circuit Playground Express is generally not available.
  • CircuitPython is not currently supported for micro:bit. There is MicroPython for micro:bit but it does not have Crickit support.
  • The Arduino IDE works with Circuit Playground Express and with Crickit as an add-on library. The number of drivers for peripherals and sensors is generally excellent and Arduino is suitable for creating new drivers depending on complexity. The learning curve is very high to understand both the built-in functionality and the underlying C/C++ syntax. Error messages may not be intuitive. Compilation times can slow down development. Serial monitor support is included.
  • Native CPython support for this combination is not supported. Adafruit suggests using  MicroPython if Python programmability is needed but there is no Crickit or driver support from Adafruit.

Crickit HAT for Raspberry Pi

Programming this combination offers flexibility for CPython only.

  • Microsoft MakeCode support is not available.
  • CircuitPython is supported for Raspberry Pi and Crickit HAT. CircuitPython requiresa bit of study, but it is definitely worth it for the rich programmability, through high level and lower level libraries. CircuitPython support for various sensors and add-ons is excellent and under continual development. Development with the Mu editor offers error checking, serial output and plotting capabilities. Very fast to upload and make changes due to being an interpreted language.
  • The Arduino IDE does not work with the Raspberry Pi and Crickit HAT.
  • Native CPython does not provide the library for Crickit. You should consider CircuitPython which is a subset of CPython with support for the Crickit HAT capabilities.
This guide was first published on May 16, 2018. It was last updated on May 16, 2018. This page (Programming Options) was last updated on Sep 17, 2018.