Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 01:49 08 Jul 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Micromite Beta 6

     Page 7 of 9    
Author Message
vasi

Guru

Joined: 23/03/2007
Location: Romania
Posts: 1697
Posted: 11:52pm 18 Feb 2014
Copy link to clipboard 
Print this post

I guess assembler won't help too many (me included) so here is an RFM12B implementation in mikroe Pascal and Basic for PICs.
http://www.libstock.com/projects/download/475/0/475_rfm12_li b_for_me_pascal_v3.0.0.0.zip

Geoff will decide which one (if any).
Hobbit name: Togo Toadfoot of Frogmorton
Elvish name: Mablung Miriel
Beyound Arduino Lang
 
JohnL
Senior Member

Joined: 10/01/2014
Location: Seychelles
Posts: 128
Posted: 12:34am 19 Feb 2014
Copy link to clipboard 
Print this post

Some great features that Synapse Wireless RF modules/system has, for people that are not familiar.

It is fully automatic mesh networking system, nodes automatically discover each other and automatically work out routing for information exchange.

You can upload application programs to wireless remote modules/nodes over the air from PC based IDE (Portal).

Modules/nodes run stand alone application programs in Integer Python derivative (called SNAP), it is event (Interupt) driven and takes time and experience to get used to.

Most modules have 24 DIL (non standard 2mm pin spacing) with DIO, AI, PWM, SPI, I2C, UART. Modules are priced from less than $20 to $40+ and I think they are much better than Zigbee.

You can use Multicast and Unicast function calls. Any remote node can call a function to be executed in a program on any specific or multiple nodes on the network, this is very, very powerful. You can simply call a function in a program by name on any node and any other node that has that function as part of its application program will execute it. You can obviously pass function arguments if you want.

Modules can sleep if operating on batteries, wake up on Interupts. Micromite already has this feature.

Can use modules as transparent wireless UART link. Modbus wire replacement etc.

Lots of diagnostic features from PC IDE (Portal). You can literally do any development, uploading, diagnostics, monitoring etc. of the whole wireless network from one or multiple PC (Portal) locations. You can even upload new firmware to modules over the air.

I guess Geoff may want to consider before deciding if or what type of wireless features he can implement in MMBasic.

http://www.synapse-wireless.com/ Edited by JohnL 2014-02-20
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4036
Posted: 01:05am 19 Feb 2014
Copy link to clipboard 
Print this post

$20 or more is way more than the NRF24L01 at maybe $2 so probably a lot less attractive.

John
 
JohnL
Senior Member

Joined: 10/01/2014
Location: Seychelles
Posts: 128
Posted: 01:23am 19 Feb 2014
Copy link to clipboard 
Print this post

In case I wasn't clear in above post about Synapse.

I did not mean or intend to suggest that Synapse RF modules be considered as alternatives to cheap Nordic RF modules. Synapse modules can be used as stand alone.

I wanted to point out some powerful Wireless Mesh Network features that could possibly be implemented in MMBasic using a cheap Nordic RF24L01 as wireless RF interface.
 
vasi

Guru

Joined: 23/03/2007
Location: Romania
Posts: 1697
Posted: 01:54am 19 Feb 2014
Copy link to clipboard 
Print this post

John (@JohnS),

Don't know your sources, but on SparkFun.com things are like these:

- RFM12B
- NRF24L01

But I guess you are referring to the chip itself? I was referring to the module with the antenna included.
Hobbit name: Togo Toadfoot of Frogmorton
Elvish name: Mablung Miriel
Beyound Arduino Lang
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4036
Posted: 03:01am 19 Feb 2014
Copy link to clipboard 
Print this post

I bought NRF modules for £1 ($1.65) on ebay. I've never bought just the chips.

John
 
atmega8

Guru

Joined: 19/11/2013
Location: Germany
Posts: 724
Posted: 07:16am 19 Feb 2014
Copy link to clipboard 
Print this post

Geoff,

if you need some RFM12xx Modules for test and Development, just let me know.
I will send them. to down under;-)

Dietmar
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9590
Posted: 11:05am 19 Feb 2014
Copy link to clipboard 
Print this post

My personal favourites these days are the Radiometrix NTX2/NRX2.
Quite expensive compared to the cheap Chinese modules, but they seem pretty bulletproof. They are "Dumb" modules, but you can feed them just about anything, and the link always works - for me anyway. I drive these with plain serial, after first sending a string of U characters, which is used to sync the data-slicer in the receiver. Always works fine, and takes any module intelligence out of the equation if you have any kind of transmission problems.

BUT, having said that, had I been aware of some of these cheaper alternatives back then, I may well have taken a different route....

