Controlling and monitoring your device through the cloud

So you’ve created a basic IoT prototype. What now?

One common request I see from clients is the need to monitor and control their device through a cloud interface. I’m working on a number of projects right now with companies that have legacy products that they want to modernise by connecting it to the cloud, and it’s easy to see why. They are looking for new ways to monitor their devices, remotely admin and control them if need be, and in a lot of cases develop a new advantage that they can use when making sales.

Over the last ten years there’s been a boom in IoT cloud services and the hardware that enables it has become easier to use then ever. Today I want to run through some of the tech platforms that can help you to do this and help you get started.

Blynk

Blynk offers an off the shelf solution to put together an app that can let you communicate with IoT devices, enabling a developer to easily and quickly put together an app that lets them remotely monitor and control what they’ve been working on.

If what you’re looking for is a phone app that can control a small number of devices, Blynk is perfect.

You can find a getting started guide for it here, and it’s as simple as downloading an app and installing a library.

Positives:

  • Simple to use, with an intuitive WYSIWYG editor through their app
  • Well supported, with a wide range of hardware platforms explicitly covered. In my experience working with other IoT platforms is as simple as setting up a webhook.
  • The paid tiers offer a wide range of options for scaling up, including the conversion to a web app and whitelabelling of the service.

Negatives:

  • You’re limited with what you can do for free, with the platform using a microtransaction model for adding UI elements to your dashboard. They aren’t terribly expensive, but it does add up over multiple projects.
  • Not every feature is available on their free tier.

Azure IoT Central

Azure’s solution is built on top of their currently existing IoT features, consolidating them all into one webapp interface.

I tend to recommend this platform for clients that are looking for something that can monitor and control a large number of devices, and is well suited in my experience for mass industrial use.

Positives:

  • The free tier covers all of the available features for the platform, with costs only coming up when the number of devices in use go above a set limit.
  • Easier control and analysis over a wide range of devices.

Negatives:

  • You have less control over the UI elements.
  • Compared to Blynk it’s harder to use, and in my experience harder to integrate with most hardware platforms.

If you aren’t interested in using either of these, or if you are interested in something with a bit more flexibility, then Microsoft and Amazon both offer a variety of cloud services that can help you. Although I couldn’t find an all in one solution like the others discussed above, I’ve used AWS’s Cloudwatch logging service to monitor various devices in the field successfully.

Good luck, and happy making. If you’re interested in discussing what you’re working on, feel free to contact me.

Creating your first SmartWatch

Lets say you have come up with a great idea for a SmartWatch product. Now all you have to do is make it… But how can you get started?

The market for wearable electronics have been growing quickly over the last decade and is likely only going to get busier. 305 million units were projected to be sold in 2020 with an annual projected growth rate of 55 percent. If you’re looking for proof of which, then all you need to do is to go into Amazon and search for fitness trackers. You’ll see FitBits followed shortly by a large batch of imitators and spin offs that are among the best sellers in the category.

In the hardware industry, there’s a odd contradiction when there’s a craze like this. When FitBits were originally developed, the industry exploded and a ton of companies started investing in this industry hoping to take their piece of the pie. Then the companies that make the components for hardware device saw a gold rush and they start making shovels, by which I mean prototyping modules being developed that are designed to easy to code for an eventually miniaturise.

Most smart watches on the market use a BLE microprocessor such as the nRF51 or nRF52 connected to a small OLED display, battery, and button. You can create a (slightly sized up) version of this using a prototype board for the nRF52 connected to an off the shelf screen and whatever other components you need. The developers for the board have detailed development guides that can guide you through the programming and the eventual miniaturisation of the device if everything works.

Adafruit Feather nRF52 Bluefruit LE - nRF52832
Adafruit Feather nRF52

It’s also worth checking out complete kits such as the TinyScreen Smart Watch kit, an all in one hardware development platform featuring everything you need, including a case, strap, and optional interchangeable modules. I’ve used this for a previous project and it can be a great way to quickly test a concept. You can also check out the OS Watch if you’d like something a lot more customisable at the cost of being a little more soldering intensive.

TinyScreen Smart Watch kit

Or if you like you could modify an already existing SmartWatch. This open source guide provides a guide to rewriting the code for a number of current watches on the market. Although this gives you the least flexibility as you’ll be restricted to whatever components are on the original device, if you’re careful you’ll end up with a presentable device to experiment with.

