Repo for Arduino + NRF24L based walkie talkie.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
then 32a04f0eca added bug 1 month ago
README.md added bug 1 month ago

README.md

Walkietalkie

Repo for Arduino + NRF24L based walkie talkie.

SOFTWARE

Arduino IDE

Now, Arduino can be hard to deal with, in short:

  • Install the Arduino IDE on your operating system of choice and verify it works with a random arduino board you have lying around.
  • Before everything, make sure you have removed the Arduino Nano from the walkie talkie pcb before upoading/programming/flashing the arduino sketch.
  • Install the CH34x driver for your operating system (the provided arduino nano is a clone, using the CH34xxxx serial to usb chip instead of the official FTDIxxxx chip,‘x’ standig for a random number)
  • In the arduino IDE choose: Tools > Arduino Nano
  • In the arduino IDE choose: Tools > Processor > ATMega328P (old bootloader)
  • In the arduino IDE select the right port to your arduino: Tools > Port > ??? (depending on your operating system this will differ…mac: cu.usbmodemxxxxx, linux: ttyUSBx, windows: COMx, where x is an arbitrairy number)

If you are able to compile and upload the Arduino > File > Examples > 01.Basics > Blink ‘sketch’ your are good. If not try again.

Libraries

Walkie talkie uses external recources called ‘Libraries’, furthermore, this application uses slightly modified libraries in order to work at all. Before flashing the walkie talkie code you need to put these modified libraries in the right place:

  • Linux: put libraries in: ~/arduino/libraries

  • OSX: put libiraries in: ~/Documents/Arduino/libraries

  • Windows: …

HARDWARE

NOTES:

  • Electret MIC has polarity, check which leg goes to the metal can casing, thats your ground or minus.
  • BUG: If you want to use Voice AND Data/Line audio functionality, make sure you make your micorphone detachable (more on in the howto build).
  • LED, electrolytic caps and IC(lm386) have polarity too!
  • J-MIC can be two pin jumper (second and third pin are to store your jumpers ‘jumper block’)
  • All jumpers are optional, you can just bridge them with wire or not
  • 3.3v smd regulator is optional (ts actually routed to the top of the pcb in case you want to power an extra wemos board for example)
  • clipping transistor Q1 is a BC337 NPN, you can replace it with any common transistor, mind the pinout though (Collector-Base-Emitter)!
  • default power is 9v battery, but these are shitty and run out quick. Just power the arduino nano with a powerbank through its mini usb port.
  • the NRF24L01+ PA+LNA is heavy, there are tiny holes in the top of the pcb for you to solder some stabelizer wires from to the NRF24L01+ PA+LNA (for example the legs of a LED you cut off).
  • theres a ‘prototype’ area at the top of the board (‘under’ the NRF24L01+ PA+LNA) of 2x6 pins. In case you need to attach an extra tactile switch or so.

Bill Of Materials (rev 2.5)

Resistors

R1 - 10k R2 - 47k R3 - 10K R4 - 10 Ohm R5 - 10 Ohm R6 - 10K R7 - 390 Ohm (or 330??) R8 - 100 Ohm

Jumpers

J-SPK J-VOX J-MIC

Capacitors

C0 - 470uF (on NRF + and - powerrails) C1 - 4.7uF C2 - 2.2uF C3 - 1000uF C4 - 2.2uF optional: 2x tantalum 1uF (C5 and C6 for 3.3 power regulator)

Rest

1x Vertical tactile switch 2x 3.5mm jack input 1x speaker 1x 2x1 header female 2.54pitch for removable MIC 1x 2x3 header female 2.54pitch 1x 2x4 header female 2.54pitch 1x 1x15 header female 2.54pitch 1x electret 1x red LED 1x blue/green/yellow LED 1x BC337 NPN transitor 1x 9v Battery Clip 1x LM386 opamp 1x IC socket 2x4 1x NRF24L01+ PA + LNA + Antenna 1x Arduino Nano

TOOLS

+pliers is also… handy! (+6cm of isolated solid core wire for speaker!)

BUILDGUIDE

(notice: colors of used components can vary from yours depending on using 4 or 5 band resistors for example or the weird short header pins used in this tutorials arduino mount.)

-Solder all the header pins to the arduino nano, all the long ends facing downwards -Mount all the resistors in the pcb (polarity/orientation doesnt matter). Refer to the BOM and PCB where each resistor should go. For example: R1 is a 10K Resistor and goes to R1 on the pcb outlined by white sildscreen text inside a white box

