68 lines
2.5 KiB
Markdown
68 lines
2.5 KiB
Markdown
|
# Setup
|
||
|
|
||
|
The `Electronut Labs Blip` board is a development board based on the `nRF52840` SoC from
|
||
|
Nordic Semiconductors. It has a Black Magic Probe compatible programmer and debugger
|
||
|
built in, along with temperature/humidity sensor, ambient light intensity sensor, and
|
||
|
a 3-axis accelerometer. It can be used to prototype very low power devices. It also has
|
||
|
provision for an SD card slot, which makes it a complete and versatile development board.
|
||
|
|
||
|
Schematic, datasheet, pin mapping etc. can be found over [here](https://docs.electronut.in/blip/).
|
||
|
|
||
|
Features:
|
||
|
|
||
|
* Raytac MDBT50Q-1M module based on Nordic Semiconductor's nRF52840
|
||
|
* LIS2DDH12 High-performance 3-axis "femto" accelerometer
|
||
|
* Optical Sensor LTR-329ALS-01
|
||
|
* Si7006-A20 I2C humidity and temperature sensor
|
||
|
* On board STM32F103CBT6 as Black magic probe debugger
|
||
|
* NFC Antenna
|
||
|
* MicroSD slot
|
||
|
* Power Supply: USB, JST connector for Li-ion/Li-po
|
||
|
* BQ24079 battery charging and power management IC
|
||
|
|
||
|
## Installing CircuitPython submodules
|
||
|
|
||
|
Before you can build, you will need to run the following commands once, which
|
||
|
will install the submodules that are part of the CircuitPython ecosystem, and
|
||
|
build the `mpy-cross` tool:
|
||
|
|
||
|
```
|
||
|
$ cd circuitpython
|
||
|
$ git submodule update --init
|
||
|
$ make -C mpy-cross
|
||
|
```
|
||
|
|
||
|
## Building and Flashing CircuitPython
|
||
|
|
||
|
No special notes for this, follow `ports/nrf` generic `README.md`.
|
||
|
|
||
|
### Flashing CircuitPython with GDB using on board Black magic probe debugger
|
||
|
|
||
|
```
|
||
|
$ cd ports/nrf
|
||
|
$ make V=1 SD=s140 SERIAL=/dev/ttyACM0 BOARD=electronut_labs_blip all
|
||
|
...
|
||
|
...
|
||
|
LINK build-electronut_labs_blip-s140/firmware.elf
|
||
|
|
||
|
778588 bytes free in flash out of 1048576 bytes ( 1024.0 kb ).
|
||
|
228320 bytes free in ram for stack out of 245760 bytes ( 240.0 kb ).
|
||
|
|
||
|
Create build-electronut_labs_blip-s140/firmware.bin
|
||
|
Create build-electronut_labs_blip-s140/firmware.hex
|
||
|
Create build-electronut_labs_blip-s140/firmware.uf2
|
||
|
python3 ../../tools/uf2/utils/uf2conv.py -f 0xADA52840 -c -o "build-electronut_labs_blip-s140/firmware.uf2" build-electronut_labs_blip-s140/firmware.hex
|
||
|
Converting to uf2, output size: 540160, start address: 0x26000
|
||
|
Wrote 540160 bytes to build-electronut_labs_blip-s140/firmware.uf2.
|
||
|
```
|
||
|
|
||
|
Now you can use either `.hex` or `.elf` from the generated files inside
|
||
|
`build-electronut_labs_blip-s140` directory. Now you can use `arm-none-eabi-gdb`
|
||
|
to flash circuitpython on Blip.
|
||
|
|
||
|
### Other tips
|
||
|
|
||
|
Once circuitpython is running on your board, it will come up as a mass storage
|
||
|
device named `CIRCUITPY`, where you can drop in your python code. The file names
|
||
|
it looks for are `main.py`, `main.txt`, `code.py` or `code.txt`.
|