The reality of the market is that right now the health wearable market is saturated, but conversely it’s also relatively easy to make your own device. There’s a golden opportunity here, not to make a new Fitbit, but to make your own very specific Fitbit for a smaller niche. Say you want to make a health wearable for people that work in factories. You can add an air quality sensor on top of it. Or for firefighters, you can add a carbon monoxide sensor onto it. With a little modification you could be well on the way to the hardware development for your new product.

Good luck, and happy making. If you’re interested in discussing what you’re working on, feel free to contact me.

Engineers adapting to Covid

For the last six months the country has had to worry about the effect of the Covid-19. With a first wave gone and a second wave potentially on the way, I’ve been thinking a lot recently about the effect that it’s had on both the engineering start-ups I work with as well as my own consulting work. With a second wave incoming, what can we learn from this?

A bit over six months ago I was in Dorset meeting with clients for early project meetings and to help a company with some quick soldering work. At the time the Coronavirus cases in the UK were still fairly low, but the advice coming in from the medical community was that things would get worse quick. Although nothing on the commercial side changed straight away (with one company I worked with insisting it was overblown and not to worry about it) I was taken aback by how design houses and makerspaces responded to the crisis. Almost immediately various open source directories opened up allowing engineers to correlate hardware and software designs, and it seemed all of the design houses and makerspaces warmed up their 3D printers, sewing machines, and laser cutters to start mass-producing PPE. This was great to see, and was a fantastic early help.

Not long afterwards quarantine officially kicked in. The immediate effect on the companies I worked with varied. Some of the larger design houses were largely unaffected and able to carry on with their ongoing projects, with most of the startups being forced to slow down or pause operations. As far as I can tell the real difference was that a company with a wider portfolio of work was able to more easily weather the storm. Speaking for my own consulting work at least this definitely rings true.

To the governments credit, in these early stages a number of funds and opportunities opened up appealing for help from any company that can. On the software side I know there have been some tele-health companies that were able to benefit from this (as well as the sudden increase in demand) although I don’t know any hardware companies that were able to take advantage in the same way. There were some that are developing ideas that might, such as one working on ventilator components and new air purifier designs, but the longer lead time with hardware development (especially on the medical side where certification is key) means it may take a little longer for them to make a difference. However the Coronavirus hardship loan was a real help to the companies I’ve talked to about it, with one design house using it to purchase development hardware to keep their R&D moving forward.

Now that we’re a couple of months in I’ve started seeing a new effect where partners have been a lot more cautious and delaying the start of new projects. Both for myself and some of the design houses I work with it seems like projects that were expected to start have had to be delayed as the clients have become more risk averse. What’s interesting about this is that new companies are still approaching me and I’m seeing mentoring requests coming in, but it feels like they are waiting to start until things stabilise.

This is backed up by a piece from the L Marks accelerator which echoes the fact that investing and contracting is slowing down, and also that they are seeing some more success among companies that work with B2B firms. In my experience this isn’t universally true and depends entirely on the clients business, but generally I’d expect an established firm to be a more dependable customer at a time like this.

Also an interesting positive side effect is that (at least speaking for myself) I’m seeing a lot more international companies approaching me, something that makes sense when you consider that now everyone is working from remotely, distance isn’t a factor when you’re looking for work.

So what can we learn from this? In my opinion if it wasn’t true before, then it’s definitely true now that diversity is key. Having multiple projects available to work on can help, If given the choice working on multiple small projects instead of relying on single lucrative projects is a smart choice to make during a crisis. If possible, look for stable B2B firms to sell or partner with, and don’t be scared to market internationally as the world working remotely means distance is no object. And don’t forget, companies are still out there looking for the same services that your company offered in a lot of cases, but you may need to adapt to be able to meet their needs.

I’ve spent the last four years working with London’s hardware start-ups and design houses helping them with their embedded R&D development and prototyping. If you’re interested in consultancy work or mentoring for your company, please check out my portfolio and feel free to send me a message.

An intro to Flex PCBs

Where a traditional electronic PCB is solid, flex PCBs are electronic circuits and components mounted on a (normally bright orange) ultra flexible film that can be folded with a lot of freedom and give. The current generation of wearables are dependent on this technology to fit all the electronics it needs into something that can be worn. For the last few years I’ve seen more and more manufacturers offer them as an option, and really they’re not much more difficult to design for.

