Design Analysis - Sparkfun's Spectacle Project

What a Spectacle! Last week, I was reminded of this platform by way of browsing Sparkfun’s surplus section, that the Spectacle Director board was going for 60% off. At that point in early 2017 I thought it was a neat concept to connect boards together but I never really followed up because it seemed to be a little limiting. My interest piqued, I decided to check up on the other Spectacle boards, but there was a reason why the Director board was being offered at 60% off… ...

July 12, 2021 · 8 min

Google Cloud PCA

I recently took the PCA and passed! It was tough but I thought it was worth it as I am better able to understand the context for Google Cloud much better. Everyone tells you to read the docs and that they are the most useful thing when it comes to studying for the PCA. Unfortunately this is like telling someone who is studying the English language to study the dictionary. It is useful as a reference, only in context of the questions you have! If you read it from end to end, it’s just not a good use of your time! ...

July 1, 2021 · 12 min

Modelling audio trilateration

Trilateration is the act of finding a location given a set of distances from known locations. It is a little different from triangulation where you know the angles from known locations. Triangulation With triangulation, you measure the angle and find the intersections. Trilateration With trilateration you find the distance from the center to each of the shaded circles to determine the location of the origin. Now to picture the problem, since audio signals radiate out from a single point, and you don’t know the direction, the only info is the time which each node detects the sound. ...

June 8, 2021 · 4 min

My experience taking the Google Associate Cloud Engineer exam

I recently passed my Google Cloud ACE examination! Yay! The exam itself was very challenging and it certainly pushed my cloud knowledge as well as my understanding of networking to the limit. It can be quite nitpicky, all the way down to four similar looking commands with minor differences in order to selecting a suite of services based on a given scenario. I used the Official ACE examination study guide as well as Qwiklabs. I thought Qwiklabs were the most useful in terms of getting me familiar with Google Cloud in a risk free environment since they create a custom lab each time you start a lesson. You can get a free month by taking part in their challenges each month here: https://inthecloud.withgoogle.com/google-cloud-skills/register.html ...

June 2, 2021 · 2 min

Review: Udacity Data Engineer Nanodegree

Tldr; more content, worse support. If you are looking into this Nanodegree to learn data engineering I would strongly advise you to look elsewhere. Old content that has not been updated This is the biggest issue for me. Technology does not stand still, especially for cloud technologies. If you decide to create videos, I minimally expect that the content is kept up to date because videos become impossible to follow if the GUI on the instructor’s screen does not match the current state of the GUI. For this reason, I don’t like follow-along videos for GUI interactions because it is simply not easy to follow what someone is clicking around in a GUI as compared to coding. The interface for AWS has not changed much, but a few options that were laid out in the video are hidden in dropdown menus now, and it took me awhile to find it. ...

April 15, 2021 · 8 min

Review: Udacity Robotics Software Engineer Nanodegree

Great for busy professionals, pass otherwise. Tldr; I enjoyed the novel aspects of the program, but ultimately I thought it fell short of the price it was asking for self-funded learners. I recently had the opportunity to do a Udacity course. Arguably, amongst all the providers I’ve tried, the Udacity curriculum is most tailored towards a working professional: It designed around the assumption that learning is not your full time job. Correspondingly, the content is broken down into small bite-sized chunks that you can start and stop at any time. It provides you all the tools you need to complete the program right in your browser. No more figuring out installations and setups! With that in mind, I set out to finish the Udacity Robotics Software Engineer Nanodegree. Below, I break down my experience of each part of the program, and hopefully, it can help you to decide if Udacity Nanodegree is right for you. ...

March 15, 2021 · 7 min

Easy way to remember Formula for Quadratic Roots

Using the tune of Twinkle Twinkle Little Star: *x equals to negative bplus or minus, the square root ofB square minus four A C**all of which is over two A.**Now I know how-to find my roots,*next time you can find them too! [ x = \frac{-b\pm\sqrt{b^2-4ac}}{2a}] My dad thought up of this ingenious way to remember the roots of the quadratic formula and taught it to all of his students including me. So while my peers were struggling with trying to remember if it was $b^2-4ac$ or $b^2+4ac$, I was quietly singing Twinkle Twinkle Little Star to myself. ...

January 1, 2021 · 1 min

Achieving Ultra Low Power Bluetooth with BG22

When a company claims that I can get 1uA power consumption in a standby state for a wireless device, I have to test that claim. 1uA effectively means 100,000 hours on a single CR2032 coin cell battery. And 100,000 hours means 10 years of running on a single coin cell. Compare against Nordic’s excellent nRF52840. It is very popular amongst hobbyists, and it has seen some inroads into commercial products due to its low power features, but the current draw when transmitting under the same conditions as the BG22 (0 dBm, DCDC) draws 1.5x more current (6.40mA vs 4.4mA ). Another popular choice for BLE is the CC2520 from Texas Instruments which I’ve seen featured amongst many commercial Bluetooth products: beacons, dongles, exercise bands… you name it, it probably has a CC2520 or some variant of that inside. But it doesn’t do 1uA of current ...

December 12, 2020 · 5 min

Opinion: Why I don't use Rust for embedded

Yet. Rust is amazing. It has types, the compiler is robust and provides actual useful error reports instead of freaking out when I forget a ; somewhere. You completely sidestep security problems that you commonly find in C simply because of how Rust is designed. However, as much as I would love to use Rust as my tool for everything, the workflow for embedded devices still needs work. Limited support for Rust - This is the biggest stopper for me I think. Embedded development is firmly entrenched in C/C++ and most companies have no active plans to transition. If you want to work with a particular chip, you either have to write the crate yourself or rely on someone having already written the crate for it. This is okay if you’re building stuff with popular ICs like the STM32 but the moment you venture out into the world of wireless or a slightly lesser known IC and you are on your own. As far as I can tell at the time of this writing, there are no embedded Bluetooth stacks in Rust, which is a big bummer for me. Workflow - This is down to personal taste, but I prefer to be debugging in an IDE where everything has been set up for me than to set up and customize a gdb server and workflow. For some people, there is value to setting up a workflow, but for me, I rather spend that time writing embedded code. This is relevant because most IDEs don’t support development in Rust. Vs C/C++ - I think there is more mileage to be had if you developed in C and C++ than in Rust, for the reasons stated above. Outside of embedded development, there is a whole host of projects that are written in C/C++. So it makes sense (to me at least) to gain proficiency in C than in Rust when doing embedded development. For me at least, until we start seeing official support from manufacturers on Rust, I think I’ll stick to using C and C++ for embedded development.

December 2, 2020 · 2 min

A pretty Chicago CTA Train Display

Months ago I came across this project: Traintrackr. It gives you a live view of where the trains are arriving in each station. I made one for Chicago. Tldr; I made a pretty thing that isn’t (really) IoT but involves trains and many LEDs. Chicago CTA line Mounted on acrylic backing Tracking methods Live To track the trains live, you would need access to CTA’s API, which only requires you to sign up. ...

November 27, 2020 · 9 min