English is not my mother tongue, this page may contain incorrect words or sentences.

urriellu.net => Projects => Software => Pigmeo

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

With Pigmeo you can write programs for microcontrollers in any .NET language, such as C#, Visual Basic .NET, Nemerle, C++/CLI, IronPython... using any class or method available in the .NET Framework, plus all the libraries from Pigmeo Framework, most of them designed for interfacing microcontroller peripherals.


Pigmeo Compiler

Pigmeo Compiler is a software application that takes your program written in any .NET language and converts it to the assembly language of the target architecture (PIC, dsPIC, AVR, ARM...). This means that you can write software using C#, Visual Basic .NET, J#, C++/CLI or any other .NET language, compile it using your favourite compiler, and then Pigmeo Compiler converts the .NET executable (the .exe file) and generates the assembly language code that can be assembled using 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...).



  • Multiplatform. It can run on any operating system and architecture which has installed a .NET Virtual Machine/CLR (Windows, Linux, Mac OS X, *BSD, Symbian...)
  • Pigmeo Compiler is designed to generate very efficient code
  • Retargetable. Pigmeo Compiler can easily support new target architectures
  • Configurable implementations. Users can choose how Pigmeo Compiler will implement low level algorithms and behaviors, so they can select the more efficient implementation for their application
  • Command line interface and WinForms graphical user interface. More GUIs can be added with just a bit of work
  • Completely internationalized and can be translated very easily


Graphical User Interfaces

A few screenshots and screencasts of an early version:

Pigmeo Compiler WinForms main window running on Windows XPPigmeo Compiler command-line interface helpPigmeo Compiler WinForms interface running on LinuxSample electronic schematic for controlling two DC motors using an L293 connected to a microcontrollerSample code for controlling two DC motors using an L293 connected to a microcontrollerSample schematic for interfacing a seven-segment display using PigmeoSample code for interfacing a seven-segment display using PigmeoRetrieving information about a .NET executable file from the command-line interfaceSample assembly language code generated by Pigmeo Compiler from a program written in C#Pigmeo Compiler compilation settings panel running on Windows XP 

Pigmeo Compiler 0.0.2 compiling a sample program from the command line.

Pigmeo Compiler 0.0.2 compiling a sample program from the WinForms interface on Linux.


More info

Pigmeo participated in the 2nd Interuniversitary Free Software Contest (for all Spanish college students) and won the second prize in the Best Innovation Project category, between 95 contestants in three categories (Best Innovation Project, Best Community project and Best Educative Project).

All the documentation, plus examples, forums, news, source code and downloads can be found in Pigmeo's official website.