Code Monkey home page Code Monkey logo

mbed-pinetime's Introduction

Animated GIF of Pinetime demo

Getting Started

These instructions are macOS centric right now, but the Mbed toolchain will work on Mac, Windows, and Linux. Improvments to these instructions are welcome.

Install the arm-eabi-none toolchain

brew tap PX4/homebrew-px4
brew install PX4/homebrew-px4/gcc-arm-none-eabi-63

Optionally, install nrfjprog

brew cask install nordic-nrf-command-line-tools

Checkout all submodules git submodule update --init --recursive.

Install all the Python packages required for Mbed. Your options are:

  • Install from the Pipfile. pipenv install
  • Install from Mbed requirements.txt pip install -r modules/mbed-os/requirements.txt

To use the Makefiles, you must set the environment variable MBED_PINETIME_PATH to the root of the repository. If anyone has ideas on how to not need this or otherwise improve the build system, let me know.

Development Notes

  • BMA421 Accelerometer
  • [-] HRS3300 Heart Rate Sensor
  • Hynitron CST816S Touch Pad
  • [-] Sitronix ST7789V LCD Driver
  • Macronix SPI Flash
  • Vibrator
  • LED backlight
  • ADC Battery Voltage Sense
  • Physical button

I2C

00> 0x15 Touchpad

  • Only responds after a touch event.
  • At 100khz, Limit of read from register 0x00 after a touch event is 190-195ish bytes. This is probably due to the chip going back to sleep.

00> 0x18 ACK Accelerometer

  • BMA421 -- Not a public avalible chip, therefore no publicly availible drivers.
  • Similar to BMA423
  • Seems to require binary blob on startup (chip firmware?)

00> 0x44 ACK HALS3300 Heart Rate Sensor

  • Datasheet is OK
  • Resolution was set to 16bits 0x08
  • Gain was set to 1 0x02

SPI

Flash:

  • SPI flash is now working with Mbed SPIF driver
  • Needed to be "reset" by letting the battery die
  • 4194304 bytes

Display:

I can't get the physical button to work for the life of me. Someone please help ๐Ÿ˜‚

mbed-pinetime's People

Contributors

sethitow avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.