mk firmware update


    mk update for varibright message translation. now mk will work with monome sum.

    mk does not support actual varibright. levels are translated to on/off at the mid-threshold level.

    this fix is not for 40h-grid based mk builds, i will try to find time for the old 40h-grid firmware if there is demand.

  • Oh Yes please, a fix for the 40h.
    I have just received a whale today, but has to fix some power first.
    How much does the 40h actually consume?


  • 40h-grid or mk? were there different diy versions?
    i built one, but i´m not sure how you call it..

  • original 40h kit is fully supported.

    there's an mk firmware variant that is required for mk builds that use old 40h kit grid pcbs. this is not yet supported.

    the new mk firmware is for fully-mk builds (ie, new mk grid pcbs).

  • power consumption is variable with LED brightness. just plug in and test.

  • Thanks for this tehn. Will help greatly on mac, unfortunately no luck getting serialosc to 'see' the mk on Windows 7 despite serialoscd spawning an instance when it is plugged in (same with arduinome though I don't expect support with arduinome). Will give this a try on mac, still hoping for a windows solution.

  • tehn - you're familiar with my 256. should i update to this firmware, or is the work you put into mine the one that should stay in there. i'm also having LED issues with monome sum (among other LED issues that I emailed you about)

  • i would update. it's based on the changes made on yours.

  • @shimoda serialosc doesn't "see" the mk? do you mean you tested this with a non-mk to confirm serialosc is working?

  • I don't have a non-mk, ie. grayscale or other monome. I have an arduinome and the mk128 I made. Both spawn new processes or instances of serialoscd but serialosc.maxpat doesn't "see" either in sum or even just standalone so i can't populate it. Both are seen on Mac, not on Windows. When my Win box starts up the serialosc service and one serialoscd process are running, but I get cannot create lo_server error if i open serialoscd.exe directly to see what is happening. I don't have any other monome (ie. grayscale or other newer grid) to test on Windows but I know the mk works from use on the mac. I use my windows more though and dual boot win/mac on my macbook.

    I guess I am assuming serialosc works as it does spawn new processes when I plug in the arduinome or mk and conf files have been generated for them, serialosc.maxpat just will not see them and let me connect. It's a real bummer.

  • ok-- that's good to know the grid works on mac, i wanted to ensure it wasn't a hardware issue.

    you've fully reinstalled the new setup package on windows?

  • Thanks tehn! Looking forward to giving this a whirl tonight. My weekend just got more action packed!

  • @tehn,

    Yes, I've fully reinstalled the new setup package on windows. I've followed the steps on three different machines - the dual booting mac that has a win7 x64 install, my desktop win7 also x64 and another windows 8 laptop. I get the same results on all three machines, serialosc.maxpat just won't see the monome.

  • @tehn

    i upgraded to this firmware and lost my encoder knob ability

  • yeah, encoders are not supported in this version. i'll update that soon-- this update was a substantial rewrite.

  • @shimoda

    i'm having a hard time knowing where to go from here-- the windows installer is confirmed as working for a great number of people, and you're saying the hardware works on the mac.

    are you testing by opening monome sum?

  • I've tested using sum, serialosc devtools, monome test, etc. serialosc instances are starting but serialosc.maxpat doesn't see anything. It's very strange considering I've tried this on multiple computers including a close to fresh win7 install. It seems as though perhaps something is being blocked keeping the maxpat from seeing the instance but I don't know what the lo_server error message means when I open a serialoscd.exe window directly.

    Is there some reasonable way I could assuredly remove all parts of this system from my computer and start fresh?

  • the lo_server error is likely because serialosc is already running and a second instance can't claim the same port.

    have you fully disabled your firewall as a test?

  • Yes, I tried that almost first, no go.

    Made a blog to track this. Image of the processes server:

    Additionally I went into the AppData folder and deleted all the conf files from the serialosc folder there and plugged the mk back in. After removing it created a new file: m0000002.conf with contents:

    server {
    port = 17711
    application {
    osc_prefix = "/monome"
    host = ""
    port = 8000
    device {
    rotation = 0

    Seems like something right is happening, just don't know why the device isn't being seen in maxpat?


    I did some more looking and pulled the osc_test from:

    When I put the port in manually it 'found' the monome but still failed to populate the monome in the window where the name goes. I was able to test but still can't get the device to show in the new serialosc.maxpat or any program that uses it.

  • have you ever had this working? do you recall what your setup was then? what versions?

  • I've had it working previously, using an older version of serialosc with the zeroconf externals. Like I said, when I downloaded the zeroconf-explorer and the accompanying serialosc.maxpat that was in that other thread from 2011, it found the monome, of course I had to enter the port for the monome. The mk worked (this was last night) using that older serialosc.maxpat, but for whatever reason, it isn't working with the new serialosc.maxpat.

  • Any more ideas? Anything I could try regarding files or registry keys to remove and do a reinstall? Already tried but no go. What I can't understand is why one version (from 2011) will work (as long as I can set the port that the new serialoscd is assigning) but serialosc.maxpat (new one won't find). Is there a way for me to force the maxpat to 'see' the monome (ie. set it's assigned port)?

  • the newest serialosc does not use zeroconf.

    are you opening serialosc.maxpat directly? that doesn't work so well. i'll throw together a secondary test for you.

  • I have tried opening up serialosc directly but also in other apps. Would love anything that helps me figure this out whether it be a tweak to serialosc or some other test. It just seems odd that the service is working but the device is g populating in the maxpat. The arduinome is the same, it also spawns a serialosc service as a 40h but isn't populated in the window.

  • @tehn,

    I'm wondering if you think it would in some way be possible to individually address brightness levels in an mk or other earlier monome to effect varibrightness through software (pwm, etc) or if the way newer VB monomes are wired is not possible to do through software. If the latter is the case, are there any schematics available for the wiring scheme for newer monomes in the case someone (like myself who is finally learning how to work with microcontrollers) might try to make a VB style monome using non-traditional keypads (not the typical form factor) or even rewrite the mk firmware to make VB possible on these older devices. Also still looking forward to any tests you design for the current problem I'm facing.

  • good luck with a vb firmware. you can make something work (i made it happen on the 40h, 8 years ago) but it looks horribly flickery using the max7221 led driver, in my eyes totally unusable. mk is good for mono, i'd stay at that given the electrical hardware onboard.

    test situation, still figuring out something for you.

  • advice taken, better to spend time on something new, like a new max patch.

  • Just as an update, I completely removed all references to serialosc from the registry, uninstalled serialosc, reset all com ports on my computer, completely reinstalled the monome device install pack (taking care to reboot the computer after each install) and still cannot get serialosc.maxpat to see my device.

    serialoscd is still starting a service and has logged a new .conf file with the following:

    server {
    port = 10850
    application {
    osc_prefix = "/monome"
    host = ""
    port = 8000
    device {
    rotation = 0

    I did change the serial just to see if that changed anything. I have not put the newest mk firmware on my unit but it would seem that the actual serialoscd service is doing its job. Max and the sum patch, etc. are all listed as having clearance through my firewall and I've even tried this with my firewall shut off.

  • bump in case anyone has ideas about how to solve this.

  • Thanks for the update tehn. Monome sum is working beautifully now.