So after many weeks of ordering and testing components, I have almost finished selecting the major components I will be using (at least for my first version). Here I will layout some of the comparisons of components that has led me to the selections in the hope that it might help others deciding between components for their project and provide the thought process behind my choices.
MCU
I have chosen to use the Atmel SAM D21 as the microcontroller as it is a low power chip that will provide enough processing power for this project. I have worked with this chip before so the development will be easier than moving to another manufacturer.
GPS
Global Top PA6C | uBlox NEO M8M | SkyTraq S1216F8-GL | Antenova M10478-A1 | ||
Chipset | MTK MT3339 | UBX-M8030 | SkyTraq Venus 8 | SiRFstarIV | |
Current | Acquisition Tracking | 25mA 20mA | 24.5mA 23.5mA | 45mA 40mA | 47mA 31mA |
Interface | UART | UART, I2C, SPI | UART, I2C | UART, I2C, SPI | |
Input Voltages | 3.0V to 4.3V Ripple <50mVpp | 1.65 to 3.6V | 3.0V to 3.6V | 1.8V | |
Acquisition Time | Cold: 35sec Warm: 33sec Hot: 1sec | Cold: 27sec Warm: 4sec | Cold: 29sec Warm: 3.5sec Hot: 1sec | Cold: 35sec Warm: 35sec | |
Signal Sensitivity | -165dBm | -164dB | -165dBm | -147dB | |
Position Accuracy | 3.0m | 2.5m | 2.5m | 2.5m | |
Update rate | Up to 10 Hz | Up to 10Hz | Up to 20Hz | 1Hz | |
Additional Features | Includes antenna | Concurrent GLONASS and GPS | Concurrent GLONASS and GPS | ||
Cost | $16 | $59 | $16.20 | $22 |
I have selected the Global Top PA6C due to it's low cost, low current draw, and ease of implementation.
Communications Chipset
NXP KW40Z | TI CC2650 | TI CC1310 | X-Bee Pro 900HP | RFM95W | |
Protocols | BLE ZigBee Thread | BLE ZigBee 802.15.4 | 802.15.4 | ZigBee | LoRa GFSK |
Frequency | 2.4GHz | 2.4GHz | 900MHz | 900MHz | 900MHz |
Throughput | 250kbps | 250Kbps | 50Kbps | 200Kbps | 10Kbps |
Typical Receiver Sensitivity | BLE: -91 dBm (802.15.4): -102 dBm | BLE: -97 dBm (802.15.4): -100 dBm | -124dBm | -100dBm | -148dBm |
Core | ARM Cortex M0+ | ARM Cortex M3 | ARM Cortex M3 | - | - |
Memory | 160 KB Flash 20 KB SRAM | 128 KB Flash 28 KB SRAM | 128KB Flash 28KB SRAM | - | - |
Power Consumption | RX: 6.5 mA TX: 8.4 mA | RX: 5.9 mA TX@0dBm: 6.1 mA TX@5dBm: 9.1 mA | RX: 5.5mA TX@10dBm: 12.9mA | RX: 80mA TX: 210mA | RX: 10.4 mA TX: |
Range | 100m | 100m | Several km | 6.5km | 8 km |
Cost | $5.65 | $11.40 | $11.40 | $60 | $12 |
For the communications chipset I am currently using a LoRa module, as I tried getting communications working with the TI CC2650 with the plan to move to the pin compatible CC1310 however I had a lot of difficulty getting them to work. So for my time constrained development I am using the HopeRF RFM95W as it has simple to use drivers available, is cheap and provides good range. I will definitely be looking into the CC1310 once the Launchpad development kit is released for it.
IMU
Invensense MPU9250 | Bosch BMX055 | STM LSM9DS0 | ||
Features | Accel/Gyro/Mag | Accel/Gyro/Mag | Accel/Gyro/Mag | |
Input Voltage | 2.4 – 3.6V | 2.4 – 3.6V | 2.4 – 3.6V | |
Current | Accel | 450uA 4kHz (8.4uA 1Hz) | 120uA | 350uA (A+M) 50Hz |
Gyro | 3.2mA 1kHz | 5mA | 6.1mA | |
Mag | 280uA 8Hz | 170uA 10Hz | 350uA (A+M) 6.25Hz | |
Communications Protocol | I2C/SPI | I2C/SPI | I2C/SPI | |
Additional Components | 3 | 2 | 4 | |
Cost | $4.20 | $9.25 | $9.50 |
I need an 9DOF IMU for determining the rate of movement, compass heading and possibly dead reckoning. I have chosen the MPU9250 as it is a commonly used device, is available quite cheaply and has fairly comparable current draws to the others I looked at.
Amplifier
Linear - PAM8407 | TI - TPA2008D2 | Maxim - MAX98303 | Linear – PAM8403 | |
Class | Class D | Class D | Class D | Class D |
Input Voltage | 2.5 – 6.0V | 4.5 – 5.5V | 2.6 – 5.5V | 2.5 – 6.0V |
Quiescent Current | 8mA | 7mA | 2mA | 8mA |
Output Power | 2 x 3W (4Ohm, 5V) | 2 x 2.5W (4Ohm, 5V) | 2 x 3.1W (4Ohm, | 2 x 3W (4Ohm, 5V) |
Efficiency | 83% (4Ohm) | 80% (4Ohm) | 87% (4Ohm) | 83% (4Ohm) |
Features | Up/Down Volume inputs | Analog volume input | Analog gain input | Mute input |
Package | 16-SOIC | 24-HTSSOP | 16-WFBGA | 16-SOIC |
Cost | $1.10 | $5.70 | $0.90 | $0.20 |
Whilst the Maxim device looks the best out of these, the BGA package means I didn't choose it. With the cheap cost of the PAM8403 it is possible to add volume control a dual channel digital potentiometer that can be be controlled using your preferred method and end up costing about the same as the 8407. I chose the Maxim MAX5387MAUD+ which is controlled using I2C and costs a bit over a dollar.
Battery Charger
Microchip - MCP73871 | Linear - LT3652 | TI - bq24074 | |
Input voltages | 4.4 – 6V | 4.95 – 32V | 4.35 – 10.5V |
Charge current | 50mA – 1A | 2A | 1.5A |
Quiescent current | 180uA | 85uA | 50uA |
MPPT | Yes | No | |
Temperature Monitor | Yes | Yes | Yes |
External Components Required | 8 | 14 | 7 |
Cost | $2.30 | $9.30 | $3.00 |
Using the MCP73871 as it works well with a solar input despite not having true maximum power point tracking. It requires less external components to a chip that provides MPPT which helps keep the cost down further. It also performs load sharing between the solar input and battery storage.
3.3V LDO Regulator
Microchip - TC1262 | Microchip- MCP1700 | STM - LF33ABV | ||||
Max Input Operating Voltage | 6 | 6 | 16 | |||
Min Input Operating Voltage | 2.7 | 2.3 | - | |||
Max Current | 500mA | 250mA | 500mA | |||
Quiescent current | 80uA | 1.6uA | 500uA | |||
Dropout Voltage (Vin-Vout) With varying load current | 20 – 60mV 30 – 130mV 200 – 390mV 350 – 650mV | 100uA 100mA 300mA 500mA | 178 – 350mV | 250mA | 200 – 350mV 400 – 700mV | 200mA 500mA |
Cost | $1.06 | $0.48 | $1.26 |
Flash Memory
I have chosen to use a 2MB serial flash chip as storage for data logging purposes. The SPANSION S25FL116K has a very low standby current and is very cheap at only 65 cents. It is communicated with over SPI and is the same chip as used on my Rocket Scream Mini Ultra Pro development board.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.