Premium Embedded Systems Knowledge-Base

Professional Resources

ProSource is a membership based professional knowledge-base for software and source code for embedded systems.

We provide drop-in ready embedded system software, designed to be integrated in to end consumer products.

Microcontrollers

We provide bare-metal microcontroller solutions such as hardware drivers, bootloader solutions, AT protocol drivers, HTTP clients, and more. All solutions are designed to run on limited hardware resources and to minimize flash and RAM usage.

Embedded Linux

We provide amazing solutions for embedded Linux platforms, including:

Popular Solutions

at_driver-serial
AT Driver for serial attached modem

The AT Protocol is a common method for communicating with modems for WiFi, Bluetooth, LTE, Cat.M1 via serial protocols. This solutions is the full source code for a UART connected WiFi modem AT Protocol driver, implemented in C and without any delay functions.

This solutions is designed to work with cooperative multi-tasking systems without an RTOS (mainloop systems) such as bare-metal microcontrollers.

The solution handles:
 • AT Command transmit
 • AT responses with and without payload
 • AT Error conditions
 • Unsolicited messages from device
 • Binary transfer mode
...

console-colors
Add some style to your programs! C/C++ header for colors and font control on console output

C/C++ header file with some useful macros for outputting colors and font formatting on terminals such as Linux console and Putty. These macros can be used in console applications or integrated in to microcontrollers to give your application more style!

Simple set of macros takes 0 bytes of RAM and 1 function call to printf() per macro.
Features:
 • Colors: Black, red, green, yellow, blue, magenta, cyan, gray, white
 • Foreground colors
 • Background colors
 • Bold
 • Underline ...

tinyprintf
VERY small flash size version of printf() and sprintf()

This source replaces the standard printf() and sprintf() functions in the compiler C library with a VERY low resource version with a limited set of features and output types.

Features of tinyprintf include:
 • %c character
 • %d,%i signed integer (-sign added if needed)
 • %s character string
 • %u unsigned integer as decimal
 • %x or %X unsigned integer as hexadecimal (uppercase)
 • %% to write %

Normal printf()/sprintf() implementations on ARM have been measure at ~25K of flash space, using tinyprintf can restore ~23K of flas...

lcd-graphics
Graphical LCD fonts, colors and functions

This solution is a set of graphics routines for LCDs.

Includes:
 • RGB color control
 • Small RAM footprint 5x7 font with all printable ASCII characters
 • Loader for over 50 Adafruit GFX open-source fonts, decoupled from the Arduino IDE and available for any microcontroller.

Adafruit fonts: https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts ....

STM32MP157-BR-1
Buildroot configuration for STM32MP157 DK board

Fully working Buildroot Linux image configuration for the STM32MP157 DK2 board from ST Microelectronics. This solution uses the 'external build tree' feature of buildroot to allow for a fully customized Linux image without modifying the buildroot configuration. The output image is under 128MB and designed to run from the SD Card on the DK2 board. Excellent starting point for the STM32MP157 family of processors and SOMs or any other ARM Cortex-A7 processor...

at_driver-HTTP
Driver for performing HTTP/HTTPS GET and POST operations using the AT Protocol serial modem driver.

Driver for performing HTTP/HTTPS GET and POST operations using the AT Protocol serial modem driver.

This solution is a full implementation of code to GET and POST via HTTP and HTTPS with a remote server over a UART based AT Protocol link. This solution is designed for the BX310x WiFi modem and provides a foundation for developing new solutions for additional AT Protocols on different hardware devices.

Supports loading a buffer for small messages, or callbacks (both Header and Data) for larger data transfers...

About Our Solutions

ProSource is a compendium of professionally developed source code resources and embedded systems projects, designed by embedded engineers for embedded engineers. For years software 'cookbooks' were avilable in physical copy as a collection of code blocks and snippets designed to assist with common development problems. ProSource can be thought of as the digital incarnation of those resources, professionally developed source code and solutions for common embedded system engineering problems. Unlike printed knowledge-bases, ProSource never goes out of date, and is constantly updated with new material.
ProSource's goal is to provide excellent, documented, easy to understand, professional level software for embedded system developers. All ProSource projects and source code are available to registered members under the terms of the ProSource Usage License. The ProSource Usage License has been designed to allow developers the maximum flexibility to integrating the source code solutions in to end customer product. In addtion, the Usage License also allows the developer to grant the end customer a license to continue to use the solution in their product even after the developer engagement ends.
Please visit the ProSource Usage License page for details on our licencing terms.

Free Solutions!

Add some style to your programs! C/C++ header for colors and font control on console output

C/C++ header file with some useful macros for outputting colors and font formatting on terminals such as Linux console and Putty. These macros can be used in console applications or integrated in to ...

Look up table for a 'breathing LED'

C based look up table for a 'breathing LED'. The 'breathing' effect is a non-sinusoidial function, used to add a more organic feel to LED outputs. Includes CSV file for data and C header file to incl...

FLTK GUI toolkit demo program

FLTK is the "Fast-Light Toolkit", a lightweight GUI library for Linux and Windows. FLTK is commonly found on embedded Linux systems due to it's low resource demands and low number of dependencies. ...

Small flash size version of printf() and sprintf()

This source replaces the standard printf() and sprintf() functions in the compiler C library with low resource version with a limited set of features and output types. Features of miniprintf includ...