%%alias Aliased from [ItsyBitsy] and [M4 Express|M4Express] %% The __ItsyBitsy M4 Express __ uses the __Microchip ATSAMD51 Cortext M4__ processor running at 120 MHz, with floating point support and __512KB Flash and 192KB RAM__. It's quite tiny, at 35mm long by 18mm wide, and has 6 power pins, 23 digital [GPIO] pins (7 of which can be analog in, 2 x 1 MSPS analog out DACs, and 18 x PWM out). It has 2MB of SPI Flash memory to contain your program code. It receives both its power and connection to the outside world via a micro USB connection. See also: [Adafruit Metro Mini|AdafruitMetroMini] (a similar board) !! Programming The ItsyBitsy can be programmed in [CircuitPython], and from AdaFruit comes preinstalled with a CircuitPython UF2 bootloader. You can install an alternative bootloader if you want to program it in some other language, but we're happy with CircuitPython. The steps are: * create your Python code in a file named "code.py" or "main.py" * attach the ItsyBitsy to your computer using a USB cable. It should show up as a drive named "CIRCUITPY" on your desktop. The LED on the M4 Express will glow green. * drag-and-drop your python file onto the mounted drive * push the tiny reset button once. The ItsyBitsy will load and execute the code.py file If you want to update your code just drag a new version onto the drive. You should see the results immediately as the M4 Express senses a change in the file. !! Example Python Code This file, named "code.py" causes the little red LED on the ItsyBitsy to blink: {{{ import board import digitalio import time led = digitalio.DigitalInOut(board.D13) led.direction = digitalio.Direction.OUTPUT while True: led.value = True time.sleep(0.8) # how much time on? led.value = False time.sleep(1.8) # how much time off? }}} !! Intercommunication with a Raspberry Pi This can be done with [Firmata], a protocol not unlike Midi. !! Links * [Overview|https://learn.adafruit.com/introducing-adafruit-itsybitsy-m4] on AdaFruit * [Download Mu|https://codewith.mu/en/download] * [Installing the Mu Editor|https://learn.adafruit.com/adafruit-metro-m0-express-designed-for-circuitpython/installing-mu-editor] on AdaFruit * [UF2 Bootloader|https://github.com/Microsoft/uf2] on github * [Raspberry Pi (master) Arduino (slave) I2C communication with WiringPi|https://roboticsbackend.com/raspberry-pi-master-arduino-uno-slave-spi-communication-with-wiringpi/] * [Raspberry Pi (master) Arduino Uno (slave) SPI communication with WiringPi |https://roboticsbackend.com/raspberry-pi-master-arduino-uno-slave-spi-communication-with-wiringpi/] ---- [{Tag Arduino MicroprocessorsAndMicrocontrollers}]