EasyManuals Logo

Adafruit Feather M4 Express User Manual

Adafruit Feather M4 Express
178 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #167 background imageLoading...
Page #167 background image
CircuitPython runs nicely on the Gemma M0 or Trinket M0 but there are some constraints
Small Disk Space
Since we use the internal flash for disk, and that's shared with runtime code, its limited! Only about 50KB of space.
No Audio or NVM
Part of giving up that FLASH for disk means we couldn't fit everything in. There is, at this time, no support for hardware
audio playpack or NVM 'eeprom'. Modules audioio and bitbangio are not included. For that support, check out the
Circuit Playground Express or other Express boards.
However, I2C, UART, capacitive touch, NeoPixel, DotStar, PWM, analog in and out, digital IO, logging storage, and HID
do work! Check the CircuitPython Essentials for examples of all of these.
Differences Between CircuitPython and MicroPython
For the differences between CircuitPython and MicroPython, check out the CircuitPython
documentation (https://adafru.it/Bvz).
Differences Between CircuitPython and Python
Python (also known as CPython) is the language that MicroPython and CircuitPython are based on. There are many
similarities, but there are also many differences. This is a list of a few of the differences.
Python Libraries
Python is advertised as having "batteries included", meaning that many standard libraries are included. Unfortunately,
for space reasons, many Python libraries are not available. So for instance while we wish you could import numpy ,
numpy isn't available. So you may have to port some code over yourself!
Integers in CircuitPython
On the non-Express boards, integers can only be up to 31 bits long. Integers of unlimited size are not supported. The
largest positive integer that can be represented is 2 -1, 1073741823, and the most negative integer possible is -2 , -
1073741824.
As of CircuitPython 3.0, Express boards have arbitrarily long integers as in Python.
Floating Point Numbers and Digits of Precision for Floats in CircuitPython
Floating point numbers are single precision in CircuitPython (not double precision as in Python). The largest floating
point magnitude that can be represented is about +/-3.4e38. The smallest magnitude that can be represented with full
accuracy is about +/-1.7e-38, though numbers as small as +/-5.6e-45 can be represented with reduced accuracy.
CircuitPython's floats have 8 bits of exponent and 22 bits of mantissa (not 24 like regular single precision floating
point), which is about five or six decimal digits of precision.
Differences between MicroPython and Python
For a more detailed list of the differences between CircuitPython and Python, you can look at the MicroPython
documentation. We keep up with MicroPython stable releases, so check out the core 'differences' they document
here. (https://adafru.it/zwA)
30 30
© Adafruit Industries https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51 Page 172 of 183

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Adafruit Feather M4 Express and is the answer not in the manual?

Adafruit Feather M4 Express Specifications

General IconGeneral
BrandAdafruit
ModelFeather M4 Express
CategoryMicrocontrollers
LanguageEnglish

Related product manuals