Each year in February, 2700 French students drive old Renault 4L between Bordeaux and the Moroccan part of Sahara to bring school supplies to remote villages. The rally includes stages in the desert where the 30 years old cars are face severe conditions.
Every participant experiences one or two breakdowns. This can be a flat tire or a blown head gasket. In that case you may be forced wait few hours before the mechanical team come to help you (not for free).
Our idea was to use the most powerful XBees to communicate between the 4 cars of our school. These have an advertised range of 25 miles that would be perfect for our project. Since there's no electronics at all in our cars, the system will also recharge our phones and monitor some engines temperatures.
The Main Module
The best place to install our system is the ashtray. It has enough room for our hardware and is removable. Once cleaned it's a nice box for our project.
We also designed a tactile keyboard and an external magnetic box for the XBee. These modules should be connected to the main module. We wanted a very standardized, cheap and reliable way to connect the modules. We used USB cables, but the actual protocol is USART. The GND VCC pinout is the same on USB and USART so that if a actual USB device is connected on our system it doesn't fry.
Of the four USB ports on the front two are for recharging smartphones and two are for the XBee and the keyboard.
The user interface is composed of a clickable wheel and two push buttons. The messages are composed on a separate keyboard.
There are two PCB's for this module: a power PCB that converts the 12V to 5V for the system, and a main board that is connected to the screen and the STM32 Discovery board.
For our project we wanted a small and resistant keyboard. Off the shelf solutions were expensive and hard to find. We decided to build our own with a capacitive tactile surface.
The keyboard features a back-light and is connected via an USB plug. The actual communication is USART.
The keyboard was supposed to be made in laser-cut acrylic. However, at the very last moment the laser cutter broke down. We hand made everything in balsa wood and protected it with thermofilm. A PIC microcontroller is reads the values from the tactile surface and sends them via USART.
The external Module
To have a good range, the XBee module should be outside the car. The module must stick to the car without screws or glue, so we used magnets instead. To power and connect the XBee to our USB cable we designed a new board. During the project we had to debug a lot through the USB-USART converter.
For this project we designed a board that had both interfaces, could provide enough current to the XBee, and was cheaper than the commercial boards. The board has one mini-USB port for actual USB and one for USART.
The whole system wasn't ready for the rally, only the phone recharging and engine monitoring. These worked well during the trip and there was no breakdown due to heat or Sahara's red dust.
Once the communication part was complete, the system is able to detect when another user is within the range and 200 characters messages can be exchanged. All settings and messages are stored in the flash so they are still present after complete power off.
We tested the messaging in real field conditions, the system worked great and as planned , except for one thing. The range was really disappointing, it was no more than 1 or 2 miles.
Unfortunately, we weren't able to investigate this issue further. I suspect a noisy power supply or noisy environment (Paris suburbs aren't the best place for radio communication).