JFDuval Presentation of my electronics and robotics projects


From 2010 to 2014

I’m in the process of unifying my online presence but most of the tasks on my To Do list have a higher priority than this. In the meantime, this blog post contains a list of links that can be used as a complement to jfduval.ca/en/.

[2014] Updated resume (10/27/2014), LinkedIn profile

[2013 - 2014] Master's thesis: FlexSEA - Flexible, Scalable Electronics Architecture for Prosthetic and Robotic Applications

This project aims to enable fast prototyping of a multi-axis and multi-joint active prosthesis by developing a new modular electronics system. This system provides the required hardware and software to do precise motion control, data acquisition, and networking. Scalability is obtained by the use of a fast industrial communication protocol between the modules and by a standardization of the peripherals’ interfaces: it is possible to add functionalities to the system simply by plugging additional cards. Hardware and software encapsulation is used to provide high-performance, real-time control of the actuators while keeping the high-level algorithmic development and prototyping simple, fast, and easy.

[2013] Class webpage for How To Make (almost) Anything 

[2013] You can see the work that I've done at Boosted on their website and on their blog:

[2012] Portfolio that I used to get admitted at the MIT Media Lab. Covers my projects from 2004 to 2012.

[Pre-2010] You can browse this website, but the Portfolio does a better job at presenting my projects.

Contact me at jfduval [at] mit [dot] edu for any questions or comments.

Filed under: Uncategorized No Comments

Quebec Engineering Games – Robot (2010)

Project Name: Quebec Engineering Games - Robot

Type: Pipe cleaning autonomous robot

Objective: To build an autonomous robot able to navigate in a path of circular pipes, detecting objects and placing them in designated spots.

Circumstance: 2010 Quebec Engineering Games

Team: Julien Boisvert, Arthur Carré, Jérôme Demers, Jean-François Duval, Philippe Lavoie, Pierre-Luc St-Yves, Matthieu Tanguay

Honours: Third (3d) place


Album: http://jfduval.ca/en/?page_id=8&album=8


For the Quebec Engineering Games Machine competition, we had to build a small autonomous pipe cleaning robot.  We built a robot able to move in a circuit made of 4 inches pipes and that could find objects and bring them in predefined locations.

After many different locomotion mechanisms were tested, we chose to use tracks.  We built many robots with a design similar to a tank, the first prototypes being built from modified toys.  With all the information gathered from our first tests, we designed a homemade robot with custom electronics, custom polyurethane tracks, machined wheels and a 3D printed frame.  To manipulate the objects, we used a small adjustable shovel on the front of the robot.

Our electronics were built around a dsPIC33FJ128MC204.  On the board we had the microcontroller, a 3D accelerometer (for the servo system who kept the robot horizontal), a double h-bridge and many connectors and peripherals.

We used a behaviour-based approach for the robot software.  The robot was able to take decision in function of his exploration of the path, on the number of extracted objects and on his position and actual goal.  A central system was choosing between many behaviours based on the actual state of the system.  A servo-system was programmed to keep the robot horizontal in the pipes.  To ease debugging, we made a GUI that communicated by Bluetooth with the robot and that displayed the internal state of the robot and his sensors.

Technical specifications:

  • dsPIC33FJ128MC204
  • 4-Layers PCB, optimized for compactness (45x41mm), all SMT
  • Infrared sensors and telemeters, 3D accelerometer
  • Bluetooth communication for debugging
  • Behaviour-based control software, fully autonomous
  • LiPo batteries, Portescap gearmotors, machined brass wheels
  • Polyurethane molded tracks
  • 3D printed polycarbonate frame


For more details:

Article on the AQRA’s website: http://aqra.ca/Competition-Machine-des-Jeux-de


Quebec Engineering Games – Turbine and Generator (2010)

Project Name: Quebec Engineering Games – Turbine and Generator

Type: Hydro-electricity generation.

Objective: To build a turbine and a generator able to produce a maximum of electricity from a water source.

Circumstance: 2010 Quebec Engineering Games

Team: Julien Boisvert, Arthur Carré, Jérôme Demers, Jean-François Duval, Philippe Lavoie, Pierre-Luc St-Yves, Matthieu Tanguay

Honours: Third (3rd) place


Album: http://jfduval.ca/en/?page_id=8&album=9


