12 October 2019

#034 - LEGO Johnny 5 In Da House!

Two weeks ago, I purchased the LEGO Mindstorms EV3 for £200. I have been eyeing the toy for 2 years and decided to buy it after seeing a £50 discount.

So, why have I been inspired to buy a toy that was originally released in 2013? Quite simply, I enjoy tinkering with gadgets and I love learning new things. This blog is a testament to my learning process - and admittedly, I have a whole backlog of entries that I have yet to share.

Concerning the LEGO EV3, I have ALWAYS wanted to learn robotics since seeing a LEGO technic demo in high school (which we never seen in computing class). And at the original time of writing this reflective draft, I have finally purchased the new Raspberry Pi 4 alongside another Arduino Uno R3 IoT microcontroller board.

I am swithering in building and coding a custom R2-D2, as a fun side project to add to my digital portfolio. There are several open source solutions that extend the functionality of the LEGO EV3 brick.

One option is the EV3 Dev OS which acts as a dual boot OS. The good thing about this option is the widely supported programming languages including Python, Java, Go, C++, C.

There is also BrickPi which is a special board that snaps on to your Raspberry Pi 3 (RPi 4 is not yet supported). The good thing about the BrickPi is that you leave behind the EV3 brick, which may be ideal in some cases (like the hefty battery kit), and seemingly it offers a diverse selection of programming languages including Scratch, Python, C, Java, Node.js, Ruby... and a few others. The Node.js appeals to me because I can harness JavaScript code, but Python seems like a safer bet, as Python is traditionally used in electronics and IoT devices.

Since my arrangement with work has changed to a 'overtime' hours during my study days, I can only commit to working on my side projects at the weekend. I would like to tinker at the evenings, but after a full-time shift of 8 hours staring at a screen and the daily commute to work and back, I am learning to rest my body to recharge for the next day.

This is partly why I have sought for a developer opportunity, so at least I can exercise my coding skills on the job. In addition, I urgently want to widen my understanding and exposure of cloud technologies (especially Microsoft Azure).

I could be kicked in the head by a horse and be a hot-shot programmer overnight, but if I don't understand how code, protocols, algorithms, data integrity, security all link across and between systems, servers and users... then I am just a hot-shot programmer who can write nice clean code.

The demands and expectation of modern-day coders advertise themselves as "jack-of-all-trades, master of none". I also want to learn and work with others in a disciplined development role. Unfortunately, my current role is extremely limited for personal development, especially when we are hit with budget cuts across the board.

So yeah, I will decide to buy a legacy LEGO kit that contains the physical appearance of a licensed R2-D2 from the Star Wars universe. The main appeal for me is the personality of R2-D2 in trying to recreate the beeps, the boops, and the amusing screams.