Who am I? Hi there! I am Benn Tan, currently studying at Victoria Junior College and an intern at Tinkertanker!
I am an aspiring software engineer interested in the development of new, innovative solutions to supplement Tinkercademy’s current learning resources to enhance the learning experience for prospective students and enrich the educational experience for existing instructors.
As a programmer who started in software development, I have some experience in server-side development with Node.js and app development with the integrated use of the XCode IDE and Swift. I was quite reluctant to venture into uncharted waters and get myself familiar with the hardware side of things, a field completely beyond the scope of software engineering. One reason for this was that I thought the field of electronics is particularly low-level and convoluted, hence I perceived the difficulty of assembling and programming all the various electrical components to be quite high with a steep learning curve. Like most software engineers, this made me adverse and hesitant of anything even remotely related to the idea of physically tinkering and interacting with hardware.
However, as interns, we get opportunities (totally not forced) to try out and get ourselves exposed to one of the products found on the Get Hacking store for a month. After browsing through the extensive catalogue of products offered on the Get Hacking store, I chose the micro:bit Tinker Kit as it had an array of cool, intricate-looking components on the product photo that appealed to me.
My Initial Impressions of the Tinker Kit
When I first opened the box, I was impressed at the myriad of colourful, funky-looking electrical components. Apart from the star of the show, the micro:bit controller itself, there were other various electrical parts, ranging from sensors such as the PIR sensor (for motion detection) and the crash sensor (for collision detection) to the ADKeyboard that is able to register user input into the micro:bit controller. There is even an OLED screen included that can show basic text or custom designs.
Also included is the instruction manual. It was visually colourful and aesthetically pleasing, supplemented with clear and accurate illustrations of every electrical part in the box. One thing I deeply appreciated about the instruction manual was the brevity of the description of the various electrical components. The description of their respective roles and functions was short yet succinct, free from any jargon and convoluted language, which will be easily understood and internalised by any electronics newbie (like myself). This quickly cleared my initial misconception and eased my original qualms about electronics in general and enabled me to quickly get up to speed with the projects in the instruction manual.
There were 5 interesting and innovative projects, ranging from a Music Maker to a Smart Light. The projects were designed in such a way that it integrated the use of most electrical components in the Tinker Kit, enabling one to see them in action and how they all work together in a real and concrete project! If one is thirsty for even more projects beyond the instruction manual, one can easily find more creative projects developed by other Tinkertanker developers at their website, https://tinkercademy.com/microbit/.
Getting into action by tinkering!
Among the list of projects in the manual, the Smart Light project captured my attention. Essentially, the micro:bit is able to intelligently light-up LED lights the moment it detects some form of motion. It sounded seemingly impossible to me as detecting motion (changes in the geometry coordinates or incoming light intensity) seems to have something to with artificial intelligence or machine learning, none of which are trivial topics that can be covered in a day or two. While I was sceptical at how simple this project is, I promptly undertook this project and was determined to see it in fruition.
I followed the tutorial diligently, from connecting the Breakout Board, to plugging in various components (LED light bulbs, the PIR sensor etc.) to the Breakout Board. Soon after, it came my favourite time of the project – the writing of code. While the tutorial suggested the use of Scratch blocks, I opted to type the code in JavaScript, a popular industry programming language which barely differed from Scratch in terms of its syntax, code structure and function names. I was more familiar and felt closer to home with Javascript. (after all, typing code is fun!) It was easy and relatively straightforward to program the conditional logic of the micro:bit controller. Not long after, I had a fully working Smart Light prototype!
As futuristic and complicated as this project initially sounded, I was immensely (and pleasantly) surprised at the simplicity of the logic behind the inner workings of this prototype. I also felt a sense of accomplishment as for the first time, I was able to interact with the project physically with my own hands instead of being restricted to a two-dimensional and static screen on my laptop. My project was a real thing. From this, I gained a newfound appreciation for the field of electronics as I realized such interesting, physical, and tangible projects would not be possible without the integrated use of hardware components and software code. It indeed takes two to tango!
What next?
Emboldened, I swiftly moved on to other riveting projects such as the Plant Monitoring Device, which allowed me to automatically detect the moisture levels of the soil of the plants in my balcony (featured in the photo above!) The LED lights will light up whenever moisture levels in the soil hits dangerously low levels, informing me of the appropriate time to water the plants! The included soil moisture sensor does most of the heavy lifting behind the scenes and what’s left for us to do is to simply switch the LED light on or off depending on the output received by the soil moisture sensor. For instance, if the soil moisture detects little to no moisture within the soil, the LED light will light up with an alarming red hue, and vice-versa.
As daunting and challenging as this project originally sounded, the implementation of this project is relatively high-level and hence, can be easily completed within a day, or even an afternoon with sufficient effort. This is only possible because of the layers of abstraction that the sensors and LED lights have offered to us in this Tinker Kit.
It was really eye-opening to see how in isolation, each electrical component, (be it the actual micro:bit controller itself or the various sensors with their respective functions) is unable to do anything ground-breaking on its own. But once you unify and integrate them together in a project, one will be able to see where and how these electrical components really shine. And I believe this is among the chief objectives of the Tinker Kit, to collect all these different electrical components into one place for beginners so that they will be able to tinker with the various hardware equipment right out of the box without worrying about the lack of a particular (or several) hardware.
Some drawbacks
Like all things in life, the Tinker Kit has its own pros and cons.
While relatively easy to set up, there are not many instructions about running the code on the actual, physical micro:bit controllers. I initially got confused as the code that I typed ran and executed on the virtual micro:bit controller. Instead, I had to source for other tutorials (such as this: https://tinkercademy.com/tutorials/getting-started-with-microbit/) on how to get the program running on the actual micro:bit controller. Though this is not a very pressing issue and can be easily circumvented, it would have been a lot more optimal and smoother to show how to set up and connect the micro:bit to a PC instead of diving straight into and getting our hands dirty with projects.
In addition, while there is a smorgasbord of electrical components as iterated earlier on, the projects that you can imagine, create, and develop are ultimately confined to the electrical components right out of the Tinker Kit. Should you need a more powerful motor arm that is able to push relatively larger everyday objects such as doors handles or curtains or an OLED screen that supports a range of RGB colours, you will need to purchase additional hardware from other sources to get your idea into reality. Otherwise, you are stuck with what you have and must creatively brainstorm for ideas that are only feasible with the hardware that you have.
The electrical components included also lack some features which some may deem as a boon. For instance, while the PIR sensor fulfils its job of detecting motion perfectly, there are still some features that remain unavailable to us and it would have been fantastic if these features are available. For instance, features like the ability to calibrate the range of distances it can detect motion in or adding more buttons to the ADKeyboard would have been awesome as features like this (trival or not) will come a long way in value-adding infinitely more possibilities for our own projects.
The Verdict
The full Tinker Kit in all its glory!
This Tinker Kit is incredibly good for beginners as it provides a much-needed learning curve and a smooth transition to the vast and complex field of electronics. micro:bit (and in particular, this Tinker Kit) is the ideal place to start as the majority of the heavy-lifting (the functions that are responsible for making the sensors work in the first place) are effectively shielded from the consumer. In turn, this ensures one simply has to focus on the implementation and application of such sensors into their programs, simplifying their development process of their ideas and workflow to a higher level of abstraction. This is great for newbies and beginners as it renders the difficulty of electronics to be a lot less daunting and insurmountable. It is even more ideal for kids as the flamboyant colours in the manual and novelty of the projects are sure to keep them engaged for long periods of time. After working on the example projects, they might even be inspired to design, develop and build their own projects.
While it is an excellent starting point for beginners who want to get their feet wet with electronics programming, the list of components in the kit is exhaustive as elucidated earlier on. It is necessary to supplement this Kit with other more advanced, elaborate, and specific components to make more expansive projects with an even bigger wow-factor.
Hence to sum it all up, whether this Tinker Kit is for you ultimately boils down to the perennial answer that it really depends. If you are a complete beginner foraying into the electronics field, this Tinker Kit is a perfect fit for you! But do note that this does not mean that the Tinker Kit is not for you just because you are an experienced developer with prior hardware electronics experience or background. You can still purchase the affordable Tinker Kit, and purchase additional custom electrical components to your own heart’s desire as the micro:bit controller included will work and function perfectly fine with them.