Getting Started (General)
A general overview of how to get started with the Make Controller Kit.
Introduction
An overview of how to work with the Make Controller.
The Make Controller is a flexible tool that serves people of diverse backgrounds and interests very well. But what can YOU make with the Make Controller? What do you need to get started?
It's helpful to identify how you'll be using the Controller. The most common approaches are:
- Desktop Developer - you create programs on the desktop that integrate physical devices.
- Microcontroller Developer - you create programs that run directly on the Make Controller, no computer involved.
You might do both, of course, but it's worth going over what's involved in each of them. You can get a good sense of what's available by browsing the Documentation Section.
Desktop Developer
If you write software on the desktop or a server, the Make Controller can be used as an interface between your applications and the physical world. Instead of writing applications that run on the Make Controller itself, you write applications on the desktop in the language of your choice, and send messages back and forth to the Make Controller (Ethernet and/or USB) to interact with it.
The Make Controller exposes just about all its components via OSC, an open and standardized protocol, making it easy to interface from a variety of languages and environments over both USB and Ethernet. Sending messages to turn LEDs on and off, read from the serial port, sample analog inputs and more are all easily available via OSC. Load up the provided heavy firmware application (from the Downloads Page) to enable OSC on the Make Controller.
mchelper is an OSC enabled application that makes it easy to manually test and configure your Make Controller. This makes it a good place to start experimenting and testing.
Example Uses
- Create a "kiosk" - a station that triggers computer actions based on physical interactions.
- Create a custom controller for an application you're working on.
- Create a physical display for your program - animate lights, dials, and other to communicate the behavior of your application.
- Use the Make Controller as a remote data node for your internet application.
Requirements
You're familiar with, or willing to learn, one of the languages that uses OSC such as:
|
|
|
Resources
Some helpful documents to get started integrating the Make Controller into your programs.
- The OSC tutorial and OSC reference
- The tutorial and how-to sections for OSC users
- The list of tutorials we have for different OSC environments
Microcontroller Developer
The Make Controller is fully programmable and supported by free, open-source tools. An easy-to-use API makes it simple to write your own programs to run on the Make Controller.
mcbuilder is a simple IDE that makes it easy to get started writing your own programs for the Make Controller. You can also use Eclipse or Xcode to create your projects.
Example Uses
- Create a data logger or data acquisition device
- Create a remote (Ethernet) control interface
- Create an embedded interactive device (read sensor input and create a corresponding output)
- Interface with and control other hardware (wireless modules, LCDs, etc)
Requirements
- Familiar with, or willing to learn, C programming language (firmware is written in C)
- Familiar with using IDEs, and ideally command line tools (not always necessary)
- Soldering and some electronics knowledge for cases in which external hardware is involved
Resources
- Tutorial on programming the Make Controller
- Firmware API
Helpful Resources
Some helpful resources.
Now perhaps you're wondering how to actually do anything with your Make Controller Kit. Two good places to start are:
- To simply turn on your board and blink a few LEDs to make sure everything is working as expected, the best place to start is mchelper. mchelper (Make Controller Helper) is an application that runs on your desktop/laptop that allows you to send messages manually to your Make Controller - to turn LEDs on/off for example.
Once you've downloaded mchelper, check the mchelper tutorial for info on how to use it. - To get started creating your own firmware for the Make Controller, the best place to start is mcbuilder. mcbuilder (Make Controller Builder) is a simple development environment for the Make Controller that comes with everything you need to get started in a single download, including example projects to get you going.
Once you've downloaded mcbuilder, read through the manual from the Help menu to get your bearings.
.
Hardware Overviews and Schematics
You may find you need some more details about the boards you're working with. The best places to look are:
- Schematics Page
- Application Board Overview - details on each of the main components of the App Board
- Controller Board Overview - details on each of the main components of the Controller Board
- Interface Board Tutorial - details on how to use the Interface Board
Other General Resources
As you're getting up and running, some resources you might find helpful are:
- Glossary - definitions of many commonly used terms in electronics and software.
- Forum - discussion & troubleshooting. This is where a lot of the latest info is announced.
- Documentation section - a variety of helpful information.
- IRC channel, #makingthings, on irc.freenode.net for live chat. Come by and say hello!
Download mchelper and test
Grab the appropriate software and give it a shot.
If you haven't already, download mchelper from the Downloads page. mchelper is an application that runs on your computer which allows you to upload firmware to the board. If you're running Windows, run the installer before connecting the board to your computer as it will install some USB drivers necessary to communicate with the board.
Though new boards come pre-programmed, from time to time small improvements are made to the firmware. For this reason, it's strongly encouraged that you upload the newest version onto your board. The newest version (called Heavy.bin) can always be found on the Downloads page. For help on uploading the firmware, refer to the Firmware Upload How-To.
Connect the Board
After you've installed mchelper, connect the Make Controller Kit to your computer via USB. There are 2 status LEDs on the Controller Board that should light up:
- The red LED simply indicates that the board is being powered
- The green blinking LED indicates that the program on the board is running. This is the default behavior in the Heavy firmware, but if you make your own you can make the green LED do whatever you like.
OS X USB
On OS X, in the mchelper download there's an OSXUploader installer package which provides a fix for a USB problem that prevents the upload of new firmware. Be sure to run this installer before trying to upload new firmware - note that you only need to install it once.
Windows USB
On Windows users should get a New Hardware Detected message when you plug the board in. When you installed mchelper, it provided the appropriate USB drivers to the system so all you need to do now is tell the Device Manager to install the driver automatically. Windows will also tell you that the driver is not certified - this just means nobody has paid Microsoft the money needed to prevent this dialog from coming up! Select Continue Anyway and all is well.
Also remember that the first time you erase the board, the Device Manager will pop up again saying that it found a new device. This is because the Make Controller has a different USB identity when it's erased than when it's running an app like Heavy. Go through the installation steps the same as above, telling the Device Manager again to install the driver automatically.
Now let's actually communicate with the board to confirm that everything is working OK.
USB Test
The easiest way to confirm the board is all set up and ready to go is to send it some OSC commands over USB. If you've never heard of OSC, check out our OSC tutorial. OSC is the message format that the Make Controller Kit uses to communicate with computers and other devices over Ethernet and USB.
First, make sure the board you want to communicate with is selected in the Boards list on the left. Then in the text field at the bottom, type the message you'd like to send. In the diagram below, we sent the message /led/state which, as you know after reading the OSC tutorial, asks the board whether the LED is on. It responds with the message /led/state 0 indicating the LED is off.
Then, we send the message /led/state 1 which tells the board to turn the LED on - it should turn on for just a moment before resuming its normal blink pattern. It's possible to control many parts of the board via OSC - check the OSC reference for a comprehensive list of all the OSC commands the Make Controller Kit knows how to respond to.
Turning the LED on via USB in mchelper
Ethernet Test
You can also communicate with the board via Ethernet. For this tutorial, we'll assume that you have connected the Make Controller into your local router. It is also possible to connect the Make Controller directly to your computer, but this is more complicated and has 2 main disadvantages:
- The board doesn't automatically get an address - you need to configure it yourself.
- The board can't communicate with other computers or other Make Controllers on that network.
Once the board is connected to your network, you should see it pop up in the Boards list in mchelper. You can now give the board commands via Ethernet. If you're planning on communicating with the board via Ethernet from another application, note the IP address shown in mchelper and use that in your application as appropriate. Remember that this address is subject to change - some routers will always give out the same addresses to devices they see, but not all routers are configured to do this.

Controlling the board via Ethernet in mchelper
Note that we have the Ethernet board selected in the Boards list - this is what specifies which board to send messages to, in the event that there's more than one board.

