I’ve been doing a lot lately with the new implementation of OSC with the PocketVJ (www.PocketVJ.com).  It even works great with the Raspberry Pi 3’s built-in wifi so I can use my phone to control the pocketVJ when it’s hung inconveniently high up with the projector. 🙂

That being said, before I knew about the PocketVJ I was playing around with Madmapper’s miniMAD.  They’ve made a lot of changes to it since its release, but it still doesn’t offer Pi 3 support or WIFI…  And that’s a bummer.  They did implement OSC, so I figured, why not give the miniMAD wifi of its own for ~$20.

madmapper minimad wifi raspberry pi 2 glinet

And the best part is that this little wifi adapter runs off of a 5V 1A micro USB cable That I can plug directly into the RPi.  I’m using the GL.iNet GL-MT300N-V2 it’s a little bit overkill for this, but works great out of the box.  Since MadMapper doesn’t have any immediate plans to give the miniMAD wifi, this little box will do the trick.

I did have one issue with the miniMAD giving TouchOSC an incorrect IP address, but I corrected it by logging into the back end of the small router and pulling it’s correct IP Address.


miniMAD wifi

miniMAD IP address was not correct. I had to enter it manually.


Then I had playback control over the miniMAD through the TouchOSC app (iOS/Android)

You could also send network commands from other OSC apps such as QLab by running these Outgoing / Incoming port settings and executing commands as simple as ‘/pause’ or `/play.`

I’ll have more about the PocketVJ TouchOSC layout as soon as I get some more time to hack it together. Here’s a preview of what it will look like 😉




syntheticlives · August 17, 2018 at 10:43 am

super cool. Is there an advantage to doing it this way instead of just running projections through RPi? I guess you get access to the MadMapper software on the miniMad?

    projectileobjects · August 17, 2018 at 11:02 am

    I actually wrote an article for Projection-Mapping.org about using the Raspberry Pi (I’m still waiting for them to schedule and release it, if they don’t soon, then I’ll do it on this blog). Basically, PM mapping on the Pi can be done with the miniMAD, ofxPiMapper, and the PocketVJ (which uses ofxPiMapper). The miniMAD is built off of the Pi 2 and is a compiled build, not open source. It has a great sync feature over ethernet. I’ve seen 28 in sync at one time. At the moment, the miniMAD is the only RPi based mapper that offers projection mapping & sync. You can sync multiple Pi’s with omxplayer, or osc-player, or even a node.js script, but you cannot correct the masked output on each of the players directly. You’d have to make pre-recorded and mapped content, then use a simple omxplayer-sync, loop argument. This is also how it can be done for the piZero. The other current benefit of the miniMAD is that it can record and playback sACN &/or Artnet DMX messages for controlling LED light installations. The compact wifi router is great for connecting to the miniMAD to execute SSH commands, install updates, and control aspects of it remotely. Despite them not being designed to sync over wifi, you could duplicate this process as a temporary hack to get a cluster of these miniMAD’s to sync over wifi. I know a new version of the PocketVJ is in the works with a mapper update. If it can do what the miniMAD can do with Projection Mapping and sync, then it will be the best option out there. It also works with the Pi 3’s built-in wifi, and has a nice web control panel.

      syntheticlives · August 17, 2018 at 11:11 am

      Thanks for the detailed reply…makes sense. I still only have dreams of syncing multiple projectors together so it sounds like for a pre-mapped, stand alone projection mapping loop, I could just get away with using the RPi.

Stani · October 30, 2018 at 10:33 am