If you are unsire about the values of the resistors measure them with a multimeter or look up their colors online (beaware of the amount of bands) Bend the resistor legs 90 degrees and place them through the holes in the main board. On the back side bend the legs slightly so the resistors dont fall back out again. Be sure the resistors legs are all the way through and the resistor is hugging the board. Add solder to fix the resistors to the board Cut of the remaining lengths of leg off. Save atleast two of the snippets for later! -- solder the ic holder (half moon shape to the right so you know how the ic should be inserted).

  • inser ic, half moon to the right.
  • Solder the jumpers in place: these dont have legs that are long enough to bend and can be fiddly to solder. Place something under th eboard to level it out. Protip: solder 1 leg of the jumper and then see if it sits perpendicualr to the board. Adjust if needed.
  • solder the headers: mount the three headers on the arduino for easy soldering/aligning. again solder 1 or two pins and check if everything is snug to the board before continuing. Corrent where nessecairy (reheat the solder joint and press the headers to the board). -clean your soldering iron tip ;) -take the arduino out and solderth elast header

-solder the electret mic, IMPRTANT: if you want to make use of line input you need to MAKE THE MIC REMOVABLE. using a 2 pin header for example. If you only plan on usingthe voice function youcan solder the mic directly to the board. Make sure the polarity is correct (ground or negative seemed to be indicated by a small golden marking on the backside. align that with the - (minus) silkscreen marking on the board).

-mount the transistor, the half moon shaped component, according to the silkscreen marking on the board. solder and cut of the excess legs. -mount, solder and clip the LEDS (remember: polarity! long leg is positive: anode = square solder pad on the board(this is not common consenus on square or round pads)). Keep the leg clippings, these are sturdier and longer than the resistor ones and thus extra useful later on. -mount the ptt talk button tactile switch to the front or back of the board (holes are on the small sides and can be a bit fiddly) -mount, solder and clip the electrolytic capaciors: these have polarity: the white band on the cap is the negative side and goes to the round hole (also indicated by - silkscreen). ALso look up the values in the BOM: e.g. C1 is 4.7uF. C0 needs to be soldered to the power rails of the NRF24L01+ PA + LNA (negative side to ground of the module, positive to the V+). Besure to not make any short circuit aka make sure C0 legs only touch their respecive pins and not the others (cut the capacitor legs to the right lenght before hand). Protip: mount the NRF24L01 on the mainboard (insert into 4x2 header you soldere previously) to ahve a steady base to work from. Take out the NRF24L01 . -Bend the legs of C3 a bit straight for a flush fit to the board. -solder the jack inputs (insert on front side, flip the board, solder). Again solder 1 leg first and then inspect if everything is aligned. -the speaker: fill the holes with solder (not to much, not to little) and insert two previously clipped off component legs (remember those snipped of legs you have been saving up?) and solder them to the board, it will get hot so be quick or use pliers. -bend the legs forward and solder them to the speaker (watch out, the back of the speaker is magnetic, it will snag onto your soldering iron!) -bend the speaker over. -optionally: solder the 9v battery clip to the + and - on the bottom right hand side of the board

-Insert NRF24L01 . insert Arduino.

-lastly, use two long sturdy ones to secure the NRF24L01 to the board. now screw on the antenna. Done!

-hook up a powerban to the arduino (or 9v batter to the battery clip). -blue led should light up when you receive

BUGS

-earbuts line out headphone gets warm oops. >>> needs low pass filter -LED holes are a bit small….ket tiny tiny leds. -ppt button holes are bit too fiddly .small -c3 holes are tight

1st one made: -shallow headers i have are bad, arduino doesnt make good contact -MIC SHOULD BE REMOVABLE! (so two jumpers for mic wtf..: theer is a bug in the JMIC and JVOX somehow…) -becuase of c4 lcd doesnt really fit (also because of c0)

TROUBLESHOOTING

NRF24L01+ PA+LNA -there are a plethora of NRF24L01+ PA+LNA modules on the market. Shielded, unshielded, clones, clones of clones etc. Most people had problems with power, requiring a dedicated 3.3v power supply and shielding (wrap your module in cling film and then tinfoil). My batch had a faulty antenna (more on that later) but other than that just needed the capacitor over the power rails and actually performed worse with a special 3.3v power supply (the option is there on the pcb if you are the unlucky one). -antenna: my antennas were bad. Too short, no good ground plane. I tried modifying the stock ones to some extend (the modules could now actually communicate), but the range was limited. I ended up grabbing some random antennas from propper wifi routers (I had some special sma converters lying around) and used those with much succes. The sma adaptors are not so cheap nor lightweight. It might be worth it to explore modifying the stock antennas more.