The transceivers I use are the SunrayRF modules. They come in various outputs from 10mW to up over 1W(illegal, generally speaking), are transceivers, have TTL/RS232 on-board, meaning you can connect the moudle DIRECTLY to your computer(using the RS232 port) for testing purposes. I think they also come with a 485 port if you ask for that instead of TTL. They too are about $15-20 a module, but being a transceiver etc.... That and as far as I am concerned, the cheapest things are not necessarily the best. (but by the same token, the expensive things are not necessarily the best either! Just personal choice and what was working at the time I needed it more then anything else!)
Edited by Grogster 2014-02-20
Smoke makes things work. When the smoke gets out, it stops!
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2932
Posted: 12:22pm 19 Feb 2014
Copy link to clipboard 
Print this post

Like Grogster says, Radiometrix offer some really good bulletproof RF modules. I have also used some of their modules where I needed extended range (1km+) between office buildings. Expensive but did the job well!

However, I feel the need to reiterate here, there is no one RF solution that fits all requirements. Or put it another way, each RF requirement needs to be evaluated on an individual basis. To put this into perspective, things that need considering in an RF design include:

- Frequency permitted (legal requirements vary across the globe)
- Frequency available in local vicinity (need to reduce interference from other devices nearby)
- Range required (not always best to have the longest range possible!)
- Transmit only, Receive only, or Transmit and Receive
- Amount of data in a typical message
- Speed of transmission
- Reliability & handshaking (different channels?)
- Budget
- Size of module
- Antenna requirements

So a remote data logger for home use (likely for a MicroMite project) is vastly different (in RF requirements) to a wireless media centre system (unlikely for a MicroMite project). They would NOT use the same RF module.

Taking everything into account, (and with my RF engineers hat on), I would love to see RF support from Geoff that would support a module with the following RF capabilities:
- Multi frequency (to allow use in any country)
- Short to medium i.e. up to about 150m (Long range is specialist equipment)
- Short to medium length message (No need for video)
- Ability to Send and/or Receive
- Low cost (sub US$10)
- Small footprint (many SMD RF modules have their own specific pinouts so an adaptor board is no big deal!)
- on board antenna with option for external antenna

The above is a reasonable summary of requirements - any deviation is treading on specialist equipment.

I hope the above makes sense to people out there - let me know your thoughts.
Should we start an RF topic????
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4036
Posted: 01:08pm 19 Feb 2014
Copy link to clipboard 
Print this post

The Radiometrix look interesting except for the price.

John
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9590
Posted: 01:22pm 19 Feb 2014
Copy link to clipboard 
Print this post

  WhiteWizard said  However, I feel the need to reiterate here, there is no one RF solution that fits all requirements. Or put it another way, each RF requirement needs to be evaluated on an individual basis.


Very well put, and I totally agree with you. You cannot use one module for ALL your different RF tasks, generally speaking.

@ JohnS - Yes, the price is a bit higher then I would like too. However, for that price, you DO get a very well designed bit of kit, and sometimes that extra engineering cost can be beneficial - works for years and years without issue or you having to go and fix it kind of thing.

Smoke makes things work. When the smoke gets out, it stops!
 
SteveP
Newbie

Joined: 21/03/2013
Location: United States
Posts: 19
Posted: 03:08pm 19 Feb 2014
Copy link to clipboard 
Print this post

This IR protocol analyzer may be useful. It uses a phototransistor with the microphone input of a soundcard to capture infrared signals from a remote control. Signal timing is graphed and a match is searched for known protocols.

http://www.ostan.cz/IR_protocol_analyzer/
 
SteveP
Newbie

Joined: 21/03/2013
Location: United States
Posts: 19
Posted: 03:47pm 19 Feb 2014
Copy link to clipboard 
Print this post

Do RF transceivers exist with an IR protocol digital output? They could be used with the Micromite's existing IR input pin and existing IR decoding software.
 
akashh
Senior Member

Joined: 19/01/2014
Location: India
Posts: 115
Posted: 03:48pm 19 Feb 2014
Copy link to clipboard 
Print this post

I just want to throw in the CC1100 modules which cost about 4usd and come with attached antenna, I have tested these and they work fine, they also have different modes such as fixed and variable packet length, automatic cdc checking, and even a one byte address, which makes it easy to set up one to one communication. I must confess that I have not done extensive testing with them yet but I have 50 in the drawer waiting to be used, the range seems decent in my testing, and they run at 433mhz. Ay reason they are not mentioned here in this discussion?
Akash
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2932
Posted: 04:09pm 19 Feb 2014
Copy link to clipboard 
Print this post

  akashh said   Any reason they are not mentioned here in this discussion?
Akash

I could list hundreds of different RF modules (and not just the ones I have in my parts bins!). The reason there are so many different RF modules is (and I will repeat yet again) there is no one module that meets all demands.

The module you mention is certainly at the cheap end of the costing scale, but it is no good if you want guaranteed coms indoors at 100m, and certainly no good for RF video. And Coms reliability would potentially be poor if there is other 433M in the area. BUT it will have its uses - understand requirements and then select the most appropriate part that ticks as many boxes as possible.

