About Pigmeo

From Pigmeo - .NET/Mono/CLI (C#, VB.NET, C++/CLI, Nemerle...) for microcontrollers (PIC, dsPIC, AVR...)

Pigmeo aims to improve the quality of applications written for microcontrollers, facilitate and speed up their development.

With Pigmeo you can write applications in any .NET language, such as C#, Visual Basic .NET, Nemerle, C++/CLI, IronPython... using any class or method included within the .NET Framework or the Pigmeo Framework.



Pigmeo Project is split into the following sub-projects:

Pigmeo Compiler

Pigmeo Compiler is a software application that translates the source code of your program written in any .NET language to the target architecture assembly language. It means that you can write applications in C#, Visual Basic .NET, J#, C++/CLI or any other .NET language, compile it using your favourite compiler, and Pigmeo Compiler takes your executable (.exe) file and generates the assembly language code that can be then assembled by any assembler software.

Pigmeo Framework

Pigmeo Framework contains a bunch of libraries useful for writing applications for microcontrollers. There you can find extensions to the .NET Framework, more basic/numeric variables (UInt3, float16...), device libraries (PIC16F716.dll, PIC16F877A.dll, dsPIC30F6010A.dll...) and lots of classes useful for communicating to other devices and peripherals (LEDs, LCDs, 7-segment displays, motors, other microcontrollers...).


PMC is a multiple compiler which allows developers to easily compile source code written in any (supported) .NET language directly into machine language, by calling a high-level language compiler (a C# compiler, a VB.NET compiler, a Nemerle compiler...), then executing Pigmeo Compiler and finally running the assembler for the target architecture (mpasm, gpasm...). It means that you can convert your source code into executables with a single call.


The Pigmeo Code Generator allows you to generate source code on the fly, for using it as template for a new application or generating sample source code.

Why should I use it?

See Reasons

I want to try it!

See Getting started

See also