I recently set up a 3D printer and dived into the world of designing and printing physical objects. So naturally, it was only a matter of time before I wanted to make something blink.
If you've ever asked yourself what a modern workflow for building IoT products from concept to design, code and hardware looks like, you'll find more than a couple of your questions answered here.
For many years I've relied on Raspberry Pi hardware as my platform of choice for prototyping. But, my friend Pankaja, who's been building hardware for almost ten years now, introduced me to some better tools and hardware to modernize my workflow.
Here I use a ESP32 microcontroller driving a Neo-pixel ring of LEDs inside a 3D printed enclosure to play around with a quick hardware prototype. This post isn't a tutorial, you can find hundreds of those elsewhere online, but a brief outline of the new tools and software I picked up.
The ESP32 is a dual-core microcontroller that's widely regarded as a powerful and versatile chip with built-in Bluetooth and WiFi to fulfill all your IoT dreams. Moreover, it's powerful enough for most projects and affordable enough to ship in a product if you really needed to.
Additionally, the chip also supports the Arduino Framework and can therefore be used to quickly build out projects using libraries that are readily available.
Platform IO is a cross-platform, cross-architecture framework and toolkit for embedded systems that make writing, testing, building and deploying hardware code a lot more developer friendly.
This was, infact, a game-changer. I was able to get started by installing the Platfrom IO extension on VS Code and creating a new project for the ESP32. It took less than 10 minutes.
Suppose you're like me and prefer to experiment with things to find new ideas. In that case, you can rely on the healthy ecosystem of Arduino libraries for working with a wide array of components that range from Neo-pixel led rings, cameras, led-displays, sensors and more.
Most kits and sensor packs could be bought via website like Adafruit or Amazon or Aliexpress.
Consumer-grade 3D printers and materials have come a long way over the last five years and are great for rapid prototyping. Today, you can get your hands on a good printer for a couple of hundred dollars on Amazon. For example, the Creality Ender series is a superb starter printer for prototyping in your hardware projects.
As a note on combining 3D printed objects with LEDs – I achieve this diffused gradient effect by varying the thickness of the enclosure at different levels (so the inside of the enclosure looks like a cone). A little hack I'll use to create a cool aesthetic in a future project.
Here's the neo-pixel LED ring inserted into an ongoing print.
Many thanks & credit to Pankaja for guiding me through this process.