For the Quebec Engineering Games Machine competition, we had to build a turbine and a generator.  Our system needed to fit inside a one cubic feet box, could not accumulate water and our generator could not use ferromagnetic materials, the only exception being the magnets.

The water enters the system by the top, and then there is a special pipe whose section is augmenting by a double 15 degrees angle used to maximize water pressure and to minimize its speed.  The water entering the system is tangential to the propeller blades.  After the special spiral, the water gets a spin and hits the blades perpendicularly, giving its kinetic energy to the generator.

After passing through the propeller, the water goes in a vacuum-diffuser (dual 8 degree angles) which creates suction below the propeller, maximizing its efficiency and assuring a laminar flow.

The generator is of axial flux type.  The rotor is made of two polycarbonate discs, each one having 9 NdFeB grade 52 magnets.  On the stator there are 9 coils.  We made a really compact and easy to build design with the propeller in the center of the discs.

The generator was modeled and simulated in Matlab based on electromagnetical equations and results from simulations made with Finite Element Method Magnetics (FEMM) software.  This model was used to optimize the conception of the coils.  The coils were home made by enrolling #30 wire on HDPE pieces and were held together with some glue.  A CNC was used to machine the polycarbonate discs of the stator and rotors.

Our primary goal was to produce 5W with our turbine and generator system.  In our first in-lab tests, we weren’t able to surpass 1.2W, a deceiving result.  However, at the competition with the standard setup we produced up to 3W.  The main reasons of this lack of power were a bad seal (between the spiral and the propeller), the bad sizing of our magnets and the absence of magnetic materials to close the magnetic field (banned by the rules).

Technical specifications:

  • 3D design made with Solidworks
  • Propeller, spiral and vacuum-diffuser
  • 3D printing and traditional machining
  • Monophased permanent magnet generator
  • Numerical simulations



TouchUS Touchscreen (2009)

Project Name: TouchUS Touchscreen (2009)

Type: Large sized touch screen for human interaction, modulated by music

Objective: To build an actuator whose action is dependant of the frequential spectrum of a song.

Circumstance: Third semester project, Electrical and Computer Engineering, Université de Sherbrooke

Team: Louis-Philippe Brault, Ronan Cimadure, Jean-François Duval, Sébastien Gagnon, Julien Gélinas, Mathieu Genest, Éric Lafontaine, Jonathan Lavigne, Simon St-Hilaire, Pascal-Frédéric St-Laurent


Album: http://jfduval.ca/en/?page_id=8&album=10


Our main actuator is a big screen with pixels made from illuminated pushbuttons.  The buttons allow the user to interact with the displayed picture in a variety of games and visualisations based on music.  We chose this concept because it is highly interactive and we wanted an actuator that can be played with, not just something to watch.

The screen is made of a wood frame and a laser etched Plexiglas panel, supporting 300 pushbuttons.  The robust construction of the screen allows it to withstand quite a lot of force, to prevent the Plexiglas from breaking when people are activating the buttons.  The first step was to design the panel in Solidworks to optimize the buttons’ position and to produce the necessary files for etching.  We then had the panel cut with a laser CNC and we built the wood frame.  Special care was given to the aesthetic aspect of this project in every step (conception, fabrication, wiring, etc.)

A special controller board was designed to control this screen, built around a PIC18F8722.  The screen is wired in 2 matrixes: one for the switches and one for the LEDs.  Many logical circuits are used to help the microcontroller control the 2x300 pixel matrixes with a good refresh rate.  The microcontroller runs varied programs, such as games or vu-meters.  All the software is coded using the C18 library.

Technical specifications:

  • 15x20 matrix of illuminated pushbuttons, multitouch capable
  • PIC18F8722 with logical circuits to control the panel and the games
  • Computer interface : serial RS-232 and USB
  • 2-layers PCB with optimized connectors, surface mount technology
  • Many games and visualizations based on music
  • 3D designed with Solidworks


Soon available!

Filed under: Electronics No Comments

BOTUS Project: Exploration Robot (2009)

Project Name: BOTUS Exploration robot

Type: Hazardous environments exploration robot

Objective: To build a robot able to navigate hazardous environments with an easy to use vocal and manual control interface.

Circumstance: Second semester project, Electrical and Computer Engineering, Université de Sherbrooke

