Modkit and the Kickstarter Campaign


We're suckers for creative ideas that will help bring new people to the world of physical computing. So when we heard about Modkit we were all over it! In their own words:

Modkit is an in-browser graphical programming environment for little devices called embedded systems. Modkit can currently program Arduino and Arduino compatible hardware using simple graphical blocks similar to and heavily inspired by the Scratch programming environment developed by the Lifelong Kindergarten Group at the MIT Media Lab.

In our own words: it's awesome! Newcomers can tend to be discourage when it comes to learning code. Learning a language, syntax and how to understand compiler errors can be a frustrating endeavour, even if you're using a platform like Arduino. Modkit has attempted to ease these frustrations by creating a web-based graphical programming environment for Arduino. The interface makes programming as easy as dragging and dropping. By using built-in programming 'blocks' users literally build their code by dragging blocks into a programming window.

http://www.sparkfun.com/tutorial/news/ModkitScreenshot.jpg

Modkit can be used to program Arduino, and they're working to integrate different shields into the included code blocks. SparkFun will be selling a Modkit Board soon too, which is an Arduino Shield with a motor driver, a header for a 16x2 LCD, and a clever new way to attach analog sensors or I/O using Audio Jacks. The Modkit board will be supported by the Modkit IDE and is a great way to introduce students (or any beginner, really) to programming, especially robotics.

The creators of Modkit are currently searching for funding. They've created a kickstarter campaign to reach their goal, inviting the greater community to help them get their project off the ground. Certain rewards are offered for different sized pledges. If you're a hardware maker and you think that your design would be a good addition to the Modkit IDE, you can even make a pledge and they will add your board to the interface (like we did with the Modkit board).

We think Modkit is a great idea coming from great people. If you have time check out their website and see what they're trying to do. If you think that you or someone you know may benefit if the idea is realized, make a pledge!