With IR it is reasonably easy - typically just the protocol changes on a freq of 38KHz. With RF then a great deal of physics comes into the equation too. I don't think Geoff would want to have different uMite firmware versions supporting different RF modules because of people's different RF requirements.

All that said I would still love to see RF implemented in the firmware and would come back to strongly recommend the Hope modules. They tick most boxes as already hinted at in a previous post. They are not limited to just 2.4G like the Nordics, or limited to 433M like the one akashh mentioned. And most importantly, you don't just choose a RF module because you have lots tucked away in a drawer somewhere!!

 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3282
Posted: 03:58pm 21 Feb 2014
Copy link to clipboard 
Print this post

It seems to come down to the NRF24L01+ or the RFM12B and I can see the benefits of both. The 2.4GHz band is terribly congested and for the Micromite it would be much better to use a lower frequency where there is less congestion and better range.

But, the RFM12B seems far less popular (there were only 5 or so vendors on eBay) and it comes in a difficult to use package with 2mm pin spacing.

My intention with these functions is to make it easy for a less technically minded individual to use a particular device. For example, you can drive an LCD via BASIC but the code to do it would be a challenge for some. This is where the RFM12B has a serious issue, the 2mm pin spacing means that to experiment with it you would have to solder on flying leads or design a PCB. And that would deter the casual user.

For sure the more technically adept would have no problem wiring up the RFM12B but that is not the audience that I am aiming for. Remember that you can always drive the RFM12B (and the NRF24L01+ for that matter) via SPI and for technically minded people that should be possible.

So I am going to try the NRF24L01+ first. But I can see myself wishing for the clear communications of 433 or 915 MHz so I also have a couple of RFM12Bs on order. My hope is that a lot of the NRF24L01+ code (SPI driver, etc) can be reused for the RFM12B and with a bit of luck I might be able to squeeze in both.

BTW both seem to have a diabolical command/control structure so there is no guarantee that I can get either working. Thanks to all who posted driver code as that will be my first port of call when my modules arrive.

GeoffEdited by Geoffg 2014-02-23
Geoff Graham - http://geoffg.net
 
BobD

Guru

Joined: 07/12/2011
Location: Australia
Posts: 935
Posted: 06:09pm 21 Feb 2014
Copy link to clipboard 
Print this post

Geoff
Several times you have indicated getting tight on flash space. Have you considered dropping line numbers completely? Would that gain much space? I recall in the past you have indicated that without line numbers a program executes faster. Sounds like two good reasons to drop them.
Bob
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9590
Posted: 06:16pm 21 Feb 2014
Copy link to clipboard 
Print this post

...and also PEEK and POKE, as it would seem that no-one really uses them anyway...
(please correct me if I am wrong. if anyone does use peek/poke, please let us know, and post what you use it for!)
Smoke makes things work. When the smoke gets out, it stops!
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2434
Posted: 06:47pm 21 Feb 2014
Copy link to clipboard 
Print this post

personally, i would place ultrasonic distance sensor and proposed RF transceiver together as things that are a little 'esoteric' and better left to being handled by user-written code. this is especially true as both are limited to a specific device amongst a number of possibilities.

the DS18B20 is saved from this complaint because the device is so ubiquitous, the IR saved by providing both Rx and Tx (so one can build the other end using a second micromite), and the RTC/PCF8563 by the absolute need for precise time stamping in some applications.

the effort and flash space might be better put into making improvements elsewhere. at the same time, for certain devices user written basic libraries may in fact be a more versatile approach.


rob :-)

 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6269
Posted: 08:21pm 21 Feb 2014
Copy link to clipboard 
Print this post

Speaking of the Ultrasonic sensor,

The ultrasonic range sensor software seems to be working well.

My sensor is a three terminal device with the trigger and echo terminals combined.
I put a diode in line with the trigger terminal to isolate it from the echo pulse coming back and everything works as well as the usual 4 terminal device.

Other than the missing pin, my device is identical to the HC-SR04

' Ultrasonic range test
LCD INIT 2, 3, 4, 5, 23, 24
' main loop
do
LCD clear
LCD 1, 2, "Distance"
range = DISTANCE(21,22)
LCD 2, 6, uFormat$(range,1)+" cm"
print "Distance = "+uFormat$(range,1)+" cm"
pause 1000
loop
end

function uFormat$(x,p)
' given a number (x) and the required number of decimal places (p)
' returns formatted string. Negative and zero p is permitted
local x1, f$
f$=str$(cint(x*10^p))
if p>0 then
uFormat$=left$(f$,len(f$)-p)+"."+right$(f$,p)
elseif p = 0 then
uFormat$=f$
else
uFormat$=f$+string$(abs(p),"0")
endif
end function


While I have done it in Basic before, it used the SOUND command to act as a timer.
The inbuilt function uses fewer IO's which is always a good thing.

Jim

VK7JH
MMedit
 
     Page 7 of 9    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025