Team: Alexandre Bolduc, Louis-Philippe Brault, Vincent Chouinard, Jean-François Duval, Sebastien Gagnon, Simon Marcoux, Eugene Morin, Guillaume Plourde, Simon St-Hilaire


Album: http://jfduval.ca/en/?page_id=8&album=7


As a contextualization, here is the definition of the project we had: “The S2 teachers and assistants invite you to participate in the design of a hybrid voice-activated software. The system you will design is a software application with interactive graphical interface module controlled by simple voice commands recognition.”

We chose to build an exploration robot.  This robot, named Botus, includes many features to allow hazardous environment navigation.  Orders are given to the robot by an analog voice recognition system, whose output signals are sent to the robot with a bidirectional RF modem (XBee), linked to a computer.

To move, the robot has two motorized wheels and a free one.  A joystick controls the movements.  The motorized grippers are controlled by switches on the controller.  A wireless camera is placed on top of the robot on a pan and tilt mechanism controlled by two servomotors.  With this setup, we can have a wide vision angle.  As the two hand of the users are already used (motion and gripper), we use voice commands to adjust the camera’s angle.  With other voice commands, the user can also switch menus in the graphical user interface.

The graphical user interface displays the video feed of the wireless camera and varied data, such as battery state, wireless communication signal strength, sensors data, detected phonemes and a 2D view of the robot in its environment.

Technical specifications:

  • PIC18F8722
  • 2-layers PCB
  • Many Sharp infrared telemeters
  • User-controlled motorized gripper
  • Wireless camera with pan and tilt
  • GUI on PC, wireless communication with Zigbee (XBee)
  • Escap motors and Eurobot 2008 PIMD3.1 motor drivers


To view some of our tests and demonstrations, you can watch the Projet BOTUS videos on http://www.youtube.com/user/AQRAeb2k8.

For more details:

Article on the AQRA’s website: http://aqra.ca/Projet-BOTUS-Developpement-en

Instructable by Simon St-Hilaire: http://www.instructables.com/id/BOTUS-Project/

Filed under: Robot No Comments

Caméléo the chameleon robot (2008)

Project Name: Caméléo the chameleon robot

Type: Mobile robot able to detect and reproduce the color of his environment

Objective: To build a robot whose goal is to stimulate young children’s interest for science.

Circumstance: Toy robot contest, Université de Sherbrooke

Team: Alexandre Bolduc, Louis-Philippe Brault, Vincent Chouinard, Jean-François Duval, Sébastien Gagnon, Eugène Morin, Simon St-Hilaire et Louis-Philip St-Martin

Honours: Special award for originality


Album: http://jfduval.ca/en/?page_id=8&album=11


The first project in Electrical and Computer Engineering at the Université de Sherbrooke is to build a toy robot.  Initially, they were built for autistic children.  That year’s contest saw the main objective change; the goal was now to motivate children to study in sciences.  Since our theme was Animals, we chose to make a chameleon. This would also allow us to test a color matching technology.  A color sensor was designed with an RGB LED, a photodiode (with analog signal processing: high-pass 1kHz filter, amplification) and a PIC18F1320.  Once the color was decoded, the microcontroller activated the 40 RGB LEDs placed in a fibreglass shell, changing its color.

In the video we can clearly see the color matching feature.  The robot displacements were of poor quality because we had motors of insufficient power (small hobby servos) and we hadn’t enough time to make a proper speed servo system.  The wiring harness is only used to give power to the LEDs for a long day of demonstrations and to get commands from the kids.

Technical specifications:

  • Built around ROBUS and ARMUS boards
  • Color sensor made with an RGB LED, a photodiode and a PIC
  • 40 RGB LEDs
  • Fibreglass shell
  • Shock sensor, telemeters


Filed under: Robot No Comments

Eurobot OPEN: Mission to Mars! – Germany (2008)

Project Name: Eurobot 2008

Type: Autonomous mobile robot

Objective: To build a robot able to navigate without making contact with obstacles and another robot while collecting, dispatching and placing in designated places colored balls.

Circumstance: Eurobot 2008 international mobile robotics contest – Mission to mars!

Team: Pierre-Luc Bacon, Sébastien Bélanger, Jonathan Dubé, Stéphan Couture and Jean-François Duval


Album: http://jfduval.ca/en/?page_id=8&album=6