Comments 28 comments

  • Interesting project but I have no desire to fund a for profit project. If you are planning to open source it that is another story.

    • hi, now there is an open source project for graphical programming: minibloq.org. I will release it next month (will run a kickstarter campaign, I have to finish things first, but the basic thing is already running, as can be seen in the blog). Regards!
      Julián

  • @Paul, @Jason: You’re absolutely right that this is essentially C-Code.. Just as we don’t create new simpler languages to teach people to become literate in our native languages, we haven’t found a compelling reason to do that with computer languages..
    Many educators believe that forcing new writers of natural languages to focus on grammar and spelling can be detrimental to their confidence and success (whole language literacy), and we believe the same is true with computer languages. If you have ever used pseudocode to “think” about a problem, you probably agree.. The problem is a human can understand the concept behind a piece of writing or pseudocode without following strict rules, but a compiler cannot. This is why we have kept the original syntax, but wrapped it in blocks to allow beginners to avoid syntax errors but to have access to powerful libraries of code and knowledge..
    But that’s more about why we thought this approach would work.. We know this approach works because we have used Modkit with great success over the last year in workshops and youth programs related to the Boston Fab Lab..
    -Ed

  • Thanks for the support Ryan! It was a pleasure working with you on the Modkit Shield and we can’t wait for that to hit the storefront so we can reach the many kids and adults who would otherwise be intimidated by electronics and programming..
    Thanks to all the Sparkfun customers that got excited and posted positive feedback above and/or went to our Kickstarter page and helped push us past our goal today.. We really appreciate it!
    @reemrevnivek: The Modkit editor is web based (hence the gmail style invites) and there will be a fully functional free version.. We felt the web was the best way to build the collaborative tool that we envisioned and are following the freemium model that has worked well for the web..
    -Ed

  • Any word on the licensing of this development environment? It’s invite-only now, which doesn’t bode well for the future. I’d like to see something more open.

  • Reminds me of the Lego RCX GUI where you drag and drop function blocks to build your program. Made very easy for kids to program with.

    • My thoughts exactly!
      Certainly brings back RCX memories… I was 12 when I discovered lego’s “RIS”, If it wasn’t for the RCX I probably wouldn’t have become an engineer =]

      • Same here, Lego Mindstorms definitely put me on the path to be a Mechatronics Engineer

        • I definitely needed to reply to this :) I am 14 years old and I’m not sure about what will I continue do study when I finish High-School… I was thinking about Mechatronics but I don’t know what does it all include. I like programming MCUs like AVRs, controlling servo, magnetic actuators, pneumatics and hydraulics :D
          I heard about Mechatronics a couple years ago and couldn’t precisely find what do you learn there… If I decide that it will be Mechatronics, I will go to a Mechatronics school in Stuttgart, Germany.
          Best Regards,
          Adel :D

          • Speaking as a mechatronics engineer, I’d have to second everything Taylor said.
            I’m lucky enough to have attended a university with a dedicated mechatronics engineering major on offer (although I understand that to not be unusual here in Australia), and loved every bit of it.
            For me, the core of mechatronics is to do with combining mechanics, electronics and software to achieve something beyond what can be achieved with any one alone.
            As a bt of a guide as what is a part of mechatronics, at uni I learnt all about MCUs, pneumatics, hydraulics, electric motors, digital and analogue electronics, programming, fluid mechanics, robots, computer vision, artificial intelligence… Most important however, was that I learnt how I can combine each of the above to do some pretty cool stuff - artificially intelligent robots, for example.
            I’ll definately recommend studying mechatronics - it serves as a facinating discipline in its own right, but also provides a wide knowledge base which can be applied all kinds of engineering projects, mechatronic or otherwise.

          • Great! Mechatronics is the field you want, but not all schools offer it specifically. I know that in the US its hard to find, don’t know about germany. But don’t let that discourage you! I studied mechanical engineering in college and took a one quarter mechatronics class to learn about AVR microcontrollers. But really, I learned most of it on my own! I grew up before Arduino, but I made stuff with BASIC Stamps back then. I build a six legged walking robot from scratch in high school! So go to college and study something - mechanical or electrical engineering (I’d say mechanical for more practical stuff, but really neither teaches much hands on stuff!) - but mostly just keep learning on your own!
            I learned circuits and c programming from college. The rest I learned on my own - Servos from kits at Lynxmotion.com, Eagle PCB design from Sparkfun, C# Windows programming from the internet, Solidworks 3D CAD and AutoCAD from the internet and my job, CNC machining from the internet and my job.
            Best advice I could give you is to go get a copy of The Art Of Electronics. Best book ever. But read it! Its big and I never read the whole thing, but I should. Even if you just read the first few chapters its well worth it.
            But whatever you do, just keep learning! School is helpful but it will never be all you need. If all you know is what they teach you in school, you can get an okay job and make okay money, but if you learn on your own you can get an awesome job thats likely more fun and probably pays better!
            If you need more advice e-mail me. Its my username here at gmail. I love helping young people find direction like this!
            -Taylor

      • I hated the Lego thing when I was a freshmen learning how to program. It’s one thing when you’re doing simple tasks. Programming an RCX to make a line following robot using a visual block system like that is hell.
        It’s almost impossible to debug your code easily.
        But if it encourages people to get involved in engineering, I’m all for it.

      • I’m a little older than you guys, but straight up LEGO (and later LEGO technics) is definitely one of the reasons I am an engineer.
        Anything we can do to get kids excited about math/science/engineering gets a huge thumbs up in my book!

  • Adel95:
    City College Coventry in the UK are using Arduino on their National Diploma (A level equivalent) and their HNC/HND. By the looks of it they are teaching mechatronics with it! You don’t specify which country you are in but this might be an option if you are in the UK or EU.

  • If you read the comments on Kickstarter, you’ll find the many parts of the project that are in fact open source or creative commons.. But the Editor is web based which usually means being free in terms of cost and open and extensible through APIs etc. There are some open blocks langauge builders like OpenBlocks which Google used for App Inventor, so we don’t see the benefit to the community to release our blocks front end at least at the moment.. It also creates documentation responsibilities and a different release cycle which for the web is rightly “perpetual alpha”..
    If someone can explain why open sourcing our front end (or do you want our server side too?) will actually help the community more than building this as a free web service, we’ll definitely consider it.. But that’s an open question that most who suggest it, have yet to answer.. And none have answered convincingly ;)

  • Arduino is completely open source. Sparkfun is moving a lot of its products towards open source and/or creative commons.
    Not one bit of Modkit is open source or creative commons.
    The concept isn’t bad - remove the ability to make spelling and syntax errors by turning C programming into a drag and drop affair. Following a “freemium” business model still has benefits.
    This leaves an opening for the open source community to fill, and demonstrates a need for this sort of product/service.

  • oops wrong thread… :-) was supposed to go under the customer service…
    sorry.
    go ahead and send a directional audio brain scanning unit to kill me now.

  • that dude looks like wolverine
    u need to hire more girls.

  • That MODKIT interface seems a bit goofy to me. As someone else mentioned, all it does is wrap C code in colorful blocks. It’s essentially glorified block-tabbing.
    A more “intuitive” interface would be to use something like a pin-graph to show flow structures, like many controls-system IDEs use. The bulky pin-based interface of those systems is less about being intuitive to new users, and more to aid in validating the operation of a machine in an intuitive manner. That kind of feedback aid would be invaluable for a new user who is not well versed in system controls.

  • yeah i agree it does sound like the lego RCX program software

  • “I mean it’s still C code using Arduino libraries on each line. ” - Paul
    I couldn’t agree more. I don’t see how that graphical interface provides any sort of paradigm that would make it an easier path to learn to create on an arduino than using whats already provided for free. That is of course, as long as your keyboard works.
    Now if it was similar flowcode but for programming arduino graphically, i can see the usefulness.

  • Maybe it’s just me but I don’t really get it. I mean it’s still C code using Arduino libraries on each line. The difference is that instead of indenting you have huge colored lines. Oh… and “loop()” becomes “forever”. I guess it would make more sense to me to build a community around it if it were an open project, like a “Visual Arduino” or something :P

  • Wow!! I love ardu and scratch!!! I will definitely get this!

  • I have used scratch before and I have taught it. It is aimed at younger kids however it is a good system for teaching the fundamentals of programming. The extension of this to allow programming of control systems is superb.
    It is important however that scratch is not used as a long term solution. Scratch should be for the fundamentals only. Once the fundamentals are understood then traditional methods of developments should be used.
    The only fear that I hold about systems like this is that it easily allow people to overlook the more theoretical areas involved in software development and control theory/systems.

  • Reminds me of Carnegie Mellon’s Alice program for learning Java. I used it in my Computer Science class last year.
    http://www.alice.org/

  • These are the guys that brought us Logo, MicroWorlds, Scratch and now this. Awesome. In my humble opinion I think kids should be exposed to computer languages as young as possible since computer languages utilize the same parts of the brain that spoken languages do when one is learning them. The younger the exposure the better! Plus- if you learn the basics of one or two computer languages (even GUI programming) then the concepts transfer very easily to other languages (Think Spanish and Portuguese). Plus kids LOVE computer games, robots and animation so it’s easy to get them started, then you just stand back and watch while they speed away.

    • I definitely needed to reply to this :) I am 14 years old and I’m not sure about what will I continue to study when I finish High-School… I was thinking about Mechatronics but I don’t know what does it all include. I like programming MCUs like AVRs, controlling servo, magnetic actuators, pneumatics and hydraulics :D
      I heard about Mechatronics a couple years ago and couldn’t precisely find what do you learn there… If I decide that it will be Mechatronics, I will go to a Mechatronics school in Stuttgart, Germany.
      Best Regards,
      Adel :D

  • Cool idea and awesome implementation….cant wait till my kid gets old enough where I can introduce physical computing to her….i hope tools like this continue to grow and evolve


This Week

This Month

Heartbleed

Happy Arduino Day!

SXSW Create 2014