Week 18

Propose a final project masterpiece that integrates the range of units covered, answering:

As my final project I am building a miniature projection mapping device that has one joystick-like button to do projection mapping.

What will it do?

With uMap you will be able to play back videos and map them onto a real surface using a simplified user interface (the 5-way joystick-like button).

It also features a web interface with more features to set up your projection mapping installation using keyboard and mouse of your computer.

Who’s done what beforehand?

I have been building my open source projection mapping software ofxPiMapper and that is being used in a similar device called the Pocket VJ. uMap might seem somewhat similar to MiniMAD although it is not like it in many ways.

  • uMap will be open source (software and hardware)
  • It will be smaller
  • It will have a rather minimal set of features to make it possible for one person to keep the project going

What will you design?

Electronics. I will design a PCB as a addon board for the Raspberry Pi Zero W minicomputer. The board will interpret button signals coming from a 5-way joystick-like button and drive a vibration motor to improve the experience of the user.

Housing. I will design a case that feels nice in one’s hand and makes uMap easy to use. I plan to use Fusion 360 for the design part. I will iterate on the digital fabrication part by using Formlabs Form 2 3D printer. Later I would like to use injection molding to create professionally looking housing and try to sell a limited amount of test devices.

Software. I plan to modify my ofxPiMaper software to accept signals from the 5-way joystick button and the web interface. The web interface is a completely fresh piece of software that I have to develop, you can read about the first part of my efforts on the interface programming week page.

Configuration. The Raspberry Pi has to be configured to spawn a WiFi access point one can connect to with a computer or mobile device. Once connected, the web interface would be accessible through a web browser. I will make a simple product website available at umap.io as well.

What materials and components will be used?

To make the uMap PCB I will use a double-sided FR4 board (5cm x 8cm and 2mm thick). Once milled, I will lay out the following components.

  • 1K resistors for the LED’s
  • 10K resistors for other connections
  • SparkFun COM-10063 5-Way switch for input
  • ATTiny44 microcontroller
  • N-MOSFET transistors for shifting levels between 5V and 3.3V
  • Headers for connections to the Raspberry Pi and ISP programmer
  • LED’s for power status and debugging
  • Vias to connect top and bottom sides of the PCB
  • Vibration motor
  • Raspberry Pi Zero
  • SD card
  • Spacers

For the 3D printing iterations of the housing I will use the FormLabs Clear resin. I would like to try the FormLabs Tough resin if it will be available at the lab.

If I will get that far, I will try to make aluminium molds for injection molding with the Precious Plastic injection molding machines available at the lab. For that I would use recycled plastic.

And I will need a Raspberry Pi Zero W with an 8GB SD card for each unit.

Where will come from?

Most of the electronics can be ordered from DigiKey. The SparkFun 5-way switch is available from SparkFun directly or Mouser Electronics.

In order to iterate on the enclosure, I will use the FormLabs Clear resin available from FormLabs directly. For injection molding I would use recycled plastic available around me.

The Raspberry Pi Zero W one can get from many sources and it can happen that the shop is limiting the amount of possible purchases. I intend to buy from pi-shop.ch or pimoroni.de.

An alternative due limited Raspberry Pi availability would be to use the Banana Pi Zero that shares the size characteristics with Raspberry Pi Zero W. It would possibly cause problems with the software, but I want to try it out in one of my future development iterations.

How much will they cost?

The most problematic part to get is the 5-Way tactile switch. In order to get it from Mouser Electronics one has to wait for more than 2 weeks. I bought 20 pieces and paid 20 euros in shipping costs to get the switches. Therefore I will calculate costs for 20 units first.

I made a spreadsheet (available in the Files section) and the bill of materials or BOM for 20 units resulted in 820 EUR. Which means that the price of materials for producing one unit is 41 EUR.

What parts and systems will be made?

As stated above, a custom PCB will be milled with the Roland SRM-20 CNC machine. The PCB will sit on top of the Raspberry Pi Zero W board. A 3D printed case (injection molded later) will be 3D printed with the FormLabs Form 2 3D printer. I will use the ShopBot later to create the aluminium mold for injection molding with Precious Plastic injectors.

On the software level my open source projection mapping software ofxPiMapper will be modified and upgraded to work with the PCB solution and the web interface. The web interface will be developed by using the three.js 3D graphics library for web browsers.

Raspbian Lite Linux distribution will be upgraded with various packages so the Raspberry Pi Zero W would spawn a WiFi network to make the web interface available to users.

A simple product website umap.io will be developed to celebrate a successful execution of the Fab Academy final project.

What processes will be used?

For the electronics part Autodesk Eagle software will be used to design the schematics and lay out the PCB. On the lab level for rapid design iterations Photoshop and Mods will be used to create machine code for the Roland SRM-20 CNC milling machine.

Since the double-sided PCB, I will use a manual via crimper (a machine with the brand / name BUNGARO is available at the lab) to place 0.5mm thick vias into the 2mm thick double-sided copper clad.

I will use Autodesk Fusion 360 design software to design parts for 3D printing, molds for injection molding and documentation later.

Formlabs Form 2 SLA 3D printer will be used for rapid prototyping and iterating on the housing.

I might use some more milling and / or molding and casting to produce soft parts for the final product. The 5-way switch could be covered with a soft cap made from silicone or rubber.

What questions need to be answered?

There are a number of questions that can not answer after developing the first working prototype. One thing that I will know after making it, that it works.

Can it be made cheaper is another question. After calculating costs for the parts, I could see that many parts could be avoided by simplifying the design. Ideas about simplification also arise from the experience gathered while building the prototype.

How hard or easy it is to create a injection mold for it? I have heard many opinions. Some say it is not too hard, others that it would be in the range from 1000 EUR to 2000 EUR. Tolerances are hard to manage. Companies who do that are not too friendly in terms of collaboration and creating the design together. I will have to find out the best practical and conceptual way in terms of injection molding the case.

Is Raspberry Pi Zero W the best choice or Banana Pi Zero could be better? I have not tested the software on the Banana Pi. Theoretically, if it works there, Banana Pi Zero looks like a candidate otherwise.

Will there be users and will they love it? I can use the website in order to find out. Releasing a preview video of the product and asking visitors for feedback could be a way. If things go well, I would try to launch a Kickstarted campaign to make a batch of 100 units for starters.

How will it be evaluated?

Depends on who is evaluating. As for me, it will take a year to test its durability and how well it plays with the type of projects it is intended for.

User feedback will be an important way to evaluate its performance. If the users will buy it and / or contribute to the codebase, it will be a good sign.

For the first prototype, it should be usable for projection mapping, it should look good and feel good in one’s hand. It should generate good feedback from most of the people I show and demontstrate it to.

Conclusions

There are parts where I could use more parts that are produced by using machines at the lab. Spacers would be one of the things where I could use lasercutter or casting and molding. The same goes for the soft pad for the 5-way button.

I could also add another sensor to the board to make it a bit fancier although I feel rather sceptical towards this idea. My personal goal is to keep it rather minimal, but interesting enough to make it fun to play with. I would like it to be cheap to produce as well.

Files

Download all files.