Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Daplink | 1,762 | 3 days ago | 108 | apache-2.0 | C | |||||
Keyberon | 753 | 1 | a month ago | 4 | July 16, 2022 | 17 | mit | Rust | ||
A rust crate to create a pure rust keyboard firmware. | ||||||||||
Home | 731 | 2 days ago | 84 | |||||||
:house: The landing page for .NET nanoFramework repositories. | ||||||||||
Stm32 Bootloader | 696 | 5 months ago | 1 | other | C | |||||
Customizable Bootloader for STM32 microcontrollers. This example demonstrates how to perform in-application-programming of a firmware located on an external SD card with FAT32 file system. | ||||||||||
Nf Interpreter | 253 | 14 hours ago | 28 | December 22, 2022 | 9 | mit | C | |||
:gear: nanoFramework Interpreter, CLR, HAL, PAL and reference target boards | ||||||||||
Jtag2updi | 212 | 8 months ago | 22 | mit | C++ | |||||
UPDI programmer software for Arduino (targets Tiny AVR-0/1/2, Mega AVR-0 and AVR-DA/DB MCUs) | ||||||||||
Stc_diyclock | 161 | 8 days ago | 13 | mit | C | |||||
STC DIY Clock redux (STC15F204EA, STC15W404AS, STC15W408AS) | ||||||||||
Ledger Mcu Backdoor | 147 | 5 years ago | mit | C | ||||||
Proof of Concept for Ledger Nano S MCU exploit | ||||||||||
Youyue 858d Plus | 121 | 5 years ago | 3 | Arduino | ||||||
CODE: Custom firmware for Youyue 858D+ (ATmega168/328P) | ||||||||||
Ucnc | 99 | 8 days ago | 7 | gpl-3.0 | C | |||||
µCNC - Universal CNC firmware for microcontrollers |
IOsonata multi-platform multi-architecture optimized software library for fast and easy iot products development
Turorial blog posts :
Bluetooth Low Energy firmware with a few lines of code
Nordic nRF51 & nRF52 series firmware development with Eclipse
Eclipse IDE installation guide
Although this library supports multiple IDE/Compilers, the preferred IDE is still Eclipse/GCC. GCC is the de facto standard for embedded software development. Eclipse is 100% free and the most flexible IDE. It could be little overwhelming for newbies at first (like any other IDE if you are new to it anyway).
For desktop PC version of the library, native compiler and IDE are used. XCode for OSX, Visual Studio for Windows, Eclipse for Linux.
In order to compile the IOsonata target libraries these external SDK & lib are required. Follow the instructions below to download and install into appropriate folder locations and naming.
nRF5_SDK : Nordic nRF5x Bluetooth Low Energy
nrf5_SDK_Mesh : Nordic nRF5 SDK for Bluetoth Mesh
ICM-20948 Motion_Driver : Create a user at https://invensense.tdk.com/developers/software-downloads/. In the "Development Kits" block, download "DK-20948 SmartMotion eMD 1.1.0". Unzip the downloaded file and navigate to EMD-Core/sources. Copy the folder Invn
to external/Invn
as indicated in the folder tree bellow.
BSEC : Bosch Sensortec Environmental Cluster (BSEC) Software for #BME680 environmental sensor. BSEC is needed for calculating Air Quality Index. Go to boschsensortec/Bosch-BSEC2-Library. Clone it to external/BSEC
as indicated in the folder tree below.
LWIP : A Lightweight TCP/IP stack. This library is required for IoT network connectivity over Ethernet, Wifi, LTE, ... Download it via this link https://download.savannah.nongnu.org/releases/lwip/. Rename the extracted folder as lwip
and copy it to external
.
Buy : IDK-BLYST-NANO (BLYST Nano development board).
Buy : BLUEIO-TAG-EVIM (BLYST Nano sensor board).
Nordic Thingy App compatible firmware project
The way the IOsonata folder is structured is simple. The deeper you go inside the more it is specific to the architecture or platform. The parent folder contains all that is commonly available to the child folder. Which means, source file from child folder can access any source in the upper parent folder but not the other way around. This is the way to keep the abstraction separated from implementation and easier to keep track of things.
/your_root - Development root directory
|-- external - Contains downloaded SDKs from silicon vendors
| |-- nRF5_SDK - Latest Nordic SDK (https://developer.nordicsemi.com)
| |-- nrf5_SDK_Mesh - Latest Nordic SDK for Mesh (https://www.nordicsemi.com/eng/nordic/Products/nRF5-SDK-for-Mesh/nRF5-SDK-for-Mesh/62377)
| |---nRF5_SDK_12 - Last version of Nordic SDK12 for nRF51 series
| |-- BSEC - Bosch Sensortec Environmental Cluster (BSEC) Software (https://www.bosch-sensortec.com/bst/products/all_products/bsec) for #BME680
| |-- Invn - Invensense SmartMotion Driver (download https://www.invensense.com/developers)
| | |-- Devices
| | |...
| |-- lwip - Lightweight TCP/IP stack (download https://download.savannah.nongnu.org/releases/lwip/)
| |-- Others as require
| |...
| |
|-- IOsonata - Put IOsonata here
| |-- include - Generic include common to all platforms
| | |-- bluetooth - Generic definition for Bluetooth
| | |-- converters - Generic definition for ADV, DAC, etc...
| | |-- coredev - Generic definition MCU builtin devices such as i2c, uart, spi, timer, etc...
| | |-- miscdev - Generic definition for other non categorized devices
| | |-- sensors - Generic definition for all sort of sensors (environmental, motion, etc...)
| | |-- usb - Generic definition for USB
| | |...
| |-- src - Generic implementation source common to all platforms
| | |-- bluetooth - Generic source for Bluetooth
| | |-- converters - Generic source for ADV, DAC, etc...
| | |-- coredev - Generic source for MCU builtin devices such as i2c, uart, spi, timer, etc...
| | |-- miscdev - Generic source for other non categorized devices
| | |-- sensors - Generic source for all sort of sensors (environmental, motion, etc...)
| | |-- usb - Generic source for USB
| | |...
| |
| |-- ARM - ARM series based MCU
| | |-- include - Common include for all ARM platform
| | |-- src - Common source for all ARM platform
| | |-- DbgConfig - Debugger configuration files.
| | |-- ldscript - Linker script files
| | |
| | |-- Nordic - Nordic Semiconductor based MCU
| | | |-- nRF51 - nRF51 series MCU
| | | | |-- include - Common include for this target series
| | | | |-- src - Common source for this target series
| | | | |-- lib - IOsonata library for this target
| | | | | |-- Eclipse - Eclipse project for this lib
| | | | | |-- IAR - IAR project for this lib
| | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | |...
| | | | |
| | | | |-- exemples - Example projects for this target
| | | | | |-- Blink - Blink example
| | | | | | |-- src - Source code for this exaple
| | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | |-- IAR - IAR project for this example
| | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | |-- Many other examples same
| | | |
| | | |-- nRF52 - nRF52 serie MCU
| | | | |-- include - Common include for this target series
| | | | |-- src - Common source for this target series
| | | | |-- nRF52832 - Target MCU
| | | | | |-- lib - IOsonata library for this target
| | | | | | |-- Eclipse - Eclipse project for this lib
| | | | | | |-- IAR - IAR project for this lib
| | | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | | |...
| | | | | |
| | | | | |-- exemples - Example projects for this target
| | | | | | |-- Blink - Blink example
| | | | | | | |-- src - Source code for this exaple
| | | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | | |-- IAR - IAR project for this example
| | | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | | |-- Many other examples same
| | | | | | |
| | | | |-- nRF52840 - Target MCU
| | | | | |-- lib - IOsonata library for this target
| | | | | | |-- Eclipse - Eclipse project for this lib
| | | | | | |-- IAR - IAR project for this lib
| | | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | | |...
| | | | | |
| | | | | |-- exemples - Example projects for this target
| | | | | | |-- Blink - Blink example
| | | | | | | |-- src - Source code for this exaple
| | | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | | |-- IAR - IAR project for this example
| | | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | | |-- Many other examples same
| | | |
| | | |-- nRF53 - nRF53 series MCU
| | | | |-- include - Common include for this target series
| | | | |-- src - Common source for this target series
| | | | |-- nRF5340_App - Target MCU
| | | | | |-- lib - IOsonata library for this target
| | | | | | |-- Eclipse - Eclipse project for this lib
| | | | | | |-- IAR - IAR project for this lib
| | | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | | |...
| | | | | |
| | | | | |-- exemples - Example projects for this target
| | | | | | |-- Blink - Blink example
| | | | | | | |-- src - Source code for this exaple
| | | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | | |-- IAR - IAR project for this example
| | | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | | |-- Many other examples same
| | | | | | |
| | | | |
| | | | |-- nRF5340_Net - Target MCU
| | | | | |-- lib - IOsonata library for this target
| | | | | | |-- Eclipse - Eclipse project for this lib
| | | | | | |-- IAR - IAR project for this lib
| | | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | | |...
| | | | | |
| | | | | |-- exemples - Example projects for this target
| | | | | | |-- Blink - Blink example
| | | | | | | |-- src - Source code for this exaple
| | | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | | |-- IAR - IAR project for this example
| | | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | | |-- Many other examples same
| | | | | | |
| | | |
| | | |-- nRF91 - nRF91 series MCU
| | | | |-- include - Common include for this target series
| | | | |-- src - Common source for this target series
| | | | |-- nRF9160 - Target MCU
| | | | | |-- lib - IOsonata library for this target
| | | | | | |-- Eclipse - Eclipse project for this lib
| | | | | | |-- IAR - IAR project for this lib
| | | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | | |...
| | | | | |
| | | | | |-- exemples - Example projects for this target
| | | | | | |-- Blink - Blink example
| | | | | | | |-- src - Source code for this exaple
| | | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | | |-- IAR - IAR project for this example
| | | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | | |-- Many other examples same
| | | | | | |
| | |
| | |-- NXP - NXP based MCU
| | | |-- LPC11xx - LPC11xx series MCU
| | | | |-- include - Common include for this target series
| | | | |-- src - Common source for this target series
| | | | |-- LPC11U35 - LPC11U35 target
| | | | | |-- lib - IOsonata library for this target
| | | | | | |-- Eclipse - Eclipse project for this lib
| | | | | | |-- IAR - IAR project for this lib
| | | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | | |...
| | | | | |
| | | | | |-- exemples - Example projects for this target
| | | | | | |-- Blink - Blink example
| | | | | | | |-- src - Source code for this exaple
| | | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | | |-- IAR - IAR project for this example
| | | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | | |-- Many other examples same
| | | | | | |
| | | |-- LPC17xx - LPC17xx series MCU
| | | | |-- include - Common include for this target series
| | | | |-- src - Common source for this target series
| | | | |-- LPC176x - LPC176x target
| | | | | |-- lib - IOsonata library for this target
| | | | | | |-- Eclipse - Eclipse project for this lib
| | | | | | |-- IAR - IAR project for this lib
| | | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | | |...
| | | | | |
| | | | | |-- exemples - Example projects for this target
| | | | | | |-- Blink - Blink example
| | | | | | | |-- src - Source code for this exaple
| | | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | | |-- IAR - IAR project for this example
| | | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | | |-- Many other examples same
| | | | | | |
| | |
| | |-- ST - ST based MCU
| | | |-- STM32F0xx
| | | |-- STM32F4xx
| | | |-- STM32L0xx
| | | |-- STM32L1xx
| | | |-- STM32L4xx
| | | | |-- include - Common include for this target series
| | | | |-- src - Common source for this target series
| | | | |-- STM32L476 - Target MCU
| | | | | |-- lib - IOsonata library for this target
| | | | | | |-- Eclipse - Eclipse project for this lib
| | | | | | |-- IAR - IAR project for this lib
| | | | | | |-- CrossWorks- CrossWorks project for this lib
| | | | | | |...
| | | | | |
| | | | | |-- exemples - Example projects for this target
| | | | | | |-- Blink - Blink example
| | | | | | | |-- src - Source code for this exaple
| | | | | | | |-- Eclipse - Eclipse project for this example
| | | | | | | |-- IAR - IAR project for this example
| | | | | | | |-- CrossWorks- CrossWorks project for this example
| | | | | | | |...
| | | | | | |-- Many other examples same
| | | | | | |
| | |
| | |-- Other silicon vendors
| |...
| |-- Linux
| | |...
| |-- OSX
| | |...
| |-- Win
| | |...
| ...