# CircuitPython

CircuitPython és un derivat de codi obert del llenguatge de programació MicroPython adreçat a estudiants i principiants. El desenvolupament de CircuitPython compta amb el suport d'Adafruit Industries. És una implementació de programari del llenguatge de programació Python 3 escrit en C. S'ha portat per funcionar en diversos microcontroladors moderns.
CircuitPython consta d'un compilador de Python per a bytecode i un intèrpret d'execució d'aquest bytecode que s'executa al maquinari del microcontrolador. Es presenta a l'usuari un indicador interactiu (el REPL) per executar les ordres compatibles immediatament. S'inclou una selecció de biblioteques bàsiques de Python. CircuitPython inclou mòduls que donen al programador accés al maquinari de baix nivell dels productes compatibles, així com a biblioteques de nivell superior per a principiants.
CircuitPython és una bifurcació de MicroPython, creat originalment per Damien George. La comunitat MicroPython continua discutint forks de MicroPython en variants com CircuitPython.
CircuitPython està pensat per complir amb CPython, la implementació de referència del llenguatge de programació Python. Els programes escrits per a plaques compatibles amb CircuitPython no s'executen sense modificar en altres plataformes, com ara el Raspberry Pi.

## Ús

CircuitPython s'està utilitzant com una solució alternativa emergent per a la programació de microcontroladors, que normalment es fa en C, C++ o assemblatge. El llenguatge també ha experimentat una adopció en la fabricació de petits dispositius de videojocs portàtils. El desenvolupador Chris Young ha portat el seu programari de transmissió i recepció d'infrarojos a CircuitPython per proporcionar interactivitat i ajudar aquells amb problemes d'accessibilitat.

## Suport de maquinari

La versió 9.1.0 admet una sèrie d'arquitectures, anomenades "ports":
* atmel-samd: Microxip SAMD21, SAMx5x
* cxd56: Sony Spresense
* expressif: Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6
* nòrdic: nòrdic nRF52840, nRF52833
* raspberrypi: Raspberry Pi RP2040
* stm: família de xips ST STM32F4

## Referències

* ↑ «CircuitPython is an education friendly open-source derivative of MicroPython» (en anglès). GitHub. [Consulta: 30 abril 2018].
* ↑ «adafruit/circuitpython» (en anglès). GitHub. Adafruit Industries. [Consulta: 2 maig 2018].
* ↑ «CircuitPython». Read the Docs. Adafruit Industries. [Consulta: 1r maig 2018].
* ↑ George, Damien. «Damien P. George» (en anglès). Damien P. George, 20-05-2016. [Consulta: 1r maig 2018].
* ↑ «Adafruit CircuitPython» (en anglès). MicroPython Forum. MicroPython.org. [Consulta: 2 maig 2018].
* ↑ Lewis, James. «Circuit Python adds Python to Microcontrollers» (en anglès). The Bald Engineer, 14-02-2018. [Consulta: 2 maig 2018].
* ↑ Ganne, Simon. «Can I use circuitPython code on my raspberry?» (en anglès). Element 14 Community. Element 14.
* ↑ Dopieralski, Radomir. «CircuitPython LAMEBOY» (en anglès). BitBucket. BitBucket. [Consulta: 2 maig 2018].
* ↑ Young, Chris. «Announcing IRLibCP — a Circuit Python Module for Infrared Transmitting and Receiving». CY's Tech Talk. Chris Young, 06-06-2018. [Consulta: 2 maig 2018].
* ↑ «CircuitPython 9.1.0» (en anglès). GitHub, 17-07-2024.