TinyGo VS zephyr

Compare TinyGo vs zephyr and see what are their differences.

TinyGo

Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM. (by tinygo-org)

zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures. (by zephyrproject-rtos)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
TinyGo zephyr
95 57
14,479 9,582
1.8% 3.4%
9.3 10.0
1 day ago 3 days ago
Go C
GNU General Public License v3.0 or later Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

TinyGo

Posts with mentions or reviews of TinyGo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-18.
  • Gokrazy – Go Appliances
    9 projects | news.ycombinator.com | 18 Dec 2023
  • A "Tiny" APISIX Plugin
    4 projects | dev.to | 27 Nov 2023
    Reading through the documentation, you will understand why this plugin is called "tiny," i.e., the SDK uses the TinyGo compiler instead of the official Go compiler. You can read more about why this is the case on the SDK\'s overview page, but the TLDR version is that the Go compiler can only produce Wasm binaries that run in the browser.
  • What's Zig got that C, Rust and Go don't have? [video]
    4 projects | news.ycombinator.com | 21 Nov 2023
    Not only you can fit Go into a kernel, there is at least two products that do so.

    TamaGo, used to write the firmware used in USB armory.

    https://www.withsecure.com/en/solutions/innovative-security-...

    TinyGo, which even has official Arduino and ARM support, and is sponsored by Google

    https://tinygo.org/

    Ah but that isn't proper Go! Well neither is the C code that is allowed to be used in typical kernel code, almost nothing from ISO C standard library is available, and usually plenty of compiler specific language extensions are used instead.

  • Show HN: A new stdlib for Golang focusing on platform native support
    7 projects | news.ycombinator.com | 2 Oct 2023
    Reminds me of https://tinygo.org/ - a project that brings Golang to embedded devices, browser (wasm) contexts. Do you converge or diverge from that project?
  • TinyGo release 0.29 is out
    1 project | news.ycombinator.com | 30 Aug 2023
  • Pico with C
    2 projects | /r/raspberrypipico | 15 Aug 2023
    You should also consider TinyGo. It can compile Go for the Pico, and is starting to get good device support.
  • Rust 1.71.0
    5 projects | news.ycombinator.com | 13 Jul 2023
    Thankfully some folks completly ignored whatever the rest of the world thinks system programming is all about and created:

    - TinyGo (https://tinygo.org/), which is acknowledged by people in the industry[0][1]

    - TamaGo unikernel on USB Armory secure key (https://www.withsecure.com/de/solutions/innovative-security-...)

    And then there is the question if writing compilers, assemblers, linkers is systems programming or not.

    [0]-https://www.cnx-software.com/2019/08/28/tinygo-go-compiler-f...

    [1]-https://twitter.com/ArmSoftwareDev/status/131680481331796787...

  • When would you (not) recommend Go over Rust?
    2 projects | /r/golang | 10 Jul 2023
    Have you seen TinyGo? In the case of embedded system I would probably still chose C over Rust if the system didn't support dynamic memory allocation, and most embedded systems do not.
  • “C is quirky, flawed, and an enormous success” – Dennis Ritchie
    1 project | news.ycombinator.com | 9 Jul 2023
    >I really hate how for microcontrollers the only two choices are either C++ or Micropython

    There's TinyGo as well. https://tinygo.org/

  • WebAssembly System Interface (WASI) with sockets for Go
    3 projects | /r/golang | 30 May 2023
    Gist link fixed, thanks. Compared to TinyGo, Go with GOOS=wasip1 will probably generate larger artifacts (at least, for now). This is because it bundles the entire Go runtime. The benefit is that it fully supports goroutine scheduling and non-blocking I/O. TinyGo (I believe) still uses a custom asyncify pass and does not support non-blocking I/O nor basic WASI networking (e.g. https://github.com/tinygo-org/tinygo/pull/2748 never landed, but GOOS=wasip1 supports it).

zephyr

Posts with mentions or reviews of zephyr. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-05.
  • Ask HN: Anyone Waiting on BT Auracast?
    1 project | news.ycombinator.com | 16 Dec 2023
    Hey folks. Anyone out there waiting for BT Auracast? It was announced June 2022, and immediately struck me as must have.

    I lost my earbuds, but it seems ridiculous to get a replacement without Auracast, seems like surely if I'm going to make a decent sized purchase like that it needs to support group playing. I want to tune into the radios of other people on the metro or on the bus, want to be able to watch a movie on the plane with someone.

    Auracast was announced in June 2022. Anyone else out there struggling with expectations here? I'm really hoping the product announcement season that's right around the corner had a good number of Auracast announcements.

    Side note, a ton of it is over my head but it's been so so fun tuning in every once and again to see how Zephyr's Bluetooth Audio work is going. Just wild now much has gone into this! https://github.com/zephyrproject-rtos/zephyr/commits/main/subsys/bluetooth/audio

  • VisionFive 2 ROM addresses for Zephyr RTOS
    3 projects | /r/RISCV | 5 Dec 2023
    I am working on adding support for VisionFive 2 in Zephyr RTOS. I have created a device tree by referencing the starfive linux, patches of hifive_unmatched FU740 SoC and patches of BeagleV Starlight.
  • Adding support for visionfive2 in zephyr rtos
    2 projects | /r/embedded | 24 Nov 2023
    We are unsure on how to proceed further with this error. We have opened a github discussion regarding the same issue.
  • Zephyr (small footprint realtime OS) supported boards
    1 project | news.ycombinator.com | 4 Aug 2023
  • Learning to write device drivers using C/C++ in Zephyr OS
    2 projects | /r/embedded | 11 Jul 2023
    Then there are samples. Look through it for anything useful. RC522 uses SPI, so getting that to work would be a good first step.
  • Building with cmake can't find cross-compile objcopy
    1 project | /r/Zephyr_RTOS | 25 Jun 2023
    Hey, I've been trying to build an app with cmake+ninja instead of west to integrate it into a larger build system and everything works correctly except for the final stage where it uses `/usr/bin/llvm-objcopy` instead of the `${CROSS_COMPILE}` one it tries to find here.
  • Arduino Joins Zephyr Project
    1 project | news.ycombinator.com | 22 Jun 2023
    Zephyr has a lot of good points, but I really wish it didn't use Kconfig. Getting a working config seems to be mostly a matter of copying an already working example. It might be okay for hardware side of things, but it's a really bad at software/feature dependency.

    Set https://docs.zephyrproject.org/latest/build/kconfig/tips.htm... and the issue: https://github.com/zephyrproject-rtos/zephyr/issues/52575. And don't even get me started on trying anything to group options together.

  • Zephyr 3.4 is out!
    1 project | /r/Zephyr_RTOS | 18 Jun 2023
  • PlatformIO and Zephyr is a bad idea
    4 projects | /r/embedded | 17 May 2023
    In this thread u/ikravets explained that there hasn't been much demand for Zephyr, which is why they aren't doing anything with it, and in this pull request Zephyr decided to no longer recommend PlatformIO in their documentation.
  • Zephyr RTOS RAM Tracing
    1 project | /r/embedded | 4 May 2023
    The answer is always in the source: https://github.com/zephyrproject-rtos/zephyr/blob/bdaac354f4cb0ad91d952c2f6941c16240d84da2/subsys/tracing/tracing_backend_ram.c

What are some alternatives?

When comparing TinyGo and zephyr you can also consider the following projects:

MicroPython - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

FreeRTOS-Kernel - FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.

go - The Go programming language

mbed-os - Arm Mbed OS is a platform operating system designed for the internet of things

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

RIOT - RIOT - The friendly OS for IoT

micropython-ulab - a numpy-like fast vector module for micropython, circuitpython, and their derivatives

nuttx - Apache NuttX is a mature, real-time embedded operating system (RTOS)

awesome-micropython - A curated list of awesome MicroPython libraries, frameworks, software and resources.

wasm-micro-runtime - WebAssembly Micro Runtime (WAMR)

PlatformIO - Your Gateway to Embedded Software Development Excellence :alien:

mongoose-os - Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.