Welcome, Guest
Username: Password: Remember me

TOPIC: Developing a universal module

Developing a universal module 9 months 2 weeks ago #19965

After long time not see this forum, I just want to give my 2 cent about this thread.

I know PB like to write program very much but by developing extra PCB with extra MCU for me or maybe other people in this forum is quit complicated since we must program that chip also.

My simple solution is using a logic chip 74HC595 (serial to pararel shift register) to control CS signal. We need only to reset the chip then write it over SPI with 8 bit data that always begin with logic '1' (MSB=1), and the rest 7-bit must be '1' except '0' for selected module. For example: I want to use a module that connected to CS_MODULE3, so i have to give RESET signal then send '11110111'. Along this process CS must be hold '1'.


ModuleSelector.jpg



How does it work? Very simple, after reset all serial register will be '0', QH' also '0', it allow SCK signal through SRCLK, after we shifting 8 bit, QH' will be '1' and diode keep SRCLK always '1', resistor hold the current if SCK drived by TX, and at the same time QH' drive RCLK from '0' to '1' and make serial regiter data loaded to output register.

Once the chip 'locked' to a module, I can use normal SPI with normal CS to communicate with the module.

May be some one have better idee?
Last Edit: 9 months 2 weeks ago by xCometz. Reason: attachment failed
The administrator has disabled public write access.

Developing a universal module 9 months 2 weeks ago #19969

we've talked about it before. Assuming you drive it at a high frequency, it probably isn't much slower than our current solution. Though it would need to be tested. I'm not sure how you could de-assert CSN with this module. When you assert !OE, all registers go into a Z-state. You likely need to add pullup resistors to all pins to reset them, but it is possible not all pins should be pulled up so you need to figure out which pins need a pullup and which need a pulldown (for instance, I have no idea what to do with the nrf CE pin in this case)

Assuming it does work somehow that I'm not seeing, it has the benefit of being faster to change the non CSN values like the CE pin. You could also choose to chain 2 of them together to get 16bits, and then you wouldn't need to play around with the chip GPIOs (though I could get the same effect by using a larger AVR)

But I've actually tested my board, and I know it works fine, and it is a tiny bit easier to build (no diode, no resistor, smaller IC). You don't need a programmer for it because I developed a dfu to program it, and most importantly I already have it.

So your solution may work if you have something up your sleeve to de-assert CSN, but I don't see any tangible benefits over mine, and I am not going to support multiple ways of doing the same task.

The problem I'm having with the board is making it small enough to fit in all the transmitter modules I want it to and to support as many variations of the modules as possible. The circuitry is simple, and the avr itself works fine for its task.

Edit: Also note that the number of (non transceiver) components in my design is 1. if you want to hand-wire the AVR, it is no harder than hand-wiring the HC595. The circuit board is only there to make it easier.
Last Edit: 9 months 2 weeks ago by PhracturedBlue.
The administrator has disabled public write access.

Developing a universal module 9 months 2 weeks ago #19977

This schema is very strange - I would just connect CS to RCLK and SCK to SRCK. At the very beginning initialize it with 0xFF, then reset and set a specific bit - no time dependence, no resistor and diode, and no programming ;-). HC595 is probably a bit more understandable - it's a standard component with well known functionality. On the other hand - flexibility is on your side.
The administrator has disabled public write access.

Developing a universal module 9 months 2 weeks ago #19978

I still see no way to guarantee that CSN behaves as expected when using the shift register. it is either in the z-state or the programmed state, but I see no way to go from one programmed state to the next without transitioning through the z-state (which would require pull-up resistors) to guarantee that csn doesn't spontaneously transition.

show me a set of steps to send:
CSN=0
byte = 0xa5
CSN=1
without any other bytes being consumed by the module and without falsely triggering any other of the shift-register bytes low.
The administrator has disabled public write access.

Developing a universal module 9 months 2 weeks ago #20028

I knew that not everything is that simple and there was a reason I did not find this elegant solution before - it does not work ;-)
The administrator has disabled public write access.

Developing a universal module 9 months 1 week ago #20326

Good news. the version 1.1 of the board is fully functional.
I have tested:
A7105 with and without PA
NRF24L01
CC2500
CYRF6936 (Devo and AWA24S)

All working as intended.
I created a version 1.2 of the board with the only change being to slightly widen the drill holes to make it easier to install the 2mm pin headers

I have enough confidence if some adventurous folks want to try it:
oshpark.com/shared_projects/nNRSCkjI

Schematic:

File Attachment:

File Name: transceiver_module_2014-02-15.pdf
File Size: 48 KB


Gerber files:

