ELEX 4315 Term Project

The end of term is around the corner for 2014 and the ELEX 4315 students have done an amazing job on their term project. ELEX 4315 is an Embedded Systems course in C++, which I’ve updated to cover real-time systems and machine vision. This year the course labs added up to an automated Blueberry Sorting Machine. The system the students created used machine vision to identify ‘blue’ berries (ping-pong balls) and sort these into one bin while rejecting all other colored balls to the reject bin. Students developed the machine vision algorithm, microcontroller firmware, C++ control, and electro-mechanical sorting system including:

  • An arduino microcontroller system with custom communications protocol to accept inputs (switches / pushbuttons) and control actuators (servos) and indicators (LEDs).
  • C++ class to manage serial communication from microcontroller to PC
  • C++ class to capture webcam images and perform the decision making on accept or reject of the berries
  • C++ TCP/IP server to allow remote control of system (via another similar custom communication protocol)
  • C++ client application for remote control – modified to run as CGI
  • Web interface to C++ CGI client to control system
  • All objects multi-threaded for optimized real-time performance

Two of the fastest systems are shown below. These systems were able to sort balls at a rate of about 2 per second with in the best run, one error in 45 balls.


The Golden Age of Hardware

“We Have Entered The Golden Age Of Hardware Hacking”

I couldn’t agree with the author more. Like the author, I too picked up a degree in electrical engineering in the late 90’s, only to watch almost every one of my school colleagues move into the sotware realm. All that hardware work on electric theory for nothing! But understandably so, hardware was expensive to produce, while software was far less capital intense.

I stuck with it though, after many years in graduate school I founded Gazepoint which produces eye-tracking systems which include hardware (electrical and mechanical) and a whole lot of software. These systems would not have been possible were it not for the advances in low cost electronics manufacturing AND 3D printing. I happen to love 3D printing, I’ve printed everything from replacement laundry dryer knobs and sink drain plugs, to commercial products such as housings and head mounted eye-trackers.

Last year I sponsored a UBC student team that developed an incredible video game called Focalpoint. The game was amazing, they did a fantastic job but it was all software. I’m impressed that electrical engineering produces graduates well rounded enough to do full bore software projects like this, but I also think we’re just entering this Golden Age of Hardware and believe students might find some real opportunities innovating in hardware.

So this year at BCIT I have two student teams working on hardware based projects. Of course both include significant software components but each is based around the hardware device. As the teams progress I’ll post more!