Firmware Ahoy!

A project log for Marauder's Map

A real life player tracking system, that will give users access to a map of everyone else in the area.

John BoydJohn Boyd 03/25/2014 at 04:320 Comments

We now have a first draft for firmware for all three devices!

After spending about a week playing around with the EZ430-RF2500, we finally have something to show for it! We have three build configurations in Code Composer Studio each with a first draft firmware for all three devices using TI's SimpliciTI protocol stack. The Player Tag is broadcasting its basic info (Tag ID number, broadcast strength and packet number). The receiver nodes are receiving these packets, measuring RSSI and forwarding that to the base station. The base station is capturing this data and immediately streaming it to the computer via USB serial interface provided by the EZ430. The code can be found here.


I spent several hours debugging packet collision issues. At first I did not know why none of our packets were being received, but after a bit of thought we realized that all of our packets were transmitting at the same time and interfering with each other. To fix this I gave each device a specific time to transmit based on its device ID, ensuring that no two devices tried to transmit at the same time. While this is working, it is not very efficient and slows the total packet rate the network can handle.

What next?

Now that we have a basic implementation of the system on the EZ430 development boards, it is time to start designing some PCBs. Dont get me wrong, I still have tons of work to do on the firmware (specifically improving the communication strategy), but it is a great start! Now that I have data flowing to the computer, Clayton (wahwahweewah) has some real data he can work with as he develops the software.