BUGGER Robot with RFL remoteI decided to update BUGGER status while we are switching gears between the projects and I have a few spare minutes to write this up.
The BUGGER finally got it's long promised nRF24L01 transceiver. Now we can control BUGGER with RFL robot remote. It's definitely fun watching this tiny four-wheeler buggering through cluttered table environment while you doing your best not to run it off the table. We also lowered the camera to reduce platform profile so it could squeeze into even tighter places for undercover missions.

On software side, we forgone using Arduino IDE to write code and used AVR Studio with AVRLib instead. The reason for this is that we found a nice nRF24L01 library that works well with Procyon AVRLib. And benefits of saving time on software development process under current circumstances tipped the scales towards non-arduino software. Great thanks to Stefan Engelke and Procyon guys for creating and maintaining great software libraries.

A few words on nRF24L01 handling logic . The code monitors for logic change on PD2 pin. Once PD2 goes low, interrupt handler routine kicks in and sets global dataReceived flag signaling that we received data on nRF24L01 module. The routine also clears nRF data_received status register. During main program loop execution, the code checks if dataReceived flag was set and if it was it will go over SPI to retrieve the data from the transciever module. Now there might be a better way of doing the same thing but it currently works for the BUGGER so we will stick to it for now. The main advantage of this approach is that we don't need to pool nRF24L01 module for data every time we start a new loop, we will only initiate SPI transfer once we were notified by the transceiver about the 'incoming'. This approach should save us a few processing cycles so we could use them for some greater good. :-)

Read More