GithubHelp home page GithubHelp logo

amenophis / darkxst-silabs-firmware-builder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from darkxst/silabs-firmware-builder

0.0 1.0 0.0 5.35 MB

Silicon Labs firmware builder

Home Page: https://darkxst.github.io/silabs-firmware-builder/

Dockerfile 100.00%

darkxst-silabs-firmware-builder's Introduction

Silicon Labs firmware builder repository

This repository contains Dockerfiles and GitHub actions which build Silicon Labs firmware for Home Assistant Yellow and SkyConnect, Sonoff ZBDongle-E and EasyIot ZB-GW04 v1.1 and v1.2.

It uses the Silicon Labs Gecko SDK and proprietary Silicon Labs tools such as the Silicon Labs Configurator (slc) and the Simplicity Commander standalone utility. This is a fork of the NabuCasa silabs firmware builder, adding support for additional hardware.

Three firmware variants are available:

  • EmberZNet NCP for Zigbee-only environments, for direct use with Zigbee2MQTT, ZHA or Zigpy or other Zigbee stacks
  • RCP Multi-PAN firmware for concurrent communication over Zigbee and Thread
  • OpenThread RCP firmware (experimental) Thread-only

RCP Multi-PAN firmware is for use with Home Assistant SiliconLabs Multiprotocol add-on and OpenThread RCP firmware is for OpenThread Border Router add-on

Web Flasher

Flash directly from your browser (only Chrome and Edge supported) SL Web Flasher

Read this blog post for more details and instructions for using RCP Multi-pan firmware.

Home Assistant Add-on

RCP MultiPan firmware ONLY
You can install this HA addon to keep your dongle up to date with latest the RCP Multi-Pan firmware. This is only for use if you are using the SiliconLabs Multiprotocol add-on.

Multipan Flasher Addon

It can also be used for the initial conversion to MultiPan firmware, however you will need to disable ZHA or Zigbee2MQTT while you do this initial flash. You can then install and configure the Silabs Multiprotocol Add-on.

Pre-Compiled Firmware

Firmware builds can be found in the firmware_builds folder.

ncp-uart-hw- EmberZnet pure Zigbee
rcp-uart-802154- RCP MultiPan
ot-rcp- OpenThread Only

ZBDongle-E and ZB-GW04 v1.1 do not support hardware flow control. Yellow, SkyConnect and ZB-GW04 v1.2 are built with hardware flow control. Various baudrates are available as listed at end of filename.

Use NabuCasa's Universal-Silabs-Flasher to flash the .gbl files.

Building locally

To build a firmware locally the build container can be reused. If you use VSCode then simply open the included devcontainer. Or you can manually start the container locally using Docker, with a build directory bind-mounted, e.g.

docker run --rm -it \
  --user builder \
  -v $(pwd)/build:/build \
  ghcr.io/darkxst/silabs-firmware-builder:4.2.2

To generate a project, use slc generate. To replicate/debug build issues in an existing GitHub action, it is often helpful to just copy the command from the "Generate Firmware Project" step.

  slc generate \
      --with="MGM210PA32JIA,simple_led:board_activity" \
      --project-file="/gecko_sdk/protocol/openthread/sample-apps/ot-ncp/rcp-uart-802154.slcp" \
      --export-destination=rcp-uart-802154-yellow \
      --copy-proj-sources --new-project --force \
      --configuration=""

Then build it using commands from the "Build Firmware" step:

cd rcp-uart-802154-yellow
make -f rcp-uart-802154.Makefile release

Support

If you would like to help support further development of my Silabs firmware projects consider buying me a coffee!

Buy Me A Coffee

darkxst-silabs-firmware-builder's People

Contributors

adminiuga avatar agners avatar darkxst avatar puddly avatar

Watchers

 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.