This is the main SDK for the S1 System-on-Module. It doesn't do much on it's own, you should use it with an example. Try it with the FPGA blinky demo, or the S1 ECG demo.
You will however need to setup your system in order to build everything.
- First, download and extract the Nordic nRF5 SDK somewhere onto your system.
Then install the following tools:
- ARM GCC toolchain
- J-Link software pack or your preferred debugging tool.
- nRF command line tools is convenient if you're using a JLink.
- yosys, icestorm & NextPNR.
- Optionally gtkwave and iVerilog are useful for simulation and verification.
We recommend using homebrew along with our brew formula to install everything.
Most of these tools are available as installers, but some of them might need Cygwin or similar. It's best to Google how to do this, and we will update this page once we've tested it.
Most of these tools are available from standard package managers, but you can build them for source quite easily.
We've designed this SDK so you can add it as a sub-module into your own git projects. The files here are therefore very lightweight and designed to be easy to use.
-
Makefile
- This is the core makefile that ensures that the nRF code can be built. You should call it with your ownMakefile
where you specify your applications files and any other settings you may want. -
s1.c
- These are the core functions that run on the nRF chip. Access them vias1.h
-
s1.h
- Here you'll find the APIs for configuration and runtime functions that run on the nRF chip. You can include this file and call them from your own application code. -
s1.ld
- This is the linker file which determines the memory layout within the nRF chip when the code is built. -
s1.pcf
- The FPGA pin configuration resides here. The names of the pins correspond to the pins of the FPGA, whereDx
are the exposed pins, and the remaining pins are internal to the module. -
s1_tests
- This folder includes a test application which the SDK is tested against on every release. Run this application on your module to check it's correctly functional. Note that it sets many different voltages on the Vio and Vaux lines, which may damage external circuitry. It's best run on a bare Popout board without any additional devices connected. To build the test application, runmake S1_TEST=1 NRF_SDK_PATH=...
directly from the SDK folder.
That's it! Again in order to use these files, it's better to look at an example project, and copy that layout for your own application.
Be careful if you decide to access S1 core components outside of the SDK. The PMIC is capable of blowing up everything on the module if set incorrectly, and we're already tuned things to work as efficiently as possible.
It's also possible to misconfigure the battery charger and send dangerously high currents to small batteries. Be sure to read the datasheet of the PMIC, as well as our documentation center before connecting batteries to the S1.
As this is a new project, we'd love for those using the S1 to let us know of any bugs or ideas for improvement. File them on the GitHub issue tab.