Eurobot is a mobile robotics contest that regroups teams of student (classes or personal projects) from everywhere in the world on a common goal: building a robot able to play a game.  The contest is held in Europe, in a different country each year.  The 2008 edition was at the Heidelberg University in Germany.  27 countries were represented by more than 400 teams.

The theme is different each year.  It is strongly influenced by current issues to make a parallel with real uses.  In 2008, we were challenged with “Mission to Mars!”

The objects we had to manipulate to score goals were colored balls: blue, white and red.  A toss is made at the beginning of each game to allocate each team a color.  If we are blue, we need to collect blue balls (samples) and white balls (ice cubes), both found on the table or in special distributors.  When we have the balls, we can shoot them in an elevated basket or store them in a small bin.  By doing special color combination, bonuses are attributed.

We decided to build a robot able to collect balls both on the table and in vertical distributors.  An impeller sucks the balls in the robot.  When an entry is detected, we sense the color.  A rotative barrel is then used to move the balls in the robot: entrance, color decoding, shooting.  To help the impeller get the balls from the distributors, a pair of clamps helps extracting them.  To score, a canon can shoot the balls in the elevated bin or in the standard bin.

For its locomotion the robot has 2 Escap motors with custom gearboxes and scooter wheels.  The main energy source is a large LiFe battery pack, while 2 small NiMh packs are used for the electronics.

Technical specifications:

  • Many PIC and dsPIC
  • I2C network
  • 2-layers professionals PCBs
  • Classical and surface mount technology
  • DeWalt Nano LiFe (A123) 36V battery
  • VIA pico-itx embedded computer
  • 3D designed with SolidEdge, conventional and CNC machining
  • Escap motors


Homologuation sequence:

To view some of our tests and demonstrations, you can watch the AQRA’s videos on http://www.youtube.com/user/AQRAeb2k8.

For more details:

Electronics and software design: http://aqra.ca/Conception-electronique-et

Mechanical design: http://aqra.ca/Conception-mecanique-2008

Filed under: Robot No Comments

Eurobot OPEN: Robot Tri Party – France (2007)

Project Name: Eurobot 2007

Type: Autonomous mobile robot

Objective: To build a robot able to navigate without making contact with obstacles and another robot while collecting, dispatching and placing in designated places cans and bottles.

Circumstance: Eurobot 2007 international mobile robotics contest – Robot Tri Party

Team: Pierre-Luc Bacon, Sébastien Bélanger et Jean-François Duval


Album: http://jfduval.ca/en/?page_id=8&album=5


When my interest for mobile robots started to grow, I was 13 or 14 years old.  My researches lead me on the Planète-Sciences forum, a French organisation that promotes sciences and technologies.  Every year, they host La Coupe de France de Robotique (French Robotic Cup).  On this forum, I met another Quebecer of my age, Pierre-Luc Bacon.  As we learned a lot from our French contacts, the French Cup was our ideal, our reference as a competition.

On the second year of my technical degree, I needed a challenge to use my new skills in electronics and to surpass myself.  Pierre-Luc and I decided to try Eurobot, the international version of the French Cup.  With a flyer in the Techno department, we recruited our mechanical designer, Sébastien Bélanger.  In 2007, we were the only North American team to participate.  We had material support from the physics technologies department of Cégep de La Pocatière and a few parts sponsored by Microchip (ICD2), Rona and Dewalt (batteries and motors), but nothing in cash.  We paid for the trip to France with our personal money to achieve our dream of participating in this competition with passionate students from more than 25 countries.

The electronics architecture developed for ASAv3 was reused for this robot.  The electronic system was split in many cards: Motherboard, Actuators, Motors, Power and Sensors.  An internal I2C bus linked the cards together.  All the board were designed with Cadsoft Eagle and the PCB were homemade, the parts being a mix of trough-hole and surface mount technology.  A network storage unit from Linksys, an NSLU2, was modified to support a Linux distribution customized by Pierre-Luc.  Once over clocked to 266MHz, it’s XScale processor was sufficient to do some basic artificial vision.  Sadly, a lack of time forced us to put this technology aside.

The robot itself was built with limited resources, our main building material being plied steel.  The propulsion motors were from 18V DeWalt drills, a bad idea: 300W per motor for a one cubic feet robot is way too much.  The batteries were modified 18V NiCd packs, also from DeWalt.  We built a homemade charger for them.