As it looks like I have a project coming up that will use a flex PCB design, as a reminder to myself and as a guide to anyone who’s new to this, I thought I’d write a quick how too guide.

Uses

The most common use I’ve seen of flex PCBs are for connectors between devices. If anyone has used a Raspberry Pi Zero camera, then you’ve likely seen one.

Pi Zero and camera

This is simply a set of traces placed on the film that then connects two components together. By doing this you can create connectors for your custom components when an off the shelf flexible cable wouldn’t be suitable.

As with a normal PCB, electronic components can also be placed on them allowing you to create intricate ultra flexible designs. The example below is from a new experimental wearable health sensor that can be wrapped directly around someones arm to get readings. With a traditional PCB, this would be close to impossible to put together.

Flex PCB worn on a persons arm

If you have a wearble IoT device such as a smartwatch, you’ve likely already worn one.

Advantages / Disadvantages

The obvious advantage is that they’re more flexible, allowing you to create unusual designs and create products that would be otherwise impossible. They’re also thinner for when space is a factor.

And the obvious disadvantages is that they’re more expensive. They don’t benefit from the economies of scale that you get from a traditional PCB, which mixed with the more difficult manufacturing process increases the cost of creating your designs. On top of that their fragility makes them harder to assemble or repair if need be.

Considerations

When placing components on a flex PCB design, stiffiners are recommended to be placed parallel to where the components will be place. The picture on the left below shows stiffiners placed on the underside of a camera design. These reduce the flexibility in specific areas.

Although not strictly necessary, they make it much easier to place the components when manufacturing and reduce the likelihood of the contacts for the parts being damaged when the PCB flexes. In my experience there isn’t a standard for setting where these should be placed on a design, so when ordering I would speak to the manufacturer to ensure they know where to place them.

Also the more components placed on a design the less flexible it will become. This is especially pertinent for double sided designs which can lead to a lot of the advantages being lost.

Although this isn’t unique to flex PCBs, if you’re using one for a camera connector or a high speed sensor, a long connector can absorb noise from the rest of the circuit. There are a couple of techniques that can help with this issue when they come up, I want to write a blog post on this in the near future.

If you’re interested in a much more detailed guide that goes into details on the materials and manufacturing processes behind the tech, you can read one from Altium here.

Good luck with your design, I hope you consider making a product using one in the future. If you want some advice or help putting something together, feel free to let me know.

Featured image credit: Furniturewalla et al, doi: 10.1038/s41378-018-0019-0.

Optimising the 3D print for your prototype

For a lot of cases, it’s a good idea to put together a 3D print for your prototype as a quick way to validate how it looks. After putting together enough failed prints and wasted enough plastic with reattempts, I want to give some of the hard lessons I’ve learnt.

Follow the Y H T rule

Hq6yptx.png

When designing your print you can speed up the results and make your print look better by following the Y H T rule. When designing your print, you can reduce the amount of supports you need in your model by putting your overhangs in a Y shape. The smaller the angle the better, but 45 degrees is a good rule of thumb.

If that isn’t possible, making a H where the inside is hollow can minimise the amount of support needed depending on the material in use. Keeping the bridge between the two pillars to less then 30mm should be safe enough to bridge the connection and shouldn’t disrupt the print too much if you remove supports all together.

However a T shape will almost certainly require a lot of support or fail completely. If your design has this shape to it, you might want to consider the next rule…

Orient your model correctly

PrintOrientation.png

When your getting your print ready, think about the orientation it will have when you print it. Putting the majority of the printing surface on the bed is a quick and easy way to reduce the printing time. If you’re not sure, experiment with the printing angles and see the results from your cutting software.

Keep the quality low

At some point I want to put together a full blog post on this, but almost every time you’re better off with a fast, low quality print rather then a slower, higher quality one.

Like it or not, there’s normally something wrong with either your prototype or your design requiring a reprint. You’re better off learning that sooner rather then later. If nothing else, unless its an elaborate design there isn’t enough of a difference in how it looks to justify the effort.

When you’re finally sure of the design and that it all works as it should, then you can turn the quality up.

And finally, cheat!

A quick and easy way to find and fix issues is to have something else do it. By using MakePrintable you can upload your model and get free feedback showing any obvious issues.