Introduction to Microcontroller Programming

This comprehensive course uses Matrix's E-blocks and E-blocks2 hardware systems and contains a series of programming exercises supported by background information for references. This can be used by Arduino or PIC users alike and covers a wide variety of microcontroller basics.

This course is also suitable for delivery of BTEC National, Level 3 in Engineering unit 6: Microcontroller Systems for Engineers.

  • Part 1: Intro to Microcontrollers
  • Part 2: Using E-blocks
  • Part 3: Introduction to Flowcode
  • Part 4: Flowcode - First Program
  • Part 5: Flowcode - Examples
  • Part 6: Programming Exercises

GSM technology - 20 hours

This training solution provides a complete course in developing communication systems. In completing the 20 hour course, students will learn about communications systems, the AT command protocol, communications strategies and many aspects of project development and management.

Learning objectives/experiments:

  • General programming of systems including LCD, keypad etc
  • RS232 protocol and programming
  • String construction and deconstruction in communications
  • The use of state machines in controlling electronic systems
  • RS232 communications and handshaking protocols
  • ASCII representation of characters in messages
  • AT command structure and command protocols used in telecommunications
  • Sending and receiving text messages in mobile phone systems
  • Modem control and messaging

CAN bus technology - 20 hours

This 20 hour training solution is designed to facilitate the development and investigation of systems that use the CAN bus protocol.

Learning objectives/experiments:

  • CAN technology, wiring topology and networks
  • CAN message structure and physical layer transmission
  • Understanding CAN bus protocols
  • Using buffers in CAN systems
  • Using CAN transmit and receive messages
  • Errors in CAN systems
  • Programming techniques in CAN systems
  • Masks and filters in CAN systems
  • Higher level protocols
  • Development of complete CAN systems based on microcontrollers

Zigbee Communication Systems - 20 hours

This training solution provides a complete 20 hour course in developing wireless area networks based on the ZigBee standard.

Learning objectives/experiments:

  • ZigBee protocols, message transmission and reception and networks
  • ZigBee principles, topologies and components
  • Development of microcontroller based systems using ZigBee technology
  • Moulding the network
  • Adding nodes
  • Expanding the network
  • Reducing power consumption
  • Dynamic networks
  • Message routing
  • Data logging gateways
  • A complete modular fire and burglar alarm
  • Improving network security

RFID systems - 20 hours

This training solution provides a complete 20 hour course in developing RFID systems. It gives students who are familiar with microcontrollers an understanding of the programming involved in developing RFID systems.

Learning objectives/experiments:

  • RFID systems and applications
  • Configuring RFID readers
  • Commands and syntax used in reading and writing data to and from RFID cards
  • Communication with both Mifare and I-code systems
  • Development of microcontoller based systems using RFID technology

Embedded Internet - 40 hours

This 40 hour training solution gives students a full understanding of modern digital communications protocols and the development of embedded internet-based products.

Learning objectives/experiments:

  • OSI model and layers
  • Ethernet, DLC, MAC, ARP, TCP, IP, UDP, ICMP, HTTP and POP3 protocols
  • MAC packet structure and message creation using microcontrollers
  • Communication strategy and information flow
  • Packet injectors and debuggers
  • ARP scanning
  • Ping
  • Time and date messages using UDP
  • Sending HTML using HTTP protocol
  • Receiving HTML
  • Sending an email using SMTP protocol
  • Custom messaging using UDP
  • A firewall application

Bluetooth systems - 20 hours

This 20 hour training solution allows students to carry out investigations into the Bluetooth standard using high level macros written in Flowcode. 

Learning objectives/experiments:

  • Data communication between microcontroller and Bluetooth modules
  • Bluetooth visibility
  • Device discovery, pass keys and addresses
  • Responses - sequence flow and error checking
  • Connecting and pairing
  • Data communication
  • Using Bluetooth for control applications