Our great lack of experience and the magnitude of this project had the consequence that this robot was never fully completed.  The subsystems were functional independently but we hadn’t enough time for integration and tests.  The trip from Québec to Paris in a cheap plastic case was difficult for the robot, so rather than finishing the software we had to repair the robot.  We never passed the homologation, so we weren’t able to play our matches.  Even with this failure, it has been an incredibly formative and fun experience.  When we were working all night in La Fertée Bernard to get our robot running, we were already talking about how we would make the 2008 robot...

Technical specifications:

  • Many  PIC microcontrollers
  • I2C network
  • Homemade PCBs, trough hole and surface mount technology
  • DeWalt NiCd 18V battery
  • DeWalt 18V drill motors
  • Plied steel frame

For more details:

A few articles availables on the AQRA’s website: http://www.aqra.ca/-eurobot-2007-

Filed under: Robot No Comments

ASAv3: Semi-Autonomous Vacuum Cleaning Robot (2006)

Project Name: ASAv3

Type: Semi-autonomous vacuum cleaning robot, third version

Objective: To build a vacuum cleaning robot able to memorize a circuit programmed by the user and to repeat it autonomously.

Circumstance: Expo-Sciences 2006 (science fair), regional edition (La Pocatière)

Team: Jean-François Duval and Louis Landry-Michaud


Album: http://jfduval.ca/en/?page_id=8&album=4


When we started to work on ASAv3 we still had the same goal as with ASAv1 and ASAv2: being able to guide the robot in a room with a remote control, have it memorise the path and replicate it autonomously, while avoiding new obstacles.  The mechanic aspect was once again perfected, including better and stronger propulsion motors.  Electronics was redesigned from the ground up, with a big change in architecture.  The idea was to make many small autonomous cards linked by an I2C bus.  The user interface was improved by adding a 4x20 LCD module and a keypad.  Many infrared and ultrasonic telemeters were used to ease obstacle avoidance.  Sadly, we had to stop this project for time reasons.  The software wasn’t advanced enough to differentiate it from ASAv2.  However, all this work wasn’t lost because the same electronic architecture was used shortly after, for Eurobot.

Technical specifications:

    • PIC18F452, PIC18F1320, PIC18F252
    • I2C network
    • 2-layers homemade PCBs
    • NiMh 12V 3.3Ah battery
    • 60W impeller
    • Wireless control
    • Infrared and ultrasonic telemeters
    • LCD and keypad as a user interface
Filed under: Robot No Comments

ASAv2: Semi-Autonomous Vacuum Cleaning Robot (2005)

Project Name: ASAv2

Concept: Semi-autonomous vacuum cleaning robot, second version

Objective: To build a vacuum cleaning robot able to memorize a circuit programmed by the user and to repeat it autonomously.

Circumstance: Expo-Sciences 2005 (science fair), regional edition (Rivière-du-Loup)

Team: Jean-François Duval and Louis Landry-Michaud

Honours: Visitors appreciation’s Award and École Polytechnique’s Award


Album: http://jfduval.ca/en/?page_id=8&album=3


Thanks to ASAv1 we were invited to the second level of Expo-Sciences, the regional fair. We wanted to go a bit further with the robot for this second competition, so we designed and built a brand new mechanical system. We upgraded the esthetic part by using a flower jar to cover up all the internals of the machine and to make it look good. The vacuum has also been improved as well as the communication (now wireless). Right in front of the robot is an infrared sensor, used to avoid mistakes from the operator and prevent the robot to crash in obstacles. The electronic part has been improved with the addition of a main board, built around a PIC18F452. The wireless communication between the remote control and the robot is now possible with the use of two radio modules and a homemade protocol which encode every single command on a different frequency. Even if ASAv2 is not yet able to memorize a programmed path, it’s a step closer to our final objective.

Technical specifications

  • 2x PIC18F452
  • 2-Layers home made PCBs
  • NiMh 12V 3.3Ah battery
  • 60W impeller
  • Wireless control
  • Infrared obstacle sensor


More details:

Article wrote in 2005 about the conception of ASAv2, available at AQRA.ca: http://www.aqra.ca/ASA-v2

Filed under: Robot No Comments