I think that your lack of replies is a signal that this is a lot to unpack and explain to someone that would ask it.
Meaning... if you're asking it, then it's an indication that you're not familiar with things like acoustics, electronics, microcontrollers, radio transmission through water (it's not trivial). There is a universe of information in each one of those subjects and explaining that in a forum like this can be unrewarding to some. I don't want to discourage your curiosity because the world could use some more of it, especially around STEM. That's my reward in answering you, but I'm not offering a personal-level walkthrough of your projects. I have too many unfinished projects of my own
Your best bet is to try to find others that have done similar, or adjacent projects and watch them. I also suggest to break your project into smaller ideas, then get each piece working independently. Example: project 1: flash 2 LEDs at different rates with a microcontroller. project 2: output something on an OLED display.
For other information the AI tools like Grok, ChatGPT are good as long as you understand that they do hallucinate some answers, so beware of that. When you get into coding a microcontroller, get a Github account and you can use Github Co-Pilot to help you code.
Lastly, I plugged your request into Grok.com and its response is below. By the way, I'm familiar with LoRa, but have to imagine that its range underwater would be very very short. Water tends to absorb radio transmissions, especially those at higher frequencies, so that suggestion from Grok may be a bit of a hallucination:
Hello! That's a cool DIY project for scuba diving—sounds like a simple signaling system between buddies underwater, maybe for quick "OK" or "follow me" signals. I'll walk you through this step by step, assuming you're new to electronics (no prior knowledge needed). We'll keep it straightforward, using off-the-shelf parts you can get from places like Amazon, Adafruit, or AliExpress for under $50-100 total. The big challenge is that regular radio signals (RF, like WiFi or Bluetooth) get absorbed by water super fast, so they barely work even a few inches deep. Instead, for 1 meter range, we'll use either low-power RF modules that can punch through short distances or sound waves (ultrasonics/acoustics), which travel great in water.
I'll recommend **Option 1: Simple RF with LoRa modules** first—it's easier for beginners since it's like building a basic remote control. If that doesn't appeal, **Option 2: Acoustic sound-based** is more reliable in murky water but a bit more fiddly. Both are one-way (press button on transmitter, LED lights on receiver), and the display on the transmitter just shows which button you pressed (e.g., "Button 1 Sent"). If you need two-way feedback (transmitter knowing the LED lit up), we can tweak it later.
### Quick Setup Overview
- **Transmitter (with buttons & display)**: Worn by one diver. Buttons send signals; small screen confirms the press.
- **Receiver (with LEDs)**: Worn by the other diver. Lights up the right LED when it gets the signal.
- **Power**: Use small rechargeable batteries (like LiPo 3.7V) in waterproof cases. Everything goes in plastic enclosures sealed with silicone or O-rings.
- **Testing**: Build and test in a bathtub or pool first—don't dive until it's watertight!
- **Tools you'll need**: Soldering iron (or breadboard for prototyping), multimeter (cheap $10 one), wire strippers. No fancy oscilloscope required.
### Option 1: RF with LoRa (Easiest for Short Range, ~1-2m in Water)
LoRa is a low-power radio tech that works okay underwater for very short hops (up to 1.5-2m at 433MHz frequency) because it uses spread-spectrum signals that cut through water better than Bluetooth. It's like a garage door opener but tiny.
#### Parts List (~$40 total):
| Part | What it is | Where to get | Cost |
|------|------------|--------------|------|
| 2x Arduino Nano (tiny brain for logic) | Controls buttons, sends/receives signals | Amazon/Adafruit | $5 each |
| 2x LoRa SX1278 modules (433MHz) | The "radio" for sending signals underwater | AliExpress/Adafruit | $10 each |
| 16x2 LCD display (I2C version) | Shows "Button 1 Sent" on transmitter | Amazon | $5 |
| 2x Push buttons | Your two signal buttons | Amazon | $2 |
| 2x LEDs (red/green) + 2x 220Ω resistors | Lights up on receiver | Amazon | $2 |
| Jumper wires, breadboard, battery holder | For connections | Amazon | $5 |
| 2x Small plastic waterproof boxes (IP67) | Enclosures for diver | Amazon | $10 |
#### Step-by-Step Build
1. **Wire the Transmitter**:
- Connect Arduino Nano to LCD: Use pins A4 (SDA) and A5 (SCL) for I2C—super simple, just 4 wires.
- Buttons: Wire one leg of each button to Arduino pins 2 & 3, other leg to ground. Add a 10kΩ pull-up resistor if needed (tutorials show how).
- LoRa module: Connect to Arduino pins 10 (NSS), 11 (MOSI), 12 (MISO), 13 (SCK), and 3 (DIO0). Power with 3.3V.
- Sketch (code): Download Arduino IDE (free software). Use this simple code—copy-paste and upload via USB:
```
#include <SPI.h>
#include <LoRa.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD address
void setup() {
Serial.begin(9600);
lcd.init(); lcd.backlight();
if (!LoRa.begin(433E6)) { Serial.println("LoRa failed!"); while(1); }
pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); // Buttons
}
void loop() {
if (digitalRead(2) == LOW) { // Button 1 pressed
LoRa.beginPacket(); LoRa.print("1"); LoRa.endPacket();
lcd.clear(); lcd.print("Button 1 Sent"); delay(1000);
}
if (digitalRead(3) == LOW) { // Button 2
LoRa.beginPacket(); LoRa.print("2"); LoRa.endPacket();
lcd.clear(); lcd.print("Button 2 Sent"); delay(1000);
}
delay(100);
}
```
(Install LoRa and LiquidCrystal_I2C libraries in Arduino IDE via Tools > Manage Libraries.)
2. **Wire the Receiver**:
- LoRa module same as above.
- LEDs: Pin 4 to LED1 + resistor to ground; Pin 5 to LED2 + resistor to ground.
- Sketch:
```
#include <SPI.h>
#include <LoRa.h>
void setup() {
Serial.begin(9600);
if (!LoRa.begin(433E6)) { while(1); }
pinMode(4, OUTPUT); pinMode(5, OUTPUT); // LEDs
}
void loop() {
int packetSize = LoRa.parsePacket();
if (packetSize) {
String msg = "";
while (LoRa.available()) { msg += (char)LoRa.read(); }
if (msg == "1") { digitalWrite(4, HIGH); digitalWrite(5, LOW); } // LED1
if (msg == "2") { digitalWrite(4, LOW); digitalWrite(5, HIGH); } // LED2
delay(2000); // Keep lit for 2 sec
digitalWrite(4, LOW); digitalWrite(5, LOW);
}
}
```
3. **Waterproof & Test**:
- Pot everything in epoxy or use silicone sealant in the boxes. Add a small antenna wire (10cm) sticking out if needed.
- Test in air first (range 100m+), then submerge in a bucket 1m apart. If signal drops, lower power or add a ground plane (foil inside box).
- Pro tip: Saltwater absorbs more, so freshwater test first.
This should work reliably at 1m. If range is too short, try 315MHz LoRa instead.
### Option 2: Acoustic (Sound Waves—Better for Murky Water)
If RF fizzles in your water type, use sound (ultrasonics at 40kHz)—it travels 4x faster in water than air and ignores turbidity. We'll send short "beeps" as signals.
#### Parts List (~$60 total, similar to above but swap radios):
| Part | What it is | Where to get | Cost |
|------|------------|--------------|------|
| Same Arduinos, LCD, buttons, LEDs | As above | - | - |
| 2x Waterproof piezo transducers (e.g., JSN-SR04T ultrasonic sensor—transmit/receive capable) | Sends/receives sound underwater | Amazon | $15 each |
| Small amp module (LM386) | Boosts signal | Amazon | $3 |
#### Step-by-Step (Similar to RF, but...):
1. **Transmitter Wiring**: Connect piezo's trigger pin to Arduino pin 9 (for tone output). Use the same button/LCD code, but replace send with:
```
tone(9, 40000, 500); // 40kHz beep for Button 1 (500ms)
delay(100);
```
For Button 2: `tone(9, 41000, 500);` (different frequency to distinguish).
2. **Receiver Wiring**: Connect echo pin to Arduino pin 2 (interrupt for detection). Code detects tone frequency and lights LED. (Full code in Arduino forums—search "Arduino ultrasonic tone detect".)
3. **Waterproof & Test**: Seal tight; piezos are naturally waterproof. Range easy at 1m, up to 10m clear.
For a fancier acoustic setup with ready software, check this $20 Raspberry Pi version using a cheap speaker/mic. (Video tutorial:
)
### Next Steps & Tips
- Start with breadboards—no soldering yet. Arduino tutorials on YouTube are gold (search "Arduino LoRa beginner").
- Safety: Use low voltage (<5V), test pressure in a deep bucket. For scuba, add a wrist strap.
- If stuck: Post photos on the board or Arduino forums. Want schematics? I can describe more.
What part sounds trickiest, or do you have a budget/preferred option? Happy building—stay safe down there!
