All Projects → meshtastic → Meshtastic Device

meshtastic / Meshtastic Device

Licence: gpl-3.0
Device code for the Meshtastic ski/hike/fly/customizable open GPS radio

Labels

Projects that are alternatives of or similar to Meshtastic Device

Ttgo T Beam Car Tracker
TTGO-T-Beam Arduino Car Tracker - ESP32 + LoRa + GPS + GSM (optional)
Stars: ✭ 106 (-92.04%)
Mutual labels:  gps, lora
HPR-Rocket-Flight-Computer
A flight computer for high-powered rockets based on the Teensy platform. 4 programmable pyro outputs, Mach immune flight events, air-start & two-stage capable w/ tilt-sensing safety features, GPS & live telemetry. High-rate data logging at 1000 samples per second. 4.0in x 1.25in x 0.5in fits in a 38mm tube coupler.
Stars: ✭ 33 (-97.52%)
Mutual labels:  gps, lora
Lora Serialization
LoraWAN serialization/deserialization library for The Things Network
Stars: ✭ 120 (-90.98%)
Mutual labels:  gps, lora
Low power TTGO T-beam
Low power consumption for TTGO t-beam
Stars: ✭ 45 (-96.62%)
Mutual labels:  gps, lora
Meshtastic Android
Android companion application for the Meshtastic ski/hike/fly/Signal-chat GPS radio
Stars: ✭ 179 (-86.55%)
Mutual labels:  gps, lora
Esp32 Paxcounter
Wifi & BLE driven passenger flow metering with cheap ESP32 boards
Stars: ✭ 844 (-36.59%)
Mutual labels:  gps, lora
Find Maraudersmap
Internal positioning for everyone, in the style of Harry Potter
Stars: ✭ 62 (-95.34%)
Mutual labels:  gps
P5.geolocation
a geolocation and geofencing library for p5.js
Stars: ✭ 75 (-94.37%)
Mutual labels:  gps
Libgps
UART NMEA GPS library for Raspberry Pi
Stars: ✭ 60 (-95.49%)
Mutual labels:  gps
Awesome Gnss
Community list of open-source GNSS software and resources 📡
Stars: ✭ 56 (-95.79%)
Mutual labels:  gps
Phpgpx
Simple library for reading and creating GPX files written in PHP.
Stars: ✭ 92 (-93.09%)
Mutual labels:  gps
Location
Smartphone navigation positionning, fusion GPS and IMU sensors.
Stars: ✭ 87 (-93.46%)
Mutual labels:  gps
Trackbook
Trackbook - Movement Recorder for Android
Stars: ✭ 73 (-94.52%)
Mutual labels:  gps
Eskf
ROS Error-State Kalman Filter based on PX4/ecl. Performs GPS/Magnetometer/Vision Pose/Optical Flow/RangeFinder fusion with IMU
Stars: ✭ 63 (-95.27%)
Mutual labels:  gps
Php Fit File Analysis
A PHP class for analysing FIT files created by Garmin GPS devices
Stars: ✭ 76 (-94.29%)
Mutual labels:  gps
Gpx Simplify Optimizer
Free Tracks Optimizer Online Service
Stars: ✭ 61 (-95.42%)
Mutual labels:  gps
Leaflet Gps
Simple leaflet control plugin for tracking gps position
Stars: ✭ 90 (-93.24%)
Mutual labels:  gps
Indoorgps
Position Calculating with Trilateration via Bluetooth Beacons(Estimote)
Stars: ✭ 59 (-95.57%)
Mutual labels:  gps
Tle.js
Satellite TLE tools in JavaScript: get lat/lon of satellites, get look angles, plot orbit lines, extract individual TLE elements
Stars: ✭ 71 (-94.67%)
Mutual labels:  gps
Beelan Lorawan
A LoRaWAN library for compatible arduino board
Stars: ✭ 87 (-93.46%)
Mutual labels:  lora

Meshtastic-device

This is the device side code for the meshtastic.org project.

Continuous Integration

Meshtastic® is a project that lets you use inexpensive GPS mesh radios as an extensible, super long battery life mesh GPS communicator. These radios are great for hiking, skiing, paragliding - essentially any hobby where you don't have reliable internet access. Each member of your private mesh can always see the location and distance of all other members and any text messages sent to your group chat.

The radios automatically create a mesh to forward packets as needed, so everyone in the group can receive messages from even the furthest member. The radios will optionally work with your phone, but no phone is required.

Typical time between recharging the radios should be about eight days.

This project is is currently in beta-testing - if you have questions please join our discussion forum.

This software is 100% open source and developed by a group of hobbyist experimenters. No warranty is provided, if you'd like to improve it - we'd love your help. Please post in the chat.

Supported hardware

We currently support three models of radios.

Note: The GPS and LoRa stock antennas should be placed in a way, that the GPS antenna faces the sky and the LoRa antenna radiates 360 degrees horizontally. For better GPS reception you might want to upgrade the GPS antenna and to properly align the antennas you might want to upgrade to a LoRa antenna that can be adjusted to radiate into the right directions.

