Close
0%
0%

Pipo modules

A family of MIDI-OSC IoT sensors for creative interactivity with music, video, graphics, and more

rupRup
Similar projects worth following
Pipo modules is the start of a versatile family of "plug-and-play" sensor boards to easily add interactivity to creative projects. They turn sensor data into MIDI, OSC controllers or HID peripheral for an easy setup with most audiovisual, 3D, or music software.
With their wireless capabilities and a web-based interface hosted on each module, they let you monitor live readings and adjust your settings on the fly from any device at hand.
With these you can quickly experiment for original game interfaces, art installations, performances, custom midi instruments...
The three first modules of the family let you turn motion, touch, distance, or analog signals into practical and compact input devices.

You can learn more on the pre-launch page of the project !
https://www.crowdsupply.com/pipo-interfaces/pipo

The project focuses on a solution that brings wireless capabilities, a compact form factor for easy integration, and a practical web-based interface with no dependency on an app or a software. This aims at building the foundations of a family which is versatile, can expand easily to increase its capabilities, can be customized, and will never face SW obsolescence.  
One of the idea behind the project is to initiate an open source code base dedicated to simplify interfacing real world signals with computers for creative purposes.  
 
The family counts 3 modules for now:

- Pipo Motion:  
    Based on an 9-axis IMU, it allows you to use orientation, acceleration, taps, vibrations, etc..

- Pipo Analog:  
    6 analog inputs to acquire any kind of signal: (with a voltage range selection up to 12v)  
    6 capacitive touch inputs: to create touch pads with all kind of conductive materials (conductive paint, wires, vegetables, conductive tape,...)

- Pipo Range:  
    A distance ranging sensor to measure hand or object distance.

  Common specs:  

- Based on an ESP32-S3 mini
- Connectivity: Wifi, Bluetooth Low Energy
- On-board Lithium cell charger
- USB-C connector for wired  use and charge
- A graphical user interface  
      
    Note: more detailed specs are currently available on the Crowd Supply project page and more details will be shared soon.

  • 1 × ESP32-S3-MINI
  • 1 × ICM-20948
  • 1 × VL53L4CX
  • 1 × BQ21040DBVR
  • 1 × TLV62569

  • From early prototypes to the pipo concept

    Rup01/16/2025 at 14:32 0 comments

    A) Set yourself a path

    When I started working on the project I had a few strong idea to guide the developement:

    • bring together all the great opportunities offered by the arduino/maker/IoT ecosystem in scope of creative applications
    • make a project that does not need coding and is flexible => can be (re)configured through a graphical user interface
    • keep the project as durable as possible and run open source code

    B) Go all over the path

    Being a rather technical person, I also had many other ideas and technical wishes which I was willing to try out. Way too many ! The first concept I worked on turned out to be way to complex. And while I knew this common engineer bias, it is sometime very difficult to find what is the essence of what you are trying to do. But I knew the first design would not be the one, still it got me an excellent experimenting platform to identify core features.

    Hence the first concept was to make a generous I/O board packed with features. A bit like a sound card, which can connect with all kind of peripherals. The interface would allow to set input or output types, condition the signal, and propagate it between different kind of I/Os, like a virtual web patcher, but running on the chip.

    The hardware had:

    • 12 GPIO which could be configured as ADC, Touch, or connect to any I2C module
    • Hardware midi port
    • Ethernet with PoE
    • DMX
    • and more...

    After couple of month of design and development time, I got a partially working demonstrator (of course missing a bunch of features), but enough to put it against real world use cases.

    C) Make it real

    Pipo AncestorI decided to develop this proof of concept with circuitpython on an esp32-s3. This allowed me to create a mock-up very quickly. I could setup a webserver with web-sockets pretty quickly, perform asynchronous tasks with asyncio, etc... I could find libraries for almost anything I needed, and the community is very responsive.
    I was also rather surprised by how good the overall performance was. In my scope of a proof of concept, it saved me so much development time that I could definitely bear some of the drawback associated with circuitpython.
    On the long run, I could also realize why some more experienced developers do not recommend it when things get more serious, and had myself to move away from it for the next iterations. The biggest struggle I faced in my case was the fact it is was evolving too quick. The newer releases causes the previous ones not to be truly finalized, but newer versions would then break some libraries compatibility. But I am definitely eager to see how this environment stabilizes over the years.

    Proof of concept interface

    The interface was developed in vue.js. Not having much experience in web development back then I followed some friend recommendation. The practical component structure of vue.js and its accessibility made it a good choice. The resulting page was lightweight and had good performance on the esp.

    And that's how you get yourself a working proof of concept which you can start testing in real life.


    To be continued

  • The roots of the project:

    Rup01/16/2025 at 13:40 0 comments

    Building an installation that reacts to real world has many facets. It often involves touching on everything: design, fixtures, hardware, music, visuals, etc...  
    While connecting a software running on a PC to the real world data might sound trivial for some of you, hackaday reader, the electronics work behind it is far from negligible if want to go beyond a basic breadboard-like setup. Doing the design, wiring, coding, interfacing with software, testing sensors and getting the most out of them... even when you know your way with all the development boards available, this remains time consuming. And whenever you need to adjust some settings, you would have to reprogram it. So for those who begin with code and electronics, it might simply feel like mission impossible !  
     

    Having interfaced piles of arduino too many times for various projects over the years, the reflection for a solution started. And that's how the development of Pipo began, to bring a standardized system that is quick and easy to setup, flexible and accessible to more people.  
    This project hopes to give super powers to beginners and creatives, and provide a fast, feature-rich solution to more advanced users, so that you can spend time working on all the other aspects of your creation without struggling with proper sensing and interfacing.

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates