What is CircuitPython?
CircuitPython is a programming language based on Python, and it greatly simplifies the process of learning and experimenting with a microcontroller. Once you have Circuitpython running on your Blip, you don't need to install anything on your computer, just you connect its peripheral USB port (not the programming one), and it opens up as a disk drive "CIRCUITPY". All you need now is a text editor!
Python (and hence CircuitPython) is really easy to understand and learn, so even if you don't know python yet, or don't know much of programming, you can get started with doing things with Blip using the following resources and sample code in our repositories.
But, before that, here are the instructions on how to install CircuitPython on your Blip.
Getting the firmware
There are two ways, you can either download a pre-built binary from CircuitPython website or compile it yourself. For now, please download the following two files:
Flashing Circuitpython to Blip
Blip has an onboard programmer and debugger, so we'll just connect the Black Magic
Probe USB, and run
tavish@computer:~/repos/el/public/ElectronutLabs-blip (master)*$ arm-none-eabi-gdb GNU gdb (GNU Tools for Arm Embedded Processors 7-2018-q3-update) 22.214.171.12480315-git Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> (gdb) tar ext /dev/ttyACM0 Remote debugging using /dev/ttyACM0 warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. 0x0000384c in ?? () (gdb) mon swdp_scan Target voltage: unknown Available Targets: No. Att Driver 1 Nordic nRF52 2 Nordic nRF52 Access Port (gdb) att 1 A program is being debugged already. Kill it? (y or n) y Attaching to Remote target warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. 0x0000384c in ?? () (gdb) load s140_nrf52_6.1.0_softdevice.hex ... ... (gdb) load s140_nrf52_6.1.0_softdevice.hex ... ...
Learning resources for CircuitPython
Circuitpython is based on the amazing work of Damien George and the MicroPython community. A big thank you to Adafruit, who created and are funding the development CircuitPython. And lastly, thanks for all the CircuitPython community members for the excellent and beginner friendly CircuitPython ecosystem.