File Attachment:

File Name: transceiver_module-1.2.zip
File Size: 9 KB


Kicad files:

File Attachment:

File Name: transceiver_module-1.2-Kicad.zip
File Size: 13 KB


The board is built with specific components in mind:
ATTiny24A/ATTiny44A/ATTiny84A (note the 'A' it is important)

NRF24L01 (others will likely work):


A7105:

or (no PA):


CC2500:
www.aliexpress.com/item/CC2500-PA-LNA-wi...-2-4G/359941652.html
or this one (needs antenna soldered)
www.skyartec.com/ProductShow.asp?ArticleID=1977

CYRF6936:
www.digikey.com/product-detail/en/AWA24S/748-1003-ND/1687150
or
www.ehirobo.com/walkera-wk-devo-s-mod-de...-upgrade-module.html

The modules are designed to be soldered directly to the board. it is possible to do this without pin header, but most users will find it much easier to purchase 2mm pin headers like these (only needed for a7105 and cc2500) (note these are metric headers, and it is very unlikely you'll find them at a local hobby shop):
r.ebay.com/K8zPRJ

If using the skyartec module, you need 0.05" headers:
r.ebay.com/GlelB8

Note that the board design was done to minimize space so it could fit in a Devo7, Devo8/10/12, or X9d. This means that some of the modules sit on top of each other.
specifically:
The A7105 must be installed before the nrf24L01
the ATTiny and connecting wires must be installed before installing the cyrf6936
It is recommended to shorten the pins of the AVR chip so they don't stick through the board as far.

I will try to put together detailed instructions with pics in the future, but at the moment. The soldering is pretty easy but must be done in a specific order.

I am going to try to design either a 2nd board, or add onto this board to support the 'XL' series A7105 and CC2500 modules. They use standard 0.1" headers, which are easier to deal with, but at a cost of a larger board.
Last Edit: 9 months 1 week ago by PhracturedBlue.
The administrator has disabled public write access.

Developing a universal module 9 months 1 week ago #20332

Just amazing work u did ....

Now I want to take a devo 10 ans install this universal module :) (I owned a devo 7E, but I so badly soldered my nRF and A7105, that I am afraid to break everything for the diode mode and adding extra switches)


Do you think that a fifth RF chips will be including one day ? in this universal module ? for eumating new protocol ?
The administrator has disabled public write access.

Developing a universal module 9 months 1 week ago #20339

I was able to squeeze the XL2500 onto the board without growing it any. I think that is it for this size board though. I haven't posted the v1.3 design yet as I haven't actually tested the changes.

I placed an order from Seed for the v1.3 board. Their service is nowhere near as polished as Oshpark, but I was able to order 20 boards for $18.

If there is no issue with the final design, I'll likely offer the boards to the forum at cost. I went with 0.8mm boards from seed, since it'll be easiest to de-panelize them that way, so in the end they'll be nowhere near as nice as the Oshpark boards. If you are interested, and need more than one, Oshpark will likely still be the better deal. For $9, you can get 3 very high quality boards anywhere in the world.
The administrator has disabled public write access.

Developing a universal module 9 months 1 week ago #20415

I started work on some documentation of building the module. Mostly it is just a place for images I took while putting one together. I'll fill in the text in the future as well as include instructions on how to connect it to the transmitter.
bitbucket.org/PhracturedBlue/deviation/w...20the%20Multi-Module
Last Edit: 9 months 1 week ago by PhracturedBlue.
The administrator has disabled public write access.

Developing a universal module 9 months 6 days ago #20435

Very nice! I'll wait for the 1.3 and will have a go at OSH.

Does it all really fit in a 7E without a shoehorn ? :)

Must one add the CYRF module to the board, or can it be left in place and only solder additional modules to the universal board ?
Last Edit: 9 months 6 days ago by blackmoon.
The administrator has disabled public write access.

Developing a universal module 9 months 6 days ago #20440

This is great progress PB!! My goal is to mount this module externally for our less DIY-savvy customers with a ribbon cable going inside via the top rubber cover. Female headers would be installed on your custom PCB and the Ebay modules that already have pins could simply be plugged in and SMA antenna plugged in and mounted to the external box vs trying to mount antennas to the Devo case itself. Of course DIYers could go with the existing, compact installation.
The administrator has disabled public write access.

Developing a universal module 9 months 6 days ago #20444

Thank you PB this is really a good news.
What about that "AVR process chip"?
Will it come with the board?
Where can I get that chip?
Any specification or types of that AVR chip that I should look out for?
The administrator has disabled public write access.

Developing a universal module 9 months 6 days ago #20445

