circuitpython/nrf5
2017-05-29 23:09:53 +02:00
..
boards nrf5/boards/feather52: Updating pins.csv for the feather52 board. 2017-05-25 22:16:46 +02:00
device nrf5/device: Remove old startup files in asm, which has now been replaced with c-implementation. 2017-05-21 23:10:45 +02:00
drivers nrf5/modules/music: Update ticker and modmusic to share global ticks counter as a volatile variable. Use Timer1 hardware peripheral instead of instance 0. Timer0 is not free if used in combination with a bluetooth stack. Update IRQ priority to levels that are compatible in use with a bluetooth stack for both nrf51 and nrf52. Apply nrf51 PAN fixes for Timer1 instead of original Timer0. 2017-05-25 00:25:14 +02:00
examples nrf5/examples: Updating ili9341 example to use new Frambuffer object instead of legacy Framebuffer1. 2017-05-29 23:09:53 +02:00
freeze nrf5: Renaming python modules folder to freeze to give the folder its right meaning. The scripts put into this folder will be frozen. 2017-02-04 23:46:29 +01:00
hal nrf5/modules/machine/timer: If timer is used in combination with SOFT_PWM (implicitly use of ticker.c) guard the Timer1 instance from being instantiated trough python timer module. Also disable implementation of the HAL IRQ handler which is for now explicitly implemented in ticker.c for Timer1. 2017-05-25 00:25:14 +02:00
modules nrf5/modules/pin: Adding on() and off() methods to Pin object to be forward compatible with upstream master. Legacy high() and low() methods are kept. 2017-05-28 21:11:03 +02:00
.gitignore ignore default build folders 2016-11-16 23:40:38 +01:00
bluetooth_conf.h nrf5/drivers/bluetooth: Enable ubluepy central by default if running nrf52/s132 bluetooth stack. Maturity of the module is pretty OK now. 2017-05-25 22:20:17 +02:00
builtin_open.c nrf5: Updating port with new content. SPI, SDcard (trough sdcard.py), Pin, and machine module. Also adding some basic modules depending on SDK and bluetooth stack from nordic semiconductor. NUS is module copied from original port by tralamazza, and new basic module for 6lowpan over BLE which can be used by modnetwork and modusocket. Basic BLE module to enable bluetooth stack and start a eddystone advertisment is kept, and still works without SDK, even if in the SDK folder (its placed there as it needs bluetooth stack from an SDK). 2016-12-13 20:27:26 +01:00
fatfs_port.c nrf5: Aligning code after upmerge with master. Mostly FAT FS related updates. Not tested after merge. 2017-02-07 23:30:54 +01:00
font_petme128_8x8.h nrf5/lcd: Changing framebuffer to use petme128 8x8 font. This is vertical font. Code modified to flip and mirror the font when rendering a character. Adding copy of the font from stmhal. 2016-12-29 15:35:24 +01:00
gccollect.c Base support for nrf51 and nrf52 base without depending on SDK. SoftDevice usage optional. 2016-11-16 21:38:25 +01:00
gccollect.h nrf5: Updating port with new content. SPI, SDcard (trough sdcard.py), Pin, and machine module. Also adding some basic modules depending on SDK and bluetooth stack from nordic semiconductor. NUS is module copied from original port by tralamazza, and new basic module for 6lowpan over BLE which can be used by modnetwork and modusocket. Basic BLE module to enable bluetooth stack and start a eddystone advertisment is kept, and still works without SDK, even if in the SDK folder (its placed there as it needs bluetooth stack from an SDK). 2016-12-13 20:27:26 +01:00
help.c nrf5: Syncing code after upmerge with master. 2017-01-22 22:18:44 +01:00
main.c nrf5/main: Move initializaton of modmusic to the module itself. Upon init of the module, the hardware, pwm and ticker will be started. Could be moved back to main if pwm or ticker should be shared among more modules and have to be initialized more global. 2017-05-25 00:25:14 +02:00
Makefile nrf5: Update Makefile to add c-implementation of startup scripts instead of the .s files. 2017-05-21 23:10:45 +02:00
mpconfigport.h nrf5: Facilitate option to configure away the modble if needed. Enabled if MICROPY_PY_BLE config is enabled in bluetooth_conf.h. 2017-05-18 23:11:41 +02:00
mphalport.c nrf5: Force implementation of tx_str_cooked function if BLE NUS enabled. 2017-02-28 23:18:31 +01:00
mphalport.h nrf5/hal: Moving hal_gpio functions, types and defines from mphalport.h to a new hal_gpio.h. 2017-04-09 21:39:15 +02:00
nrf51_af.csv nrf5: Updating nrf51_af.csv to reflect pins having ADC on the chip. 2017-01-11 20:13:59 +01:00
nrf52_af.csv nrf5/pin: Adding more pins to nrf52_af.csv file for nrf52840. Port '1' will be prefixed 'B'. 2017-01-08 16:10:47 +01:00
pin_defs_nrf5.h nrf5/pin: Adding PORT_B to Pin port enum to reflect gpio port 1 on nrf52840. 2017-01-08 16:08:47 +01:00
pin_named_pins.c nrf5: Updating port with new content. SPI, SDcard (trough sdcard.py), Pin, and machine module. Also adding some basic modules depending on SDK and bluetooth stack from nordic semiconductor. NUS is module copied from original port by tralamazza, and new basic module for 6lowpan over BLE which can be used by modnetwork and modusocket. Basic BLE module to enable bluetooth stack and start a eddystone advertisment is kept, and still works without SDK, even if in the SDK folder (its placed there as it needs bluetooth stack from an SDK). 2016-12-13 20:27:26 +01:00
qstrdefsport.h nrf5: Add modmusic QSTR definition of notes to qstrdefsport.h. 2017-05-18 23:11:41 +02:00
README.md Adding a README for the nRF5 port 2017-05-29 21:37:39 +02:00

MicroPython port to the NRF5

This is a port of MicroPython to the Nordic nRF5 series of chips.

Supported features

  • UART
  • SPI
  • LEDs
  • Pins
  • ADC
  • I2C
  • PWM (nRF52 only)
  • Temperature
  • RTC
  • Some BLE support including REPL over BLE

Note that this port is still a work-in-progress and some modules are not fully feature complete.

Tested hardware

Build steps

Example is for the Adafruit Feather nRF52:

> sudo apt-get install build-essential libffi-dev pkg-config gcc-arm-none-eabi git python python-pip
> git clone https://github.com/adafruit/Adafruit_nRF52_Arduino.git
> cd Adafruit_nRF52_Arduino/tools/nrfutil-0.5.2/
> sudo pip install -r requirements.txt
> sudo python setup.py install
> cd ../../..
> git clone https://github.com/tralamazza/micropython.git nrf5_no_sdk
> cd nrf5_no_sdk/
> git submodule update --init
> make -C mpy-cross
> cd nrf5/
> make BOARD=feather52
> make BOARD=feather52 dfu-gen
> make BOARD=feather52 dfu-flash