Ayke van Laethem eef03917ab bma42x: add new BMA421/BMA425 driver
I wrote this for the PineTime, and all available sensors (accelerometer,
step counter, temperature sensor) do work.

This commit also includes two "configuration files", that actually
appear to be firmware files to run on the accelerometer for special
features like step counting.
I'm not sure where they originally came for, and I don't know the
copyright status of them. However, Bosch has open-sourced the BMA423
driver which includes a similar binary blob and the InfiniTime and
Wasp-OS projects have been shipping these blobs without issues, so I
think it's reasonably safe to include these binary blobs directly in the
source.
2023-08-08 10:36:23 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2021-05-12 09:21:52 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2021-05-30 22:11:27 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2022-12-19 22:01:39 +01:00
2022-12-21 17:47:14 -05:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2021-03-26 18:10:39 +01:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2023-07-02 18:30:11 +02:00
2023-05-20 15:49:13 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2021-05-12 15:29:18 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2023-06-20 10:27:08 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2022-09-25 13:23:16 +02:00
2023-05-21 00:32:05 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2022-09-25 13:23:16 +02:00
2021-12-14 09:14:10 +09:00
2021-03-28 12:23:16 +02:00
2023-06-11 12:07:35 +02:00
2022-09-25 13:23:16 +02:00
2023-07-02 18:30:11 +02:00
2023-04-30 01:11:18 +02:00
2023-05-07 12:30:44 +02:00
2023-06-11 12:07:35 +02:00
2023-05-07 12:30:44 +02:00
2021-04-02 17:31:28 +02:00
2023-06-11 12:07:35 +02:00

TinyGo Drivers

PkgGoDev Build

This package provides a collection of hardware drivers for devices such as sensors and displays that can be used together with TinyGo.

Installing

go get tinygo.org/x/drivers

How to use

Here is an example in TinyGo that uses the BMP180 digital barometer:

package main

import (
    "time"

    "machine"

    "tinygo.org/x/drivers/bmp180"
)

func main() {
    machine.I2C0.Configure(machine.I2CConfig{})
    sensor := bmp180.New(machine.I2C0)
    sensor.Configure()

    connected := sensor.Connected()
    if !connected {
        println("BMP180 not detected")
        return
    }
    println("BMP180 detected")

    for {
        temp, _ := sensor.ReadTemperature()
        println("Temperature:", float32(temp)/1000, "°C")

        pressure, _ := sensor.ReadPressure()
        println("Pressure", float32(pressure)/100000, "hPa")

        time.Sleep(2 * time.Second)
    }
}

Supported devices

There are currently 96 devices supported. For the complete list, please see: https://tinygo.org/docs/reference/devices/

Contributing

Your contributions are welcome!

Please take a look at our CONTRIBUTING.md document for details.

License

This project is licensed under the BSD 3-clause license, just like the Go project itself.

S
Description
TinyGo drivers for sensors, displays, wireless adaptors, and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.
Readme BSD-3-Clause 26 MiB
Latest
2026-04-21 08:44:44 +00:00
Languages
Go 99.1%
Shell 0.7%