Simple Dev board for the RAK4630 module.
My main motivation is to make a cheap and easy to make nRF52 based meshtastic node.
Simple Dev board for the RAK4630 module.
My main motivation is to make a cheap and easy to make nRF52 based meshtastic node.
Itās the cheapest Mesh node that our Club can afford as we canāt order from aliexpress. Or from any shop abroad.
Iām super proud of that I got it working and it can be used to make some other PCB in the future.
So I have finished it! In this screenshot the PCB is intended to be plugged into a raspberry pi to leach 5V and 3V3 :)
And the nrf is flashed as it was powered by 5V. The only thing was the 3V3 rail as it powers the SX126 Lora. And now itās plugged into a PC PSU as our club leader didnāt think that using RPI for this is a good idea.
I also wanted to do an observer with it but it doesnāt seem to be working.
Iāve ran the script and nothing. But Itās probalbly a linux problem .
So this project is working!
Log in to leave a comment
Allright so, the SX126 doesnāt work. well itās because I donāt know much about powering the thing.
Iāll try to fix it in our electronics club.
I have found the issue! Itās in the way Iām powering it. The nRF52 is fine because of itās internal DC-DC convertor. And the SX is connected to the 3V3 line which isnāt connected anywhere. So the fix should be to have an LDO powering the 3V3 line. Thereās also an onboard LDO or DC-DC but these go to 3.7V. No frie today
https://forum.rakwireless.com/t/rak4630-schematic-vdd-nrf-question/13897/8
https://semtech.my.salesforce.com/sfc/p/#E0000000JelG/a/RQ000008nKCH/hp2iKwMDKWl34g1D3LBf_zC7TGBRIo2ff5LMnS8r19s
https://docs.rakwireless.com/product-categories/wisduo/rak4630-module/overview/
https://docs.rakwireless.com/product-categories/wisduo/rak4630-module/datasheet/#schematic-diagram
https://docs.rakwireless.com/product-categories/wisduo/rak4630-module/quickstart/
https://images.docs.rakwireless.com/wisblock/rak4631/datasheet/schematic.png
https://docs.rakwireless.com/product-categories/wisblock/rak19007/datasheet/#schematic-diagram
With my frined we have beem able to flash a bootloader and meshtastic FW.
The first thing we did is to folow this tutorial https://docs.rakwireless.com/product-categories/wisblock/rak4631-r/dfu/#converting-rak4631-r-to-rak4631 we used windows for this, itās after my atempts at folowing the meshtastic tutorial on meshtastic docks on Linux. Then we folowed this tutorial https://meshtastic.org/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r/. And installed the RAK4631 firmware wersion.
We were able to connect wia the mobile app, but we werenāt able to send any messages.
The radio couldnāt initiate. I think that itās an HW issu,e but I could be wrong.
//\ E S H T /\ S T / C
....
[0m[34mDEBUG [0m| ??:??:?? 1 [34mSX126xInterface(cs=42, irq=47, rst=38, busy=46)
[0m[34mDEBUG [0m| ??:??:?? 1 [34mSX126X_DIO3_TCXO_VOLTAGE defined, using DIO3 as TCXO reference voltage at 1.800000 V
[0m[32mINFO [0m| ??:??:?? 1 [32mStart meshradio init
[0m[32mINFO [0m| ??:??:?? 1 [32mRadio freq=869.525, config.lora.frequency_offset=0.000
[0m[32mINFO [0m| ??:??:?? 1 [32mSet radio: region=EU_868, name=MediumFast, config=4, ch=0, power=27
[0m[32mINFO [0m| ??:??:?? 1 [32mmyRegion->freqStart -> myRegion->freqEnd: 869.400024 -> 869.650024 (0.250000 MHz)
[0m[32mINFO [0m| ??:??:?? 1 [32mnumChannels: 1 x 250.000kHz
[0m[32mINFO [0m| ??:??:?? 1 [32mchannel_num: 1
[0m[32mINFO [0m| ??:??:?? 1 [32mfrequency: 869.525024
[0m[32mINFO [0m| ??:??:?? 1 [32mSlot time: 12 msec, preamble time: 32 msec
[0m[32mINFO [0m| ??:??:?? 1 [32mFinal Tx power: 22 dBm
[0m[32mINFO [0m| ??:??:?? 1 [32mSX126x init result -707
[0m[33mWARN [0m| ??:??:?? 1 [33mNo SX1262 radio
Log in to leave a comment
After a lot of back and forth from and to my workshop, I managed to get a serial enamurated. A big leap forward!
The problems:
Now I need to check which bootloader is on there (it needs to be the Arduino one) and flash the MeshTastic FW onto it. Charm it with I2C environmental sensors. And also build the other one.
Log in to leave a comment
After soldering it, Iāve tried to debug it. So I checked the resistance between the capacitor and I noticed that it was around 2M ohms. So I replaced it with another one this time 100nF.
And now it went back to 9mA! And after that I realized that I forgot to hook up the Vbat_NRF to the USB VBUS. yikes š
And now it seems to be working!
So I began the search for antennas as I was worried about the PA without antennas. (It took me around 15 mins which I didnāt log)
When I went through my FPV box the second time it hit me. I have PFV drone ELRS antennas with the right ufl connector! BT is fine but LoRa is sub GHz and I was worried that i still may blow the PA, so I asked ChatGPT and it told me that the SX LoRa chips PA is pretty resilient. Oh nice
After that I plugged it in into my Linux laptop and it seemed to kinda work so I ran dmesg and there it was although it wasnāt properly enumerated. But thatās progress.
OFC I was the whole time frantically checking the voltage and my cheapo multimeter tripped me up as it was showing 6.7V on the USB which scared me. Luckily itās just a drained battery.
So I needed to run back down to the shop multiple times in -10C. But I love saunas and cold hardening. ;)
Iāll debug the USB tomorrow, itās getting late, and I canāt think straight.
Log in to leave a comment
I thought about soldering the PCB in an oven but this will be messy.
Iāve made a similar breakout PCB for a different module with pads underneath.
This one has castellated holes thankfully.
Iāve soldered on a pin and a pin on the other side on the shorter side.
Then I put a ball of solder on my iron and went over all the pins. Also a lot of flux helped.
It was so cumbersome as the ball of solder was sticking so much. I also donāt have the smallest soldering iron tip so heating up the small castellated holes wasnāt ideal.
So after it looked finished I heated it up with a heat gun. Which was a mistake as the substrate isnāt made for high temperatures and it started to delaminate, so I stopped of course.
After doing that I checked with a multimeter if the traces werenāt bridged. Which thankfully wasnāt.
So I plugged it into my PSU. And I saw no signs of life. I thought that the current draw was below mA, So I checked the voltage on the trace, but there wasnāt any voltage on the 3V3 trace. And then I found out that I managed to desolder the pins from the PCB presumably when using the hot air.
So I soldered back on and tested it. It worked! I saw 15mA.
Then I soldered up the RST circuitry. And now I donāt see signs of life.
Letās debug. Probably going to desolder the pullup and cap.
Log in to leave a comment
At our shool we use the good old school method of etching our PCBs. I etched on tuesday after shool club.
The steps were:
Evhery step is so time consuming. Iāve made a batch of three PCBās in total which took me like 2.5 hours after school to make. Also you need to babysit evhery step in the process, as it can go downhill really fast.
Itās cumbersome to log the full 2.5 hours and it wouldnāt be honest as I done them in paralel so thats why Iāll log around a halve a hour. Please feel free to make adjusments
And there it is pretty good PCBs.
After that I cleaned it using LĆh. Drilled holes in DDM as I hadnāt had more time after shool. It took halve a hour.
We normally put a Kalafuna (Flux) on there to provent it from oxidizing and it makes it better to solder.
Made a super short readme for this project.
Log in to leave a comment
Iāve finished the board. Also thought about making the PCB, and I decided to etch it in school.
Thatās why there are THT components. Also one clever thing Iām quite proud of is the USB-C connector. As we would only do the back side, and we donāt need to care about the front.
I didnāt know how far apart the headers should be. So I thought about making it like an ESP dev board, but that would force the board to be a lot longer than needed. So I took the components and roughly layout them out to their corresponding positions, like top or bottom. and that way I knew that almost all components would be at the top aside of the USB-C connector. The USB-C was positioned on top of the module. After routing, Iāve noticed that itās interfering with the module.
After that, I made pretty labels and thatās it. At least for the PCB.
When Iāll return from winter break Iāll manufacture the PCB. Iām also going to log that. :)
Log in to leave a comment
Iāve started working on this project the day prior to Flavortown. š
Iāve looked at the meshtastic RAK4631 definition, as I wonāt need to make my own board definition.
I have in mind that most likely Iāll be CNC milling the PCB. Thatās why I also added a USB2.0 header to be able to hack in a USB cable.
Ehm⦠many blank stares into the RAK datasheetā¦
I came up with a minimal schematic seen in the second screenshot.
Then I looked into the pin definition and named the pins with their functions, which was a mistake, as I wouldnāt really know which pin is which and I would need to reference the pin definition which is quite cumbersome.
So I went with ā{PX.Y}/{Relevant Fn}ā
Added pin headers, as Dev boards would be useless without it. ;)
And today I added the menu button and LED. Noted: the nrf52 chip canāt provide enough power to drive the LED by itself.
And that should be it for schematic!
Log in to leave a comment