[PD] LibPd on microcontroller

Lumis Xulepth lumis at xulepth.fr
Mon May 9 17:37:37 CEST 2016

Hello !

On 2016-05-09 17:01, Christof Ressi wrote:
> Hi,
> has anyone experience in using LibPd on a microcontroller?
> I wanna try to run some rather basic DSP code on this guy here:
> https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware
> There are some existing Arduino/C++ frameworks and I thought I could
> either write my own small DSP library in C++ or use LibPd.

I have personally used the ESP8266 with either Arduino or the more 
low-level C SDK from the manufacturer, I like this platform. I have 
always wanted to see how much it could achieve in terms of DSP. One 
missing part, though, is the output. How do you plan to output audio 
from it? It has SPI that could get you to connect to some DACs but 
nothing of top quality audio. One can also use PWM to simulate analog 

I think LibPd has too much dependencies and is indeed too intensive to 
run on such small microcontrollers.
Heavy from EnzienAudio might be a better candidate for this as it is 
optimised for such environments: https://enzienaudio.com/
It's used on recent projects such as Hoxton Owl (https://hoxtonowl.com) 
and Bela (http://bela.io).

I have personally only made some tests with Heavy so I can't offer more 
than just sugestions. Still I plan to try it on various hardware 
platforms from ESP8266 to bigger CPUs.

Hope that helps

> I understood that LibPd is completely independed of audio drivers and
> external libraries and since it's plain C code it should work on
> everything that can run code. However, I have only encountered LibPd
> in the context of other applications (processing, openFrameworks) and
> mobile devices so far. Do you think it could work on an ESP8266? I'm
> also a bit concerned about efficiency, as computation power is rather
> limited:
> "ESP8266EX is embedded with Tensilica L106 32-bit micro controller
> (MCU), which features extra low
> power  consumption  and  16-bit  RSIC. The  CPU  clock  speed  is
> 80MHz.  It  can  also  reach  a  maximum
> value  of  160MHz.  Real  Time  Operation  System  (RTOS)  is
> enabled.  Currently,  only  20%  of  MIPS  has
> been  occupied  by  the  WiFi  stack,  the  rest  can  all  be  used
> for  user  application  programming  and
> development."
> Christof
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list

More information about the Pd-list mailing list