Baremetal Drivers: RFM69HCW and FRDM-K22F

Writing register level code is something I have always viewed as both a blessing and a curse. The blessing is absolute control over almost every aspect of the system while the curse is trying to understand all of the system requirements at the lowest level.

As I have previously mentioned I am working on a micro-satellite prototype for my senior electrical engineering design project. My role in the project is the communication system. I was required to select and setup the hardware and software to be able to transmit data from the satellite to the ground station with handshaking and error correction. 
This is the transceiver chip that we decided to use. It is surprisingly inexpensive considering the features it includes. The version we are using is the 915 MHz model (ITU ISM band in the Americas) to avoid having our own spectrum license or to have to request usage of an amateur radio band. 
One of the instructors in the course is refusing to let groups use any tools that makes the soft…

Hold My Beer: An Engineering Story

Canada is a wonderful place to live. Hot summers, beautiful trees in the fall, and snowy winters. As December raced away, Mother Nature decided to turn the thermostat down to -15°C. The ground was covered in a blanket of snow and going more than a few days without snow was rather shocking.

Several of my siblings live on the other side of Canada. My parents were gone to visit for the holidays. As the only child still in town, house sitting naturally was my duty. This job does come with its own perks. Instead of living in my relatively small apartment I have access to a large house and two cars. The only downside of the house is that it is across the river on the other side of town.

So the day my parents were leaving they planned to drop their SUV at my apartment building and then take a cab to the airport. I had an exam that morning and driving my parents to the airport at 3 AM was definitely out of the question.

I get up in the morning and get ready to go write my exam. On my way thro…

Color Vision and Computers

Humans have an enormous variety of ways to interact with the world around them. Touch, smell, taste, hearing, but most important (in my mind) is vision. Computers are presently limited in their interactions with the world. They are allowed to crunch numbers, post a Facebook status that none of your friends want to read but ultimately don't get to touch, taste, smell, or see the world around them.

One thing that I find fascinating is object recognition using neural networks. I am currently taking a class with a focus on pattern recognition and machine learning where we have to do a project of our choosing. My classmate and I are comparing performance of traditional classification and deep learning for object detection (in our case an orange hockey ball). I was extremely happy when our prof approved the usage of deep learning despite the focus of the course being more on traditional classifying techniques. The project work division is that my classmate is developing the traditional …

Artful Aardvark: Ubuntu 17.10 Tips and Tricks

Every 6 months I get excited. REALLY excited. My friends and wife may roll their eyes as I approach fan girl screaming over the latest Ubuntu release. I have been using Ubuntu as my main OS since Ubuntu 8.04 (Hardy Heron). They may no longer play their beautiful login sound (listen here) but all around have dramatically improved.

17.10 is a big release. It is one of the first major change to the operating system since Canonical changed from Gnome 2 to Unity. This release has Canonical swapping Unity for Gnome 3 and I am not quite sure how I feel about it so far. I realise there will always be the "it is new just give it a try" but the new GUI just feels a lot more clunky to me so far. Out of the box I find 17.10 to be much clunkier than any recent release. At least there are some ways to improve.
1. Install Updates!
I used to get annoyed when every list ever said to update. For a young release this is really important. Normally Canonical releases really well made OSs but I …

Leaf Me Alone: Pattern Recognition and Machine Learning

UBUNTU 17.10 IS COMING OUT SO SOON! Short post today but I will do a longer post next week focusing on the beautiful new operating system that is getting released.

I am really sorry about the posting dry-spell of late. I have been immensely busy with school work and training. You could go so far as to describe my life with the following pseudocode:

> location = &Alex;
> self_approval = 0;
> if (location == school) || (location == judo);
>     self_approval = 1; // hooray!
> else
>     self_approval = 0; // GET BACK TO WORK

I finally have a course at school where I get to formally learn about Artificial Intelligence. My university has graduate level courses that are about AI for electrical engineers but until this year had no undergraduate courses for ECE students. The course is looking at pattern recognition and data processing and so far it has been fantastic.

AI has been an interest of mine for a while but I always have found it hard to get into. No …

CubeSat: Micro Satellites and Studies

The arrival of fourth year for many engineering students at my university is either loved or loathed. Senior design is a large project that all engineering students must complete to graduate. The scale of the project is one that will be larger than any previously done for academic purposes. My group and I have a rather lofty project idea. We are going to design and hopefully build a CubeSat.

What is a CubeSat? A CubeSat is like almost any other satellite simply much smaller. The size of typical satellites can be anywhere from a dog all the way up to a car or bigger. CubeSat sizes go the opposite direction. The sizes of CubeSat are referred to as 'U'. 1U is a 10x10x10 cm size satellite while a 2U would be simply two 1U stacked making 20x10x10 cm. Our target as of right now is to design a 2U CubeSat.

The potential scope of the project is enormous and since time is limited we may not be able to complete and entire CubeSat. This being said, we are going to try our best! It would …

Slashdot: News For Nerds, Stuff That Matters

Several weeks ago, the professor who is supervising me for the summer and I were talking about technology. This is to be expected since he is an ECE professor and I am an ECE student. It started as a run of the mill conversation until we somehow managed to get on the topic of why my supervisor always needed to have an RSS feed on his mobile devices. He insisted on the RSS feed to have easy access to Slashdot.

When my supervisor first mentioned Slashdot I wondered what it was. A quick google search and some reading showed that it is the eloquent sibling of Reddit. Not to bash Reddit too hard but it can sometimes be hard to wade through the heaping pile of garbage that can be collect in a Reddit thread.

There isn't an up/down-voting system but the content is definitely of a higher quality than Reddit. You can usually tell a post is of a higher quality by the number of comments. The comment counter takes the visual place of the up-vote counter on Reddit.

Slashdot may have a gaudy g…