Hardware Information - spattinson/Meshtastic-esp32 GitHub Wiki
Supported Hardware
To use Meshtastic you will need two or more ESP32 development boards equipped with LoRa radio. LoRa uses licence free radio spectrum. To run the accompanying Android app you need an Android phone or tablet that supports Bluetooth Low Energy (BLE). An IOS version of the app is planned to be released too.
LoRa frequency Bands
There are several LoRa radio frequency bands supported and these vary by region, you will need to check your local country's laws to see what is legal and recommended in your country. Some countries have more than one frequency band available for use.
The countries in the table below are what is applicable to those regions, if you live in a region not listed check TTN Frequency Plans by Country. You will need to buy hardware that supports your band, boards are sold with different radios to support the different bands, though there is some overlap, Check Semtech sx127x datasheet.
Meshtastic configuration options name the bands as follows:
| Centre Channel Frequency | Meshtastic Config Name | Country |
|---|---|---|
| 903.08Mhz | US | USA |
| 433.175Mhz | EU433 | Europe |
| 865.2Mhz | EU865 | Europe |
| 920Mhz | JP | Japan |
| 470Mhz | CN | China |
If your country has more than one band available for use you may wish to check which band to choose. Factors are:
- Max transmit power allowed in each band? If one band allows higher transmit power you can achieve longer range.
- Transmit duty cycle limits? Some regions have tight limits on what percentage of time you can transmit.
- What other devices may be using the bands? There could be more interference/congestion.
- If you would like to participate in other public projects like TTN (The Things Network) which band is popular for that in your region? You can use your device for other projects by reflashing it.
GPS
A GPS is recommended. If your module does not have a GPS module location information can be obtained from mobile device via Bluetooth from the App. Additionally correct time of day is needed, that is provided by GPS module normally, but if your board does not have a GPS it can obtain the time from other nodes in the mesh that do have a GPS.
Supported Boards
| Name | TTGO Lora32 V1.0 | TTGO Lora32 V2.0 | TTGO Lora32 V2.1 | TTGO T-BEAM V0.7 | TTGO T-BEAM V1.0 | Heltec Lora32 |
|---|---|---|---|---|---|---|
| "platformio ""environment name"" for Meshtastic builds" | ttgo-lora32-v1 | ttgo-lora32-v1 | ttgo-lora32-v2 | tbeam0.7 | tbeam | heltec |
| Lora radio control signals | ||||||
| SCK | 5 | 5 | 5 | 5 | 5 | 5 |
| MISO | 19 | 19 | 19 | 19 | 19 | 19 |
| MOSI | 27 | 27 | 27 | 27 | 27 | 27 |
| SS | 18 | 18 | 18 | 18 | 18 | 18 |
| RST | 14 | 14 | 14 | 23 | 14 | 14 |
| DI0 | 26 | 26 | 26 | 26 | 26 | 26 |
| I2C Address | 0x3c | 0x3c | 0x3c | 0x3c | 0x3c | 0x3c |
| SDA | 21 | 21 | 4 | 21 | 21 | 4 |
| SCL | 22 | 22 | 15 | 22 | 22 | 15 |
| oled reset | 16 | |||||
| "vext_enable (enables power to display and LORA chip active low)" | 21 | |||||
| Battery voltage | 35 | |||||
| LED | 25 | 14 | 25 | |||
| Button | 39 | 38 | 0 | |||
| GPS TX | 15 | 12 | ||||
| GPS RX | 12 | 34 | ||||
| M104 S220AXP192 power management chip address | 0x34 |
TT-GO T-Beam
images/ttgo-tbeam1.0front.png images/ttgo-tbeam1.0back.png
**TT-GO T-Beam V1.0 & v0.7 (T22) ** This board is recommended since it has Ublox Neo 6M or M8 GPS, HopeRF Lora module, an AXP192 power management module, and a battery holder on the rear for an 18650 lithium battery. They are available with and without screens, eg Aliexpress T-Beam with screen or Aliexpress T-Beam without screen There are two main versions of this board 0.7 and 1.0 (newer), the pins are slightly different for 0.7, the older ones don't seem to be sold any more.
A screen is recommended for Bluetooth pairing, status/debug messages, direction finding etc. An OLED I2C SSD1306 0.96" 128x64px is supported. Without a screen you will need to connect your board to a USB port on your computer and use a serial terminal emulator set to 115200 bps to obtain the pairing code.
If you buy a board without a screen you can buy a screen quite inexpensively and add it yourself. OLED Screens are available in blue, white and dual blue/yellow, or blue/red the dual color have have a few rows of pixels at one edge, which are yellow or red and the rest of the screen is blue. If you buy a screen to add later pay attention to the pin layout and make sure you buy an I2C screen not an SPI one. On TT-GO T-Beam the I2C pins are by default SCL (SCK) is pin 22 and SDA is pin 21, 3.3V and GND pins are nearby so with a bit of realigning the pins the screen can fit directly in the pin headers on the TT-GO T-Beam, see pics below: images/ScreenOrientation.png
Bend pins to align with holes
Pin numbering.
Soldering optional. You do not necessarily need to solder the pins if you are not confident with a soldering iron, just bend the pins further slightly after fitment so the screen cannot fall off. It is easier to get the screen close to the board and the pins bent sufficiently if you remove the plastic spacer that is mounted on the pins in the screen.
Heltec LoRa32
images/HeltecLora32Front.jpg images/HeltecLora32back.jpg
Heltec WiFi LoRa32 This board has a screen but no GPS, location info can be provided by the App instead, or you could get a Ublox GPS and attach it yourself. There is a socket/plug for an external battery. There are three variants of this board and clones. Aliexpress Heltec LoRa 32 Heltec also make a range of LoRa products called CubeCell These are not supported, they do not contain an ESP32
TT-Go LoRa32
images/ttgo-lora32-v2.1front.png images/ttgo-lora32-v2.1back.png
TT-GO LoRa32 with screen, a socket for a battery but without GPS, has similar functionality to Heltec board. IMPORTANT Some of these boards were supplied with a fuse instead of a diode between USB Vbus and the battery positive. This results in the battery being over changed and Catching Fire if left charging on USB
3d Printed Case
There are some STL files available for 3d printed cases if you have access to a 3d printer:
- TTGO T-Beam V0 & V1 design by bsiege. It has a GPS antenna holder to keep it away from the board which may help reception, the lid needs screws.
- TTGO T_Beam V1 see this design by rwanrooy or this remix by 8ung. These have screwless snap fit lids. Take care sliding your T-Beam into the case the WiFi antenna can get caught quite easily and get damaged.
- Heltec Lora32 see this design by ornotermes.