Make sure to get the frequency for your country

  • US/JP/AU/NZ/CA - 915MHz
  • CN - 470MHz
  • EU - 868MHz, 433MHz
  • full list of LoRa frequencies per region is available here

Getting a version that includes a screen is optional, but highly recommended.

Firmware Installation

Prebuilt binaries for the supported radios are available in our releases. Your initial installation has to happen over USB from your Mac, Windows or Linux PC. Once our software is installed, all future software updates happen over bluetooth from your phone.

Be very careful to install the correct load for your board. In particular the popular 'T-BEAM' radio from TTGO is not called 'TTGO-Lora' (that is a different board). So don't install the 'TTGO-Lora' build on a TBEAM, it won't work correctly.

Please post comments on our group chat if you have problems or successes.

Installing from a GUI - Windows and Mac

  1. Download and unzip the latest Meshtastic firmware release.
  2. Download ESPHome Flasher (either x86-32bit Windows or x64-64 bit Windows).
  3. Connect your radio to your USB port and open ESPHome Flasher.
  4. If your board is not showing under Serial Port then you likely need to install the drivers for the CP210X serial chip. In Windows you can check by searching “Device Manager” and ensuring the device is shown under “Ports”.
  5. If there is an error, download the drivers here, then unzip and run the Installer application.
  6. In ESPHome Flasher, refresh the serial ports and select your board.
  7. Browse to the previously downloaded firmware and select the correct firmware based on the board type, country and frequency.
  8. Select Flash ESP.
  9. Once complete, “Done! Flashing is complete!” will be shown.
  10. Debug messages sent from the Meshtastic device can be viewed with a terminal program such as PuTTY (Windows only). Within PuTTY, click “Serial”, enter the “Serial line” com port (can be found at step 4), enter “Speed” as 921600, then click “Open”.

Installing from a commandline

These instructions currently require a few commmand lines, but it should be pretty straightforward.

  1. Install "pip". Pip is the python package manager we use to get the esptool installer app. Instructions here. If you are using OS-X, see these special instructions.
  2. Run "pip install --upgrade esptool" to get esptool installed on your machine.
  3. Connect your radio to your USB port.
  4. Confirm that your device is talking to your PC by running "esptool.py chip_id". The Heltec build also works on the TTGO LORA32 radio. You should see something like:
mydir$ esptool.py chip_id
esptool.py v2.6
Found 2 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 24:6f:28:b5:36:71
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: 24:6f:28:b5:36:71
Hard resetting via RTS pin...
  1. cd into the directory where the release zip file was expanded.
  2. Install the correct firmware for your board with device-install.sh -f firmware-_board_-_country_.bin.
    • Example: ./device-install.sh -f firmware-HELTEC-US-0.0.3.bin.
  3. To update run device-update.sh -f firmware-_board_-_country_.bin
    • Example: ./device-update.sh -f firmware-HELTEC-US-0.0.3.bin.

Note: If you have previously installed meshtastic, you don't need to run this full script instead just run esptool.py --baud 921600 write_flash 0x10000 firmware-_board_-_country_-_version_.bin. This will be faster, also all of your current preferences will be preserved.

You should see something like this:

[email protected]:~/development/meshtastic/meshtastic-esp32/release/latest$ ./device-install.sh firmware-TBEAM-US-0.1.8.bin
Trying to flash firmware-TBEAM-US-0.1.8.bin, but first erasing and writing system information
esptool.py v2.6
Found 2 serial ports
Serial port /dev/ttyUSB0
Connecting........____
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 24:6f:28:b2:01:6c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Erasing flash (this may take a while)...
Chip erase completed successfully in 6.1s
Hard resetting via RTS pin...
esptool.py v2.6
Found 2 serial ports
Serial port /dev/ttyUSB0
Connecting.......
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 24:6f:28:b2:01:6c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 61440 bytes to 11950...
Wrote 61440 bytes (11950 compressed) at 0x00001000 in 0.2 seconds (effective 3092.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
esptool.py v2.6
Found 2 serial ports
Serial port /dev/ttyUSB0
Connecting.....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 24:6f:28:b2:01:6c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 1223568 bytes to 678412...
Wrote 1223568 bytes (678412 compressed) at 0x00010000 in 10.7 seconds (effective 912.0 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
  1. The board will boot and show the Meshtastic logo.
  2. Please post a comment on our chat so we know if these instructions worked for you ;-). If you find bugs/have-questions post there also - we will be rapidly iterating over the next few weeks.

Meshtastic Android app

The companion (optional) Meshtastic Android app is here. You can also download it on Google Play.

Python API

We offer a python API that makes it easy to use these devices to provide mesh networking for your custom projects.

Development

We'd love to have you join us on this merry little project. Please see our development documents and join us in our discussion forum.

Credits

This project is run by volunteers. Past contributors include:

  • @astro-arphid: Added support for 433MHz radios in europe.
  • @claesg: Various documentation fixes and 3D print enclosures
  • @girtsf: Lots of improvements
  • @spattinson: Fixed interrupt handling for the AXP192 part

IMPORTANT DISCLAIMERS AND FAQ

For a listing of currently missing features and a FAQ click here.

Copyright 2019 Geeksville Industries, LLC. GPL V3 Licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].