RAK4630-Dev-Board banner

RAK4630-Dev-Board

9 devlogs
9h 39m 25s

Simple Dev board for the RAK4630 module.
My main motivation is to make a cheap and easy to make nRF52 based meshtastic node.

Repository

Loading README...

Tomas Kuchta

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

Attachment
Attachment
1

Comments

Tomas Kuchta
Tomas Kuchta about 1 month ago

Yeah I managed to geit it working there so this is the end of this project. Thx

Tomas Kuchta

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

Attachment
Attachment
0
Tomas Kuchta

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:

  • Bridged pads
  • USB was incorrectly wired

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.

Attachment
Attachment
Attachment
0
Tomas Kuchta

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.

Attachment
Attachment
0
Tomas Kuchta

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.

Attachment
Attachment
Attachment
Attachment
0
Tomas Kuchta

At our shool we use the good old school method of etching our PCBs. I etched on tuesday after shool club.
The steps were:

  1. Print out the design on paper
  2. Cut the cuprexit to size and sand it
  3. Apply fotoresist and cure it in a oven
  4. Make the paper transludcent using oil and expose it in UV
  5. Develop it in a developer agent
  6. Find that it didn’t develop propertly and scribble all over using a marker
  7. Remove the Copper in a acid foam bath - A teacher kindly etched for me as the after school club was ending.

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.

Attachment
Attachment
Attachment
1

Comments

Tomas Kuchta
Tomas Kuchta 2 months ago

Please look at this log closely.

Tomas Kuchta

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. :)

Attachment
0
Tomas Kuchta

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!

Attachment
Attachment
0