{"id":13720210,"url":"https://github.com/swedishembedded/sdk","last_synced_at":"2026-03-09T00:21:13.171Z","repository":{"id":53875042,"uuid":"518429195","full_name":"swedishembedded/sdk","owner":"swedishembedded","description":"Embedded firmware development, simulation and verification SDK","archived":false,"fork":false,"pushed_at":"2023-08-13T22:11:50.000Z","size":41699,"stargazers_count":58,"open_issues_count":4,"forks_count":19,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T12:42:33.892Z","etag":null,"topics":["cmock","embedded","embedded-c","firmware","microcontroller","platform","sdk","unity","zephyr","zephyr-rtos"],"latest_commit_sha":null,"homepage":"https://swedishembedded.com/sdk","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swedishembedded.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-07-27T11:25:46.000Z","updated_at":"2025-03-29T21:22:14.000Z","dependencies_parsed_at":"2024-01-10T07:12:37.541Z","dependency_job_id":null,"html_url":"https://github.com/swedishembedded/sdk","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/swedishembedded/sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swedishembedded%2Fsdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swedishembedded%2Fsdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swedishembedded%2Fsdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swedishembedded%2Fsdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swedishembedded","download_url":"https://codeload.github.com/swedishembedded/sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swedishembedded%2Fsdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30278288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T20:45:49.896Z","status":"ssl_error","status_checked_at":"2026-03-08T20:45:49.525Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmock","embedded","embedded-c","firmware","microcontroller","platform","sdk","unity","zephyr","zephyr-rtos"],"created_at":"2024-08-03T01:01:01.091Z","updated_at":"2026-03-09T00:21:13.162Z","avatar_url":"https://github.com/swedishembedded.png","language":"JavaScript","funding_links":[],"categories":["Libraries","sdk"],"sub_categories":["Application frameworks"],"readme":".. SPDX-License-Identifier: Apache-2.0\n   Copyright 2022 Martin Schröder \u003cinfo@swedishembedded.com\u003e\n   Consulting: https://swedishembedded.com/go\n   Training: https://swedishembedded.com/tag/training\n\n*********************************************************\nEmbedded Firmware Development, Simulation and Testing SDK\n*********************************************************\n\n.. image:: doc/img/cover.png\n\n**Swedish Embedded Platform SDK** is a comprehensive platform for firmware\ndevelopment. It provides:\n\n- **Extensive hardware platform support**: so you can cross compile your firmare\n  easily. Using this SDK you can build your code in a truly portable fashion.\n- **Powerful CI infrastructure**: with comprehensive testing and verification\n  capabilities so your team can work much faster and be more agile. You team can\n  focus on writing good code.\n- **Simulation and visualization**: run your firmware on simulated hardware for\n  debugging, PoC and verification (simulations can be automated and run in CI).\n  Custom simulation environments and testbenches can also be added.\n- **Application development**: infrastructure for easily importing this SDK into\n  your application and using it to build your next product.\n\n.. image:: doc/img/sdk-overview.png\n\nRelated Projects\n################\n\n- **SE Control Systems Toolbox**: https://github.com/swedishembedded/control\n- **SE Instruments Toolbox**: https://github.com/swedishembedded/instruments\n- **CMock \u0026 Unity Testing**: https://github.com/swedishembedded/testing\n\nEasy to get started\n###################\n\nA development docker image is provided:\n\n- **Development Docker image (dockerhub)**: swedishembedded/develop:latest\n\nUsing this image you can build and run an application very quickly:\n\n.. image:: doc/img/docker-demo.gif\n\n.. code-block:: bash\n\n    docker pull swedishembedded/develop:latest\n    # Run in privileged so we can flash over USB JTAG\n    docker run -t -i --privileged \\\n        -v /dev/bus/usb:/dev/bus/usb \\\n        swedishembedded/develop:latest\n    SDK\u003e workspace demo\n    SDK\u003e west build -b stm32f429i_disc1 -s ../zephyr/samples/basic/blinky -t flash\n\nExtensive hardware support\n##########################\n\nThis SDK uses Zephyr RTOS kernel - which is a highly capable and stable realtime\nkernel for realtime industrial applications. With this you also get extensive\nand continuously evolving hardware support delivered to you through the open\nsource community.\n\nThis includes:\n\n- **700+ device drivers**: for everything from buttons to advanced LoRaWAN modem\n  chips. Swedish Embedded can develop new drivers for you on demand.\n- **420+ boards**: this includes a large number of development and prototyping\n  boards. New boards can be added on demand as well.\n- **Extensive HAL support**: included as a module and supports variety of SoC devices\n  including NXP and STM32.\n- **Library support**: develop graphical applications based on powerful LVGL\n  library which is included and easy to enable in the build process.\n\n.. image:: doc/img/zephyr-config.png\n\nPowerful CI infrastructure\n##########################\n\nThis builds even further on the powerful Zephyr CI infrastructure and adds the\nfollowing features:\n\n- **Advanced unit test mocking ability**: so that you can write unit tests that\n  can reach all code regardless of what software component you are testing.\n- **RobotFramework testing support**: allowing you to write tests in plain\n  english and extend them with python. This is applicable to all parts of the\n  repository (see scrum directory).\n- **CI simulation infrastructure**: allowing you to write tests in\n  RobotFramework that run against production firmware in a simulated\n  environment. This gives you a very powerful way to test your whole application\n  stack automatically.\n\nThe simulation framework supports multi-node simulation meaning that you can\ntest complete aggregations of devices using the Swedish Embedded Platform SDK\nupon every commit being created in your repository.\n\nIntegrated Control Toolbox\n##########################\n\n[Swedish Embedded Control Toolbox](https://github.com/swedishembedded/control)\nis integrated into this SDK, meaning that you have access to fast\nimplementations of control system design and system identification algorithms.\nIf you are using Swedish Embedded SDK for developing industrial automation\nsystems then the control toolkit is very useful.\n\n- **Filtering** - pure C Kalman filter and the new Square Root Unscented Kalman\n  Filter implementations.\n- **System Identification** - so you can identify models of your system dynamics\n  in realtime directly inside your firmware without any external dependencies.\n- **Controller Design** - functions for implementing model based controllers for\n  dynamic systems.\n\nFind out more at: https://github.com/swedishembedded/control\n\nSimulation and visualization\n############################\n\nAnother major component used in this SDK is the renode simulation framework.\nRenode is a specialized simulator used for advanced FPGA design and supports\ncosimulation of hardware models together with firmware.\n\nRenode also supports:\n\n- **40+ simulation platforms**: and we can easily build simulation for your\n  board as well.\n- **Scripting in python and C#**: making it easy to add simulation capabilities\n  that are unique to your application (such as dynamic modeling).\n\nVisualization testbenches can be created to visualize your PCB and interact with\nvirtual controls:\n\n.. image:: doc/img/visualization.png\n\nYou can also cosimulate your peripherals using standalone executables. The way\nthis works is that we map a simulation executable into the address space of your\nMCU so that when anything is written or read to and from that memory, the\nread/write request is handled by a standalone program connected to the\nsimulator. You can have as many standalone executables as you have peripherals.\n\nThis allows you to implement simulated peripherals that support user interaction\n(you can of course run automatic simulations as well - but sometimes user\ninteraction is userful).\n\n.. image:: samples/lib/control/dcmotor/doc/screenshot.png\n\nTo build the above example you need to do two things:\n\n- Install control toolkit locally from https://github.com/swedishembedded/control (cmake \u0026\u0026 make install).\n- Install instruments from https://github.com/swedishembedded/instruments (cmake \u0026\u0026 make install). This will give you /usr/bin/instrument-dcmotor.\n\nAfter that you can build and run the sample:\n\n..\n    west build -p -b custom_board samples/lib/control/dcmotor/\n    west build -t appbench\n\nLearn more\n##########\n\n- **Swedish Embedded Platform SDK**: https://swedishembedded.com/sdk\n- **Discord community**: https://swedishembedded.com/community\n- **Learning resources**: https://swedishembedded.com/tag/training\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswedishembedded%2Fsdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswedishembedded%2Fsdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswedishembedded%2Fsdk/lists"}