π¬ My simple RFM dongle for Serial GW
-
ahaha!
@Koresh thx :) I just would like to say, I don't consider myself as an electronician!
Let me explain my way, and please tell me if I'm doing wrong. I want to learn :)
The truth, is I started to learn microchip 10years ago because I needed it. So I'm very new at atmel. I understand about stability of circuit, the software stuff too.. So, what do you mean by work and stability??? I'm from software dev originally..
But when I design I always try
- to follow reference design : e.g. already made schematics (thx to opensource), datasheet, appnotes,
- to understand what it does, add my things, hack it to have the better circuit I am able..
- If I don't find my answer, I ask to my dad ;) Thx to him, he's electronician :) not RF expert..
- when I have all my personal reference schematics, that's faster then, like a lib, just few hacks
- about routing, I read articles too, how to make things good, about mixed, or escaping strategy etc.
- in software, same thing. no hidden thing, always an answer.
- finally, I think I should be more stable&reliable than something veroboard or wire arduino clone style. imho.
But maybe you are mentioning the RF part which is not my best part ;) And I never practised it during my microchip sessions. So thx to iot, I have just started to learn some basics on RF...just good to know all the stuff about impedance matching, routing..and I iterate, iterate...lol
So, warning!! this is for advanced! I share for fun :)
About this board:
- there are round smd pads (2.54mm pitch) which are : RST, GND, 3.3V, SWCLK, SWDIO. Program it by pogopin. I use a Segger J-Link OB for programming bootloader. USB for bootloading.
- this board comes from another board I have made (in testing):
http://forum.mysensors.org/topic/3551/my-32bits-atsam-node-project - I have made my variant board in arduino ide.
My tests :
- not fully tested but on a good way, sorry for my lora still on my desk, so I won't order this one if I'm not sure ;) But I have followed a working pinmapping for the lora part, so I should not have too much surprise. I will boost on this..
- I only tested basic raw examples yet, that I mix and hack a bit just for POC. Then it's just a matter of time/software for integration in Mysensors! Plus I know that @tbowmo has already something working Mysensors+atsam. So with a little help and labour I should be able to pack all my things, I hope ;) Because for the moment I have my mysensors stuff in the jumble, and I don't want to add variables...
I hope you're ok with this? Thx for your feedback and don't hesitate to tell me if I am wrong. I will add schematic and order it asap.
-
Thanks for so detailed answer!!!
So, what do you mean by work and stability???
I just mean, that arduino zero is new platform and I didn't try it :) I've just interested how stable arduino code works on SAM D :)
use a Segger J-Link OB for programming bootloader.
OK! I am loking a cheap programmer for this mcu now :)
-
@Koresh lol, I'm reassured! yep you can find cheap programmer, just two swd pins needed :) For the moment, I like this SAMD. but still can't wait esp32 ;)
-
I'm reading a fantastic book "The Maker Movement manifesto" (http://www.techshop.ws/images/0071821139 Maker Movement Manifesto Sample Chapter.pdf).
I think you'll gonna love this book. Since we're all makers, maybe @GertSanders and @AWI can share a bit of their hardware building skills to the other Belgium and Dutch speakers, during the (summer) meetup? I'd really love to learn at least how to make a descent print lay-out. Hence I'll buy you all a cold beer in return. But only after the lectures ;-)
@TheoL
Huh ? Did someone say beer ? -
@Dwalt
yep atsha204A is a Mysensors classic, and a very nice feature :) I feel better secured now, thx Anticimex :laughing:
Yes it will be possible. There is already a better different GW from tbowmo. But I didn't see my option here, so I did it, and if sometimes I need something simple...or want to make a gift lol
SAMD includes internal USB drivers. So it can be used as a client USB, or like CDC serial comm (Virtual Serial Port). So no need of usb to serial; cool :) -
It acts as a serial device on the USB port. I have a GW running with atsamd21J (bigger brother to the one @scalz are using). Been using both USB and ethernet to connect to the device.
The nice thing of an embedded USB controller, versus an external usb to serial device, is that you can make your device act as whatever usb device you want. For example make it a mass memory device, or a mouse / keyboard (HID). The sky is the limit :)
-
mini update..
So thx to @GertSanders and his ideas! Again I had to challenge myself yesterday :laughing:
I have updated description but briefly I have added:- enlarged a little bit :disappointed:
- 2x 1.0mm pitch connector; one for I2C+1pin in case, and another one for JTAG programming bootloader (this was pogo pins but as averything is on top, I feel more secure with a true connector)
- eeprom
- routing and silkscreen
- now, usb connector is no mandatory, but I prefer with it..
still very few things to make looking better and I upload my files :)
-
RFM69 has built-in authentication, is atsha chip really needed?
-
rfm69 has encryption which just hide your data. it's bonus and useful, but it does not provide key authentication, handled by athsa. imho, authentication is more important. I should receive my pcb soon now..this time, oshpark has been a bit longer than usual for my order :disappointed:
-
I have just assembled one board, and I'm testing it.
so far I'm pretty happy. as expected, it's communicating with my other "zero" board ( the other white board, lipo etc..). yeah :)I've not tried lorawan yet, I'm just using basic raw routines for radio communication between the two nodes (a part from LMIC library). and I will try lowpowerlab rev too when more time as I'm busy on other cool gizmos :) and then, if not already done, will try to integrate into mysensors transport. ughh, I don't know when, quite lot of work!


