Model Your Algorithms, Design the World

Let’s model our algorithms to experience a faster design development and product deployment to make a better world.

Model-Based Design (MBD) with MATLAB and Simulink enables students to efficiently design and build a real-world engineering creation. This is made possible through the help of Simulink with target hardware using automatic C code generation technology.

Model-Based Design (MBD) is not just a framework, it had enable many groups of industrial engineers (in different domains) working on different design modules individually but using the same environment and eventually integrated their work together to deploy a full system. With this proven method, it allows students of cross-disciplinary to work as a team and experience the industry standard tools.

All students will be encouraged to fully deploy Model-Based Design (MBD) with target hardware using automatic C code generation technology.

Students are allowed to use any supported hardware. We will provide hands-on training with the Arduino board. Additionally, MathWorks provides resources on targeting to other boards such as Raspberry Pi, Beagle Board, Freescale FRDM-KL25Z, BeagleBone Black and Lego Mindstorms.


Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. There are variants of Arduino. The specification for Arduino UNO is highlighted here.

Use Simulink to create algorithms for control system and robotics applications and then simulate to verify that your algorithms work during simulation. With the click of a button, you can download and run the algorithms on the embedded processor on the Arduino board.



Operating Voltage
5 V
Input Voltage (recommended)
7-12 V
Input Voltage (limits)
6-20 V
Digital I/O Pins
14 (of which 6 provide PWM output)
Analog Input Pins

DC Current per I/O Pin
40 mA

DC Current for 3.3V Pin
50 mA

Flash Memory
32 kB (ATmega328) of which 0.5 kB used by bootloader

2 kB (ATmega328)

1 KB (ATmega328)

Clock Speed
16 MHz

 Raspberry Pi

The Raspberry Pi is a credit-card-sized single-board computer developed by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools. The Raspberry Pi has a Broadcom BCM2835 system on a chip (SoC), which includes an ARM1176JZF-S 700 MHz processor (The firmware includes a number of "Turbo" modes so that the user can attempt overclocking, up to 1 GHz, without affecting the warranty), VideoCore IV GPU, and was originally shipped with 256 MB of RAM, later upgraded to 512 MB. It uses an SD card for booting and long-term storage.

When connected to MATLAB and Simulink products, Raspberry Pi can help students and hobbyists understand concepts and workflows for designing an embedded system, without using hand programming. You start by using Simulink to create algorithms for audio processing, computer vision, and robotics applications. Then you can apply industry-proven techniques for Model-Based Design to verify that your algorithms work during simulation. Finally, you implement the algorithms as standalone applications on a Raspberry Pi.

 Other Supported Hardware

Various other embedded hardware such as DSP, MCU and FPGA are supported for development deployment target. Please refer to the link for a full list of supported hardware.

 MATLAB, Simulink and Toolboxes

MathWorks provides an extensive set of toolboxes customized for efficient Model-Based Design across application areas in a single integrated design environment. Listed below are toolboxes available to students during the course of the competition:

Description of Marking Rubric/Scheme

Project Proposal Guide

Project Proposal Guideline for MathWorks Track

Clarity of idea
  • Based on what has been written, is the team clear about what they would like to achieve? Are they clear on their problem statement?
  • In terms of language/communication, how well has the team communicated the message?
Potential for Model-Based Design (MBD) Utilization
  • Does this project have the potential for integration with MATLAB & Simulink products to tie into the Model-Based Design framework?
  • Has the team made any academic/commercial reference on this project? Has this project been done elsewhere? If yes, how does their project improve on current work?
Proposed System Design and Design Methodology
  • Has the student provided a system block diagram? Is the proposed design capable of solving the stated problem?
  • Has the student done sufficient research on how their project can be used with Matlab & Simulink?


  1. I have an Arduino and will be using it in my project. Can I program it using the Arduino IDE?
    No – you must code the board using MATLAB/Simulink. During the training, we will teach you how to do that, specific to Arduino. This applies to all other boards as well.
    An exception is if you demonstrate usage of MATLAB/Simulink. For instance, developing an algorithm using MATLAB/Simulink, and then using Matlab Coder to code-gen to C-code.

  2. Will I get a free board if I join this track?
    No boards will be given. However, during the training we will provide hardware for you to use.

  3. Will I get a free board if I join this track?
    Yes – upon acceptance into the track, we will provide more information on how you can obtain a 1-year temporary license for use in this competition.