Page 2 of 2

MVP Hardware or Phone App?

A frequent question when I talk to people about the things I build is “Why didn’t you make it an app”, and the answer is always “It wouldn’t work as one”.

A lesson I had to learn from a previous hackathon is that if you can make it using a phone app, you should. Kotlin (for Android) and Swift (for iPhone) are both mature and well supported languages. Whatever features and functionality you want to use, it’ll be there with a ton of examples to help you quickly get setup. And then when you release it, you’ll have easy access to a massive store front and millions of users.

Even if the idea is that you’ll eventually make a hardware version, if you can make it as an app then I would recommend it to validate the concept. There’s no reason why you couldn’t put together a quick app to show to your potential customers, then work on the hardware and build in their feedback as you go.

And presuming you already have a phone, there’s no extra cost for you. Not that Arduinos and Raspberry Pis are expensive, but not only can it not compete with free it can’t compete with the number of features that are present in a smart phone which is perfect for rapid prototyping when you aren’t sure what new features you might need.

That said, there are three big reasons that I’ve come across which makes a phone app prototype unfeasible:

  1. Scale – Say you’re working on a set of simple IoT sensors that are designed to be placed in the corner of each room. You could make one using a phone app, but making a dozen phone prototypes can get costly, especially compared to a tiny Arduino Nano or a Pi Zero.
  2. Features – A phone can do much more then any prototyping board, but there a couple of things it wouldn’t be able to do. I’ve recently been working on a guitar tuner that requires a direct audio input from an electric bass. I would never have gotten that to work without some specialist hardware for the task.
    I’d like to throw ‘the form factor is wrong’ into this as well. If you want to make something that’s wrist mounted or works as a pair of headphones, then a phone wouldn’t be practical.
  3. The users can’t use a phone – This comes directly from the medical prototypes that I’ve worked on. If you’re marketing to the elderly, the blind, or another group that would struggle to use a mobile then coming up with something embedded that can be simple and made to purpose is the best option. The device I’m working on at the moment had to be made into an embedded device so it could be used by the blind, necessitating something with close to no interface required to work.

Hold that in mind, make sure you give it some thought, and don’t forget that whatever you choose there’s no wasted time when you build prototypes. You’ll always learn something.

Laser cutting versus 3D printing for your prototype

So you’ve worked hard and put together a prototype that works. You plugged away at that development board, and you finally have something that you want to show people. The next question is, how can you go from a bunch of PCBs slapped together to something you could show everyone?

Today I want to talk to you about the options available to you, and the advantages and disadvantages of each.

3D printing

Arduino Uno 3D printed case

3D printing enables you to take any 3D design and turn it into a physical object.


  • You can create complex designs with interlocking parts
  • In my experience it’s easier to find 3D printers then laser cutters, both at makerspaces and through private companies
  • 3D printing filament is relatively cheap (compared to¬†acrylic for laser cutting)
  • Can create screwless designs by putting in clasps and sockets for parts inserted
  • If you print at the highest quality and orient the print correctly, it can produce a nicely finished design…


  • … But nice takes time. 3D printing can be very slow, with a sophisticated print taking hours.
  • By turning down the print, or orienting the print so the exterior points towards the bed can speed it up by a factor of four, but at the cost of quality of the print.

Both of these pros and cons can be seen in a project I put together last year, a handheld timer that beeps after it’s been held for 90 seconds.


This prototype consisted of two prints, in total taking about three hours, and this was after setting the print to the lowest quality and printing the design with the exterior pointing towards the bed. The result was rough, both to the touch and to look at. It was fine for a prototype to show to other engineers, but it would never be good enough beyond that.

In contrast, this is a tiny design for a fix to my bag that was optimised for quality instead of speed. It took around 45 minutes to print (as opposed to around 15 if it was printed at the lowest settings).

3D printed clasp for my bag

Laser cut

A laser cut Raspberry Pi design

Laser cutting enables you to take a flat thin sheet of a material and cut into the shape you need. You can then create interlocking parts to complete the design.


  • Very quick. I’ve made cuts similar to the above example in less then five minutes
  • Can be very cheap to prototype using laser cut plywood
  • Can produce very attractive prints using laser cut acrylic


  • Laser cut acrylic is relatively expensive
  • You cannot create complex shapes (most laser cut designs are boxes with holes in them)
  • Expect to use screws to hold your parts in place
  • In my experience laser cutters are harder to find then 3D printers

The nice finish of a laser cut design makes a lot of the difference here, which is why I’ve been using it for some of my recent projects.

The Owlett

It’s gotten some nice compliments on how it looks, however I admit it would be nice to have rounded corners to the design, and not need those screws on the front.


I’ve created projects using both methods, and in my experience the finish you get from laser cutting makes all the difference when you’re showing what you’ve made off. But that depends on whether or not it’s practical for your design, if it’s a more complex shape, then you might not have a choice but to 3D print. If you do, ensure that your design is facing upwards and that you’ve set the design to print at the highest quantity, and you’ll be fine.

Whatever option you pick, don’t expect to get it right first time. Make sure you have enough wood, filament, or acrylic to make it again just in case.

If you’re interested in making something designed to fit an Arduino or a Raspberry pi, then check out Thingiverse. You’ll be able to find a reference design there that will help you get started.