you can see I have not received i2c eeprom yet, and my jst connectors too! too bad, so I sodered temporary wire for jtag :) in case..I'm using RFM95W 868mhz, only with whip wire antenna for the moment, I have not tried the sma, nor rfm69hcw. that will be next step after having checked the range like this..
-
and playing a bit with 3d design..

yummy :)
-
few other pics, a bit better quality :blush:
I've not used oven this time. just handsoldered. 0603. I've not tried yet, to use pcb only for plugging (without connector), I will do (it could be smaller) but I prefer/more confident with a connector.


funny and tiny, not so much feature, there are other boards with more pins but I wanted this one simple, with minimal mysensors things, when I will receive my jst, I will have more pins like i2c. but for the moment, I like it :) connected directly in usb without wire, playing with arduino, neopixel, serial and radio etc..like a child :)
-
I'm playing with radiohead lib now. nothing special but that works well too :)

I have looked a bit at LMIC (radio management+protocol), for curiosity. I like the the "rtos" style, it's well done, sure, but it's mostly another protocol... there are nice things though.I think, the best, imho, would be to extract radiohead rfm95 driver and make something like rfm69 lowpowerlab lib. Or trying to add radiohead to mysensors..In each case, that is some stuff&debug.
Now, I would like to have my lora nodes in mysensors...so what's next?...no, no, don't say what i haven't said ... :laughing:
-
@hek
I have looked at Tekka lib, thx :)
For convenience, for the moment ;), I have almost repackaged radiohead and rfm95 parts into something "standalone" (like lowpowerlab certainly did for rfm69). I keep from radiohead a few more getter/setters because I like it lol.Basic things compiling&working, argh not in mysensors yet, as I'm still on the driver part. I'm trying to follow a bit the lowpowerlab flow, so it will be easier then for a rfm95transport. Still lot of things to check, wip..but for the moment, for a simple raw reliable (sendWithretry) sketch, I get something 17% flash, 25% ram for a 328p...compared to 49%/80% using radiohead lib. I hope things won't grow too much, I will try to get things compact as I can ;)
Though, there were interesting things in radiohead lib:
- the way it's structured (a bit like mysensors, with a radio driver, spi and more general/generic layer).
- I have not tested it but you can handle multiple int and radio for instance.
It was a bit of work to navigate in, to be sure to not forgive something, not a nightmare lol hopefully radiohead has a great and well done documentation.
Talking about this..do you have a doc like this for mysensors, for the description and class hierarchy? just curious :)See you soon