When i use it at MadMapper on the Mac its working, but when im trying to control it with my mobile at the projector its not, even when i correct the issue with the IP adress!
Do you have any ideas?

    projectileobjects · October 30, 2018 at 5:45 pm

    Hi Stani, So you are trying to use TouchOSC to control the miniMAD while it is connected to your projector and not wired up to a keyboard? Are you using the same setup that I tested with the GL.iNet mango router to access the minimad over wifi? -Thanks

      Stani · October 31, 2018 at 3:41 am

      I connected my mobile with MadMapper to control some things with it. It works perfectly at the mac. But when i connect my minimad with the sd card to the projector it plays the video, but i can’t use any commands with the touch osc app! Although I connected the minimad and my mobile with the GL.iNet Mango router and changed the ip Adress manually like you said. Im getting really desperate right now!
      Thank you

        projectileobjects · November 1, 2018 at 9:26 pm

        What IP address are you using in TouchOSC for the host? If you change the ip address to minimad.local does that work? Also, how is the Mango router getting power? If you are able to connect to it with your mobile device, then you should be able to open up safari or chrome browser on your mobile device. Go to, login, and see which IP address has been assigned to the minimad. Also make sure you give the Mango ample time to boot, before powering on the minimad and making sure that it is plugged into the LAN port (Not WAN). If the Mango is set up in Router mode (Not AP, or some of the others), then it should give the device / miniMAD that is plugged into the LAN port, an IP address. From that IP address you can enter it in the the host setting for TouchOSC. The outgoing port should still be 1111.

        Lemme know if that helps. Also, I noticed that the miniMAD showed up in my touchOSC when it was properly connected, but it was no the correct IP address. You can also use advanced settings to set the MANGO IP for the miniMAD MAC address to a static IP, one like if you want to keep reconnecting to the device after each power cycle.

        Lemme know if that helps, I’ll try to answer your questions in a timely manner.

      Stani · November 5, 2018 at 4:03 am

      What do you mean with “changing the ip adress to minimal.oocal”?
      How can I change the setup of the router?

      So I just connected my mango with the projector and the the minimad, I didn’t configured it, so I can’t open any website with my mobile when im connected! Do I have to configurate it that it works?

      But I logged into the backend of the mango and changed the ip adress manually to connect touchOSC with the minimad!

        projectileobjects · November 5, 2018 at 1:07 pm

        In TouchOSC you have to declare the IP address of the minimad. Since you don’t have access to the router, but you were able to connect to it. I was suggesting that you try using the IP minimad.local to control the minimad. It would look like this: https://imgur.com/ryImhRN

        Take a look at the first time startup guide that GL.iNet has supported for your router. https://docs.gl-inet.com/en/2/setup/first-time_setup/ You need to configure the router to use it properly. The default IP address for the router is, the password for wifi is “goodlife” but I would suggest you change that and also connect over Ethernet for 1st-time setup. After that, you can connect the minimad RJ45 jack to the LAN port on the mango router. Then start up the minimad. After that, connect your laptop or cell phone to the mango router using the “goodlife” password (or other if you changed it). Then you can go to in your phone browser, log in and click on devices in the left-hand menu. It should give you the IP address assigned to the minimad device. You can use the IP address with the correct port settings and control the minimad. Other questions to ask if this isn’t working for you. Do you have the latest version of madmapper? Did it update the minimad to the latest version that supports OSC. Is the minimad getting an IP address when connected to the mango device? Is your phone able to connect to the mango device? Is the ethernet cable bad? Is the mango setup as a router or as an access point? Can you ssh the minimad from your computer? Is the minimad full operational, (has passed the RED, YELLOW, BLUE, check screen?). If all these things are working correctly, then it is a pretty straightforward process to send an OSC command over a local network to a device that is already listening for it. If it is not working, I’d suggest restoring the router to its default setting and making a post in the garagecube forum under minimad support. I can comment on it there with the minimad developers.

romain lalire (@romainlalire) · December 12, 2018 at 3:48 pm

Hi ! Thank you for that great article ! I am trying to make it work but I have one question and one issue !

First, after a few minutes, the connection of the mango disappear, did you add that problem ?
Second, is it possible to use the mango as a repeater and still use touch osc and the minimad or we need one network for one minimad ? Because i want to synchronise other devises using a powerful wifi (on an airport) and I try to synchronise screens on the same wifi 😉 Any idea ?

    projectileobjects · December 12, 2018 at 5:39 pm

    Hi Romain, I have not had any issues with the mango disappearing. If it is setup like a standard travel router, it will simply create a localized over LAN and wifi. Does the connection disappear over wifi or lan? I would look at GL.iNet’s documentation, you can customize it pretty heavily or it could be a bad device. Their customer support is usually pretty responsive.

    I have not tried it as a repeater, but if it is repeating a WIFI router and acting as a Wireless Repeater, then the Pi should be given a LAN IP. Just make sure it isn’t searching the Pi’s LAN / WAN connection for something to repeat. Also for multiple wifi’s and raspberry pi’s I’ve been using the PocketVJ as it allows you to customize the setup more fully.

      romain lalire (@romainlalire) · December 12, 2018 at 7:24 pm

      Thank you so much for your answer. It’s the WiFi connection which disappear… very strange… I achieved to put the mango into repeater mode, and I see it in the touch osc app, but nothing happens ! I know that I am close to achieve it but I am not a programmer, I assume I need to change a parameter but I don’t know what 😉

Comments are closed.