The module will not fit in a &3 (or probably any Devo Tx) with the Cyrf board attached. So no you don't need it. If you did want to replace the low-power on-board module in the 7e with a high-power one (i.e. not do the Diode mod), you'd likely need to use jumper wires so you could mount the moudule side-by-side.
The administrator has disabled public write access.

Developing a universal module 9 months 6 days ago #20446

The pics I show are of the 2nd board I assembled. The 1st board is all socketed as MassiveOverkill described. This is a lot more convenient but means it won't fit inside any Tx. Because the 0.1" female headers are taller than 2mm female headers, the stacking of the A7105 and nrf24l01 still works.

Note that if you want to socket the cyrf6936, you must buy 2-row 2-mm headers. with the 0.1" headers, you can mount 2 1-row headers adjacent to each other to make a 2-row, but this doesn't work with 2mnm headers.

I'll take some pics of mine. I use a male header on the board, and a 10-wire ribbon with female header (only 8 pins used) to connect to the Tx. I'm in the process of wiring all my Tx this way so I can swap the modules around for testing.
The administrator has disabled public write access.

Developing a universal module 9 months 6 days ago #20448

The AVR chip is an ATTiny24A/44A/84A (any of these will work fine) in a 14-pin DIP package:

If you buy them in packs of 10, they are ~$1 each.
I would probably recommend the ATTiny44A or 84A instead of the 24A. We only use half the space the 24A has, but who knows what firmware upgrades we may have in the future.

Your Tx will be able to program the chip, so there is no need to buy a programmer, though for someone like MassiveOverkill, I'd recommend buying one as it is easier and more reliable (you may need to try a couple times before the tx programs the chip successfully)
I use this one:


Assuming the boards I get from china are good enough, I will likely include an AVR chip, since I have a bunch of spares. I'm just not sure about how adding a DIP to the package will affect shipping.
Last Edit: 9 months 6 days ago by PhracturedBlue.
The administrator has disabled public write access.

Developing a universal module 9 months 5 days ago #20524

  • nusbr
  • nusbr's Avatar
  • OFFLINE
  • Posts: 39
That looks great, thanks a lot. I have a question, about your Board V1.2.
The assembly of them, i think , i understand.
bitbucket.org/PhracturedBlue/deviation/w...20the%20Multi-Module
But, there is a cable with a 8 Pin connecter on it. Where does i connect them in the TX (Devo 8S)? Because the removed original Modul have a 10Pin connecter.
Does the latest Devo Software support them (with Atmel Programming).

Thank you for answer
The administrator has disabled public write access.

Developing a universal module 9 months 5 days ago #20526

Is there any chance that a current forum member is going to likely assembly some of these and post them for sale? I would really like to have one but i just don't have the time to build one i been working 56 plus hours a week.The extra pay is nice but it really cuts into my spare time for projects..

Thanks all...
<Marty>
The administrator has disabled public write access.

Developing a universal module 9 months 5 days ago #20554

magic_marty wrote:
Is there any chance that a current forum member is going to likely assembly some of these and post them for sale? I would really like to have one but i just don't have the time to build one i been working 56 plus hours a week.The extra pay is nice but it really cuts into my spare time for projects..

Thanks all...
<Marty>

At the very least I want to stock all the DIY parts for a one-stop shop to obtain all the parts necessary. I can do Deviation flashing no problem but something that I didn't consider when selling them modded is FCC violations so I think to stay safe, only providing DIY parts and not actually physically modding them may be wiser.
The administrator has disabled public write access.

Developing a universal module 9 months 5 days ago #20556

I recommend reading this, I found it very interesting regarding FCC regulations:
www.sparkfun.com/tutorials/398

As I am not a lawyer, I will not make a statement on my interpretation of the details.
The administrator has disabled public write access.

Developing a universal module 9 months 5 days ago #20564

MassiveOverkill wrote:
magic_marty wrote:
Is there any chance that a current forum member is going to likely assembly some of these and post them for sale? I would really like to have one but i just don't have the time to build one i been working 56 plus hours a week.The extra pay is nice but it really cuts into my spare time for projects..

Thanks all...
<Marty>

At the very least I want to stock all the DIY parts for a one-stop shop to obtain all the parts necessary. I can do Deviation flashing no problem but something that I didn't consider when selling them modded is FCC violations so I think to stay safe, only providing DIY parts and not actually physically modding them may be wiser.


That sounds good to me im sure i could find a little spare time to solder it up if i could get everything in a assembly required kit.Please keep us posted when you plan on having the kits available..
thanks..
The administrator has disabled public write access.
Time to create page: 0.684 seconds