Showing posts from March, 2018

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…