Passionate owner behind the embedded engineering blog mbedded.ninja, NinjaTerm, NinjaCalc and other tools.
CppLinuxSerial. Serial port library written in C++.
429MFixedPoint. MFixedPoint is a header-only fixed-point C++ library suitable for fast arithmetic operations on systems which don't have a FPU (e.g. embedded systems).. Suitable for performing computationally intensive operations on a computing platform that does not have a floating-point unit (like most smaller embedded systems, such as Cortex-M3, CortexM0, ATmega, PSoC 5, PSoC 5 LP, PSoC 4, Arduino platforms e.t.c). Common applications include BLDC motor control and image processing. Best performance on a 32-bit or higher architecture (although 8-bit architectures should still be fine).
176AltiumScriptCentral. A collection of useful Altium scripts written in the Visual Basic scripting language.
129NinjaTerm. A serial port terminal that's got your back.
114blog. The repo backing the blog.mbedded.ninja website.
45SerialFiller. Like a serial killer, but friendlier. A C++ serial publish/subscribe based communication protocol.
40NinjaCalc. An embedded engineering calculator toolbox for doing calculations in a breeze.
39FunctionPointerStateMachineExample. C
35MPid. A light-weight, fast PID library designed for use on embedded systems (but can also run on any machine which has a G++ compiler).
20CppUtils. A library with a range of utility classes and methods for jump starting C++ applications.
18LinuxCanBus. C++
13MRingBuff. A C++ FIFO buffer framework designed for embedded applications.
11NinjaHSM. A C++ hierarchal state machine framework tailored for embedded devices.
11Uart-FreeRtos-C. A FreeRTOS task for controlling a UART on an embedded platform. Designed for use with a PSoC microcontroller.
10MOsal. An operating system abstraction layer for embedded systems.
10MToolkit. A collection of code modules to help with your embedded design!
8Pid-C. Reusable PID controller that supports multiple control loops.
7ParkTransform-Cpp. Library for performing the Park transformation, a mathematical transformation commonly used for BLDC motor control. Can be used with the fixed point library Cpp-FixedPoint, for ultra fast computations.
6Altium-Bom-Template.
6MString. A C++ string object specifically designed for embedded applications.
6ZephyrCppToolkit. A collection of useful utility features to supercharge your C++ Zephyr firmware.
6ClarkTransform-Cpp. Library for performing the Clark transformation, a mathematical transformation commonly used for BLDC motor control. Can be used with the fixed point library Cpp-FixedPoint, for ultra fast computations.
6CppTemplate. A template repository to quick-start C++ development.
5MUnitTest. A microcontroller-friendly C++ unit test module specifically designed for embedded applications.
5MHal. A C++ hardware abstraction layer for embedded systems (such as microcontrollers).
5RingBuff-C. A C ring buffer designed for embedded applications.
4CsvCpp. C++ character-separated value (CSV) file reader and writer.
4blog-cpp-callbacks. A repo with examples of implementing C++ callbacks on embedded devices.
4CppBuildSystemReview. CMake
4SignalProcessing-DotNet-Cs. A signal processing library written in C# for the .NET framework.
3LocalExtrema-C. A portable, microcontroller-geared mathematical library for finding local extrema (maxima and minima).
3c-inheritance-example. An example showing how to implement inheritance in C.
3MIOStream. A microcontroller friendly C++ IO stream object specifically designed for embedded applications.
3MCallbacks. A type-independent method-capable callback and event library for C++.
3Sauron-Cpp. A portable, microcontroller-geared unit test, online test, and metric (benchmarking) library. It keeps a watchful eye on things...
2MSmartPtr. A C++ smart pointer specifically designed for embedded applications.
2MAssert. A microcontroller-friendly C++ assert() for embedded applications.
2MList. A microcontroller-friendly doubly-linked list container.
2MClide. A command-line style communication interface designed to make it easy to send messages and data between two micro-controllers, a microcontroller and computer, or two computers, via a serial interface that supports ASCII characters (e.g. UART, I2C, SPI).
2eng-calcs-js. Engineering calculators built with Javascript, and designed to be viewed with a browser (used on www.mbedded.ninja).
2MLinInterp. A light-weight, fast linear interpolation library designed for use on embedded systems (but can also run on any machine which has a G++ compiler).
2Logger-Cpp. A C++ library for adding easy and powerful message logging capabilities.
2MLedController. C++
2TemplateCodeFiles. Template (skeleton) code files for a variety of languages.
2Vector-C. A vector container (similar to C++'s std::vector) for C programming.
2designing-hal-in-cpp. C++
2C-FreeRTOS-PSoC-Cli. Implements the behaviour of comms commands, sends commands via queues to other tasks. Talks to the FreeRTOS CLI (FreeRTOS_CLI.c).
2blog-etl-examples. C++ Embedded Template Library (ETL) examples for the mbedded.ninja blog.
1kicad-automation-scripts. A bunch of scripts to automate KiCad processes
1zephyr-examples. Zephyr examples that are used on the mbedded.ninja blog.
1Lights-FreeRTOS-C. A light controller library designed to control LED's and other lights on an embedded platform running FreeRTOS.
1candy-calc. Framework for creating powerful and beautiful client-side Javascript calculators (used on www.mbedded.ninja).
1LinuxSetup. Shell
1YoctoMetaExample. BitBake
1MSsd1306. An open-source, portable, embedded driver for the Solomon SSD1306 IC, a 128x64 OLED controller.
1AdventOfCode2019. Rust
1MChrono. C++
1