This project uses the TI MSP430 Launchpad MSP-EXP430G2 and the included MSP430G2553 controller.
The purpose of the project is to periodically read out a GPS sensor and store positions in the controller Flash memory. Upon a signal the controller sends the stored positions via SW UART to a host computer. See functional details below.
Development platform is the Code Composer Studio.
The project shall be done as C source code. The source code needs to be commented sufficiently.
If libraries/include files are used, source code needs to be provided
Functional details/pseudo code:
* Enter sleep mode (power save)
* wake up approximately every 8 to 16s (choose what fits best for your timer structure) to blink with led for about [url removed, login to view]
* wake up every 3 minutes to do the following:
- enable output (GPS power on) which turns ON GPS receiver
- Parse data strings coming from GPS receiver (serial interface, 9600baud, 8n1)
- If position is valid, store date, time, longitude , latitude in Flash memory, blink with LED 2 times [url removed, login to view] each, [url removed, login to view] pause
- When 20 positions are stored, start overwriting 1st stored position
- If valid position was received, turn off output (GPS power on) and go back in sleep mode
- If no valid position is present after 2 minutes turn off output (GPS power on) and go back in sleep mode
* Wake up if an input (transmit enable) is pulled high:
- start SW UART
- repetitively send out a 4 character string (every 0.5 second), turn on LED in each [url removed, login to view] pause, off during transmission
- once an acknowledge string is received, turn LED on continuously and transmit the stored 20 positions (19200baud, 8n1)
- stay in the loop of waiting for ACK string to send put positions again, exit if input is not high any more, then turn off LED and go back to sleep mode main loop.
Serial interface to GPS: P1.1, P1.2
Software UART to host computer: tbd
transmit enabled (input, active high): P2.5
GPS power on (output, active high): P2.4
LED (output, active high): P1.0
Avoid using SPI/I2C resources due to future enhancements
External oscillator can be used if required for SW UART timing
Note: the MSP430 Launchpad is available from several distributor for 10-20 USD. It includes also the controller that is required for this project. The Code Composer Studio is available for free from Texas Instruments. During installation you can choose a free license that limits the code size to 16k. However I would rather like to work with someone who is familiar with the MSP430 controller family.
The type if GPS sensor is not relevant for the development task. You will receive sample strings from the sensor under different operation conditions. You can use a serial interface/USB-to-serial cable and a terminal program to simulate the GPS sensor if required.
23 freelancers are bidding on average $684 for this job
I can do this project and terminal software for PC with database. For example with MySQL. Information can be stored on database and you can access it from localhost or outside.
I work exclusively with MSP430 (my day job). I already have multiple launchpad boards (MSP-EXP430G2 and MSP430F5529). I develop using CCS v5. I have considerable experience with low power systems.