Update on DASH7

@haarts, if the meshing feature is what you need, and you target home automation, you can take a look at panstamps as well. Very similar to JeeNode, but with better radios (CC1100), and a set of "holder" boards that can even install in a DIN-rail fusebox. Very responsive support. All open source.

I have no other relationship with panstamp except being a "happy user", but I think it deserves a bigger community. Take a look. The SWAP stack is great, even if its all-HEX approach isn't the most user-readable one... If you can make a side-by-side comparison with DASH7, I'm interested.

oliv3r:
It's still not entirely clear to me whether OpenTag (HayTag, what's the difference?) on an 8bit AVR (not arduino).

HayTag is hardware. OpenTag is software (firmware). There is no AVR port for OpenTag because I am busy supporting MSP430 and Cortex M. It is as simple as that.

The 7stick was supposed to be available now from TI (http://www.indigresso.com/wiki/doku.php?id=opentag:board:ez430-rf5509), but for some reason they have not offered the unit for sale yet. If it goes much longer, I will build and sell the thing myself using ST parts ]:slight_smile:

tochinet:
I have no other relationship with panstamp except being a "happy user", but I think it deserves a bigger community. Take a look. The SWAP stack is great, even if its all-HEX approach isn't the most user-readable one... If you can make a side-by-side comparison with DASH7, I'm interested.

OpenTag/DASH7 is designed to be the world's lowest-power RF stack, so many of the differences between DASH7 and SWAP are levels of sophistication needed to give DASH7 lower power. MCU time is much lower power than RF time is, so to use this tradeoff, DASH7 has sophisticated anti-collision, synchronizing, filtering, and querying mechanisms that are unique. If you don't care so much about running the device for years on a small battery, or running off a small solar cell, then these differences are less impactful.

The other difference that may be impactful even for non-low-power applications is that DASH7 can support IPv6 addressing, UDPv6, and CoAP. So, if you want to link it to HTTP or other REST applications, it doesn't require extra pieces.

SWAP seems like a nice system that could compete with things like ZWave. DASH7 is more sophisticated, so it is often more difficult for hobbyists to use it for adding wireless to a project, but it can scale-up without concern: 10k units, 1M units, 1B units, etc. That is the tradeoff.

Looks like an incredibly complex protocol that's gonna take some serious processing
power, so it's not quite clear whether it'll actually be "low-power" to do all that
stuff. It took Maxstream/Digi 2 or 3 years to get the zigbee mesh protocol right.

The main website has a lot of talk about protocols and comparisons with other existing
protocols, but not much at all about actual working hardware. Will have to wait for
some working hardware, before can tell very much.

http://www.dash7.org/

oric_dan(333):
Looks like an incredibly complex protocol that's gonna take some serious processing
power, so it's not quite clear whether it'll actually be "low-power" to do all that
stuff. It took Maxstream/Digi 2 or 3 years to get the zigbee mesh protocol right.

There are product examples, but just not so much in the hobbyist space. Hobbyists are awesome, but honestly the addressable market isn't as big as is a single commercial buyer, and nobody in the community is a charity. Support for hobbyists, still, is improving as wrappers for certain feature subsets get developed. Unlike ZigBee, DASH7 is open source, so the community is basically doing this on its own. Also unlike ZigBee, the architecture of the protocol is designed for elegant implementation in firmware.

As for low-power, an STM32L does 5DMIPS/mA. That's insane. EFM32 is even less, and I expect the Atmel CM3 in the Due is basically in the same region. RF transmit has been stuck at 0dBm/15mA for a decade. Batteries aren't changing either. RF receive has been getting incrementally better, but it's not anywhere near the kind of slope we see for MIPS/mA. Crazy but true: running a low power CM3 often uses less total power than MSP430, which uses less power than AVR, which uses less power than 8051. More sophistication can result in less total power if the architecture is good. Just ask Intel. I will fly over to where you live and buy you a beer if HayTag, which uses CM3, isn't at least one order of magnitude -- and probably 2 or 3 -- less power than anything you're accustomed to.

RF transmit has been stuck at 0dBm/15mA for a decade.

Actually, the XBee Pros do 18dBM, albeit at higher current. I guess you're saying
the new standard favors low-power transmit, but more sensitive receivers, so it's
easier to build a wide mesh of low-power nodes. Still, we have to see it in reliable
operation.

Dash7 all sounds good. Not sure it will take over the world, however, :-). There have
been a zillion new "standards" over the past 15 years. Some of us have been around
long enough to see many of them come and go. Can you point to some hardware
modules that are commercially available right now?

oric_dan(333):
Dash7 all sounds good. Not sure it will take over the world, however, :-).

Taking over the world is not the goal. :slight_smile: The goal is to provide a standard that can succeed where previously only proprietary technologies have succeeded, due to optimization considerations.

18dBm:
The XBee Pros @ 18dBm are quoted to use 215mA for TX and 55mA for RX, compared with 18/18 for DASH7 on the CC430 and 15/10 on the HayTag. The range is about the same, although DASH7 has lower data rate. We use the compute power to provide intelligence, and ultimately the result is sending less data, so the radio on-time is about the same for most apps. Good for battery powered devices, not so important for mains-powered devices unless you are wild about reducing carbon footprint.

Modules:
The WizziMote is the most common module at the moment. It uses CC430, and basically anything with a CC430 can run the stack. My new product (HayTag) uses a new ST chipset. I get a lot of requests to build shields and modules, but I'd need to sell about 1000 @ $40 to break-even. I'm being conservative with the price, though. Maybe there's potential.

I do hope it will take over the world. It sounds like an extremely good idea especially to hobbyist. Difficulty in using can be solved with lots of good usage examples.

As for proto boards, Olimex has two CC430 boards MSP430-CCRF MSP430-CCRF for about less then 25E each. Big downside is, that it's in the wrong frequency range. Shouldn't matter for testing with 2 units even with dash7, but it won't be compatible with any existing dash7 devices that will only operate on 433 MHz (which is a really good thing).

Btw, is the power the reason you switched to the ST from the CC430? I remember you saying you where excited about the CC430 but notice the switch to 'some' ST. Does it include the radio?

Also, while I really can understand the hesitation to build for the hobbyist market, the hobbyist market does need at least proto boards as just using a socket with a chip is nearly impossible with these chip (all SMD) and antenna design is a science of its own.

As for the 7Stick, if it was based on the CC430, it wouldn't even need a USB controller anymore as someone has/is busy porting V-USB to bitbang USB. Bitbang USB v1.1 on a MSP430 – Dangerous Prototypes

Anyway all that is needed is something like the olimex boards in the correct frequency range (antenna design only I think) to get hobbiest started. Toolchain (gcc etc) is already available!

Anyhow, this is kinda getting offtopic as its not even closely related to arduino. While I don't mind where this will be discussed, mods might not agree :slight_smile:

oliv3r:
I do hope it will take over the world. It sounds like an extremely good idea especially to hobbyist. Difficulty in using can be solved with lots of good usage examples.

:grin:

As for proto boards, Olimex has two CC430 boards MSP430-CCRF MSP430-CCRF for about less then 25E each. Big downside is, that it's in the wrong frequency range. Shouldn't matter for testing with 2 units even with dash7, but it won't be compatible with any existing dash7 devices that will only operate on 433 MHz (which is a really good thing).

866 operation requires slightly different configuration of registers. I've actually made an easy setting to use the 866 band, although I cannot confirm that it meets regulatory approval. We have considered opening a 2nd band in 866/868, but we decided it would lead to too much confusion, and more recently it seems 866 and 915 are getting bullied by LTE. But for the lab, no problem.

If you have a binocular microscope and some skill in soldering, it's also possible to change the front-end. I have done this before with 1005 (0402) parts. It takes some practice, but it is possible with hot air system to remove old parts, then to place new parts a solder pencil, microscope, and a lot of solder flux.

The TI Chronos is also usable, although it is a lousy experimenter board.

Btw, is the power the reason you switched to the ST from the CC430? I remember you saying you where excited about the CC430 but notice the switch to 'some' ST. Does it include the radio?

I still love the CC430, and it is in my product plans for the future. We used ST (STM32L+SPIRIT1) for HayTag because we needed a few things:

  • SPIRIT1 and one other chip (currently unreleased) were designed with DASH7 in mind, so the performance is high and power usage is low
  • STM32L or EFM32 are the lowest power MCUs for doing the sort of things we need to do. Wolverine MSP430 is an interesting one, too, but right now it is Rev-0. Too much errata.
  • Ability to run a CDC USB stack. The bit-bang stack for MSP is USB-low speed. Plus, it is blocking when it runs.
  • Ability to support over-serial or over-the-air firmware upload. CC430 is only 32KB Flash. The OpenTag distro is between 13KB and 28KB, depending on featureset. We are using an STM32L with 64KB Flash. With firmware image compression, there is no trouble implementing a bootloader.
  • Simply, we didn't want to be seen as a TI-only shop

Also, while I really can understand the hesitation to build for the hobbyist market, the hobbyist market does need at least proto boards as just using a socket with a chip is nearly impossible with these chip (all SMD) and antenna design is a science of its own.

Really, there's no hesitation, there just isn't enough time. I still need to worry about paying the rent. :expressionless: Crowd funding a build-run seems like an interesting idea, but there is a marketing element to crowd funding that I first need to figure-out.

As for the 7Stick, if it was based on the CC430, it wouldn't even need a USB controller anymore as someone has/is busy porting V-USB to bitbang USB. Bitbang USB v1.1 on a MSP430 – Dangerous Prototypes

See previous comments on USB. Plus, the current design uses an MSP430F55xx, which has HW USB and is basically identical to the CC430 core. OpenTag runs great on the prototype 7stick. It was supposed to go into a certain TI kit, but I guess something is getting held-up.

Anyhow, this is kinda getting off topic as its not even closely related to arduino. While I don't mind where this will be discussed, mods might not agree :slight_smile:

I was thinking today about what it would take to build an Arduino shield out of the HayTag iOS adapter design. The width of that board is similar to the width of a standard Arduino board, so it could be a shield or a half-shield. It has an integrated antenna that's pretty badass, so range would be good. Once the HayTag Adapter design goes to R1, I bet I could successfully crowd-fund the shield based on it, thanks to the size of the Arduino community. Thinking about a simple network configuration that might appeal to this community, I sketched out a design. The avg supply current to the gateway/router node should be about 800uA and the endpoint nodes about 60uA. Range, I'll guess 1km. High power for DASH7, but probably much lower than any RF that has ever been attached to an Arduino :). Anyway, I'll keep everyone posted.

jpnorair:

oliv3r:
I do hope it will take over the world. It sounds like an extremely good idea especially to hobbyist. Difficulty in using can be solved with lots of good usage examples.

:grin:

As for proto boards, Olimex has two CC430 boards MSP430-CCRF MSP430-CCRF for about less then 25E each. Big downside is, that it's in the wrong frequency range. Shouldn't matter for testing with 2 units even with dash7, but it won't be compatible with any existing dash7 devices that will only operate on 433 MHz (which is a really good thing).

866 operation requires slightly different configuration of registers. I've actually made an easy setting to use the 866 band, although I cannot confirm that it meets regulatory approval. We have considered opening a 2nd band in 866/868, but we decided it would lead to too much confusion, and more recently it seems 866 and 915 are getting bullied by LTE. But for the lab, no problem.

So a simple 'config' change in the build would allow that. I totally fully agree sticking with 433 MHz. World wide availability for one and not so crowded by telcom's Don't think it will be. Its just a shame there's so little hardware cheaply/easily attainable for us mortals (yes the watch, read below).

jpnorair:
If you have a binocular microscope and some skill in soldering, it's also possible to change the front-end. I have done this before with 1005 (0402) parts. It takes some practice, but it is possible with hot air system to remove old parts, then to place new parts a solder pencil, microscope, and a lot of solder flux.

I guess that's out of the league of many many :slight_smile: With front end, you mean those simple components connected to the antenna? Or the actual demodulator (I belive it was called in the DVB world). I assume the first, as I see no other chips on the olimex boards :slight_smile:

jpnorair:
The TI Chronos is also usable, although it is a lousy experimenter board.

I actually really wanted to get one when it was with those TI-deals. But I missed out. While lousy experimenter board in the hardware side, combined with a CC430 USB (or whatever chip) it would make software development and testing possible. Even when it's just passing messages from the PC via udp6 to the clock watch :slight_smile:

jpnorair:

Btw, is the power the reason you switched to the ST from the CC430? I remember you saying you where excited about the CC430 but notice the switch to 'some' ST. Does it include the radio?

I still love the CC430, and it is in my product plans for the future. We used ST (STM32L+SPIRIT1) for HayTag because we needed a few things:

  • SPIRIT1 and one other chip (currently unreleased) were designed with DASH7 in mind, so the performance is high and power usage is low
  • STM32L or EFM32 are the lowest power MCUs for doing the sort of things we need to do. Wolverine MSP430 is an interesting one, too, but right now it is Rev-0. Too much errata.
  • Ability to run a CDC USB stack. The bit-bang stack for MSP is USB-low speed. Plus, it is blocking when it runs.
  • Ability to support over-serial or over-the-air firmware upload. CC430 is only 32KB Flash. The OpenTag distro is between 13KB and 28KB, depending on featureset. We are using an STM32L with 64KB Flash. With firmware image compression, there is no trouble implementing a bootloader.
  • Simply, we didn't want to be seen as a TI-only shop

So it's a multi-chip design in a really small package. Pretty cool! I wonder if whatever next solution will be from any manufacturer. I really like the CC430 because it's a single package. So while the STM32L +Spirit1 sounds like a really efficient idea, an integrated solution could be even more power friendly!

The blocking-ness would be a non-issue for low speed hobby usage, but in a big enviroment, where thousands of tags communicate with a receiver connected over USB, it probably is an issue :wink:

I didn't realize opentag was that big. I thought it would actually easily fit in a 32 kiB AVR. Speaking of AVR, the onyl reason I brought it up, is I remembered that you mentioned that OpenTag doesn't require a DMA anymore, but more importantly, that someone else was doing the work.

jpnorair:

Also, while I really can understand the hesitation to build for the hobbyist market, the hobbyist market does need at least proto boards as just using a socket with a chip is nearly impossible with these chip (all SMD) and antenna design is a science of its own.

Really, there's no hesitation, there just isn't enough time. I still need to worry about paying the rent. :expressionless: Crowd funding a build-run seems like an interesting idea, but there is a marketing element to crowd funding that I first need to figure-out.

Yes, crowdfunding is a tricky issue. I do think indiegogo would be better then kickstarter though :wink: (hint) and all comes down to price. Hobbyist are often poor :frowning: But yes, I have many many idea's and plans for Dash7, have had them for 2 years now. If I could quit my Studies and Job and focus 110% on it, I would!

jpnorair:

As for the 7Stick, if it was based on the CC430, it wouldn't even need a USB controller anymore as someone has/is busy porting V-USB to bitbang USB. Bitbang USB v1.1 on a MSP430 – Dangerous Prototypes

See previous comments on USB. Plus, the current design uses an MSP430F55xx, which has HW USB and is basically identical to the CC430 core. OpenTag runs great on the prototype 7stick. It was supposed to go into a certain TI kit, but I guess something is getting held-up.

:frowning: They should do a 7stick + chronos TI-deal! Seriously, they should! :slight_smile:

jpnorair:

Anyhow, this is kinda getting off topic as its not even closely related to arduino. While I don't mind where this will be discussed, mods might not agree :slight_smile:

I was thinking today about what it would take to build an Arduino shield out of the HayTag iOS adapter design. The width of that board is similar to the width of a standard Arduino board, so it could be a shield or a half-shield. It has an integrated antenna that's pretty badass, so range would be good. Once the HayTag Adapter design goes to R1, I bet I could successfully crowd-fund the shield based on it, thanks to the size of the Arduino community. Thinking about a simple network configuration that might appeal to this community, I sketched out a design. The avg supply current to the gateway/router node should be about 800uA and the endpoint nodes about 60uA. Range, I'll guess 1km. High power for DASH7, but probably much lower than any RF that has ever been attached to an Arduino :). Anyway, I'll keep everyone posted.

A shield would be very cool, but it would be awesome if it had the breakout bits available too, so that more experienced users could actually use the shield stand-alone! As a protoboard. Two flies in one swat :slight_smile:

A shield would be very cool, but it would be awesome if it had the breakout bits available too, so that more experienced users could actually use the shield stand-alone! As a protoboard. Two flies in one swat :slight_smile:
[/quote]

Of course. I should point out that OpenTag is an RTOS Exokernel that could transparently run a Maple or Arduino Environment, if desired. I mention Maple because it's probably easiest to port STM32F to STM32L, although Arduino Due runs on a CM3 too. Technically, it should be possible to run, kill, or upload new sketches over wireless (or wire) during runtime, but there's still work to do.

I'll excitingly await some prototyping environment to play with dash7!

I dont get it why is important to spread this technology over the world FOR FREE (not propietary, open source stack) if you dont own HW manufacture designed to make only dash7-devices :slight_smile:

Why? Because luckly some people see beyond personal greed and gain.

To me, OSS is about sharing and surviving into the future. Knowledge is power and should be free for all to use.

On a more technical 'current' trend, interoperability. Having an open specification to a protocol is really nice to have, but if you have to join all sorts of alliances (that cost money) to even implement that 'open' standard, it's useless. Dash7 is fully open specification, with OpenTag being an opensource implementation of such. Having an open stack means it is very easy to build devices and integrated devices from different manufactures. How many 'standards' do we have noways that are proprietary but don't interoperate? Would you think the web would be a such a huge success without open standards and without Libre implementations of such? If Dash7 wants to succeed, it needs to be open and easily available.

sunfy:
I dont get it why is important to spread this technology over the world FOR FREE (not propietary, open source stack) if you dont own HW manufacture designed to make only dash7-devices :slight_smile:

Since you are curious: the business model works in the long term through partnerships in high volume enterprise and industrial applications, and in the short term through integration services. If you need to deploy a product in reasonable volumes, you will need to do regulatory, buy a manufacturer ID, arrange terms with the chip supplier, and do stuff like that -- partnership stuff that is the same with any standard for anything. If you are just doing hobby work or product pilots, then you don't need to worry about that stuff, so neither will we. It isn't even about lack-of-greed, I still want to make some money, but I realize I can do just as well with a small company in an open ecosystem as I can with a big company in a closed system.

jpnorair:
4. What HW is available?
There are some kits in development now, which have convenient hardware interfaces. Most use the TI CC430 as either the development target itself, or the CC430 as a network processor. Here is the kit I'm building. There are others, too, but I don't want to speak for the developers until they announce publicly themselves. If someone is interested, we can talk about making an Arduino shield. It should be really easy.

This looks like a very cool project/product/technology! I have a few basic questions, sorry they are so low level...

I had a look at the web page linked above and read this entire thread. Still, its not clear to me what's on that nice looking PCB. Is a CC430 a single SoC with both a micro-controller and a radio? If so, is it your openTag firmware implementing the DASH7 protocol that runs on the MCU, with the intention of being coupled to another uC than handles product specific functions?

Or can user specific code be placed on the CC430?

I saw the board has UART, I2C and SPI. Is this for talking to the external uC?

Will we need to write code for the CC430 and, if so, what development tools are needed for that (compiler and hardware programmer)?

Finally, is it possible to find a radio with higher transmit power to increase the range? I saw in this thread you were talking about 8dbm in comparison to the XBee pro, which claims a line of site range of about 6 miles I think? I realize the XBee uses much higher frequency, but why is the range of this only 0.62 miles? I assume the comparison is made with comparable bit rate. Is it an antenna issue or is this just not a valid comparison?

Thanks!

skyjumper:
I had a look at the web page linked above and read this entire thread. Still, its not clear to me what's on that nice looking PCB.

If you are talking about HayTag, the three chips are: RF (SPIRIT1), MCU (STM32L), Energy Harvesting IC. If you are talking about the USB stick, it uses MSP430F5503 and CC1101. It uses the 5503 in order to utilize the USB features of that chip. CC430 would be fine, too, but there would need to be a USB bridge. I prefer having more control over the USB.

Can user specific code be placed on the CC430?

Yes, although CC430 is not used on HayTag or the USB stick. OpenTag runs well on any MSP430F5 core, and CC430 is in that family. The STM32L port is underway. There is a somewhat out-of-date STM32F port, too. The STM32L port will have better ability to run Arduino [Due] or Maple environments for user code. C code or assembly projects can work on any of the platforms. Additionally, once the STM32L port is complete, it should be very easy to port that to Due HW.

I saw the board has UART, I2C and SPI. Is this for talking to the external uC?

For talking to whatever you want. All boards with OpenTag have an internal MCU that runs the stack and can run user code, too, if you want.

Will we need to write code for the CC430 and, if so, what development tools are needed for that (compiler and hardware programmer)?

You won't need anything unusual. You can find all the answers easily on the net.

Finally, is it possible to find a radio with higher transmit power to increase the range? I saw in this thread you were talking about 8dbm in comparison to the XBee pro, which claims a line of site range of about 6 miles I think? I realize the XBee uses much higher frequency, but why is the range of this only 0.62 miles? I assume the comparison is made with comparable bit rate. Is it an antenna issue or is this just not a valid comparison?

XBee Pro uses a lot of power in both TX and RX. Higher frequencies have less range by nature, so they require large amplification and thus require a ton of power. I don't know what power level achieves 10km line-of-sight range with DASH7, but it's much less. For HayTag get 1km in USA, non-line-of-sight, the test power is -2.4dBm (0.6mW). XBee pro is using 100mW. Big difference. In EU it's allowed to transmit with 10mW in 433MHz band, in China 5mW, in Australia 25mW... so USA is the lowest range, although I hear the FCC is changing unlicensed 433 to allow more power. The rumor is 2mW with some requirements for listen-before-talk (no problem for OpenTag).

OK, I've finished designing an Arduino-compatible DASH7 board. I'm sending it off to the fab. Let me know if you are interested, because that way I can better estimate quantities.

Bascially, it fits onto the end of a Uno or Due Arduino. Communication is via UART or I2C at up to 1Mbps. Of course, USB-CDC is also included, so that's an option if you are communicating with a USB host (such as a PC). I spent a lot of time designing the input to allow for a lot of I/O options, so there is a 30-pin card connector that exposes everything, an extra through-hole SWD connector for programming even if you have the card connector loaded, and the standard half-shield Arduino connections.

Power is a regulated 2.8V (3-5.5V input), or you can attach a 2xAlkaline pack directly to the Vdd. The electronics can go down to 2V, so subtract 0.2V for the Schottky, and you can take the alkaline cells down to 2.2V. This is almost all the way to the bottom of their discharge curve. I chose 2.8V because it allows a Li-Ion cell to get discharged almost all the way to its bottom, and it is high enough to work with 3.3V IO. This board will not instantly work with 5V IO. It is 5V tolerant, but your 5V Arduino will not be able to detect the 2.8V signals unless you install/configure pull-up resistors. There seem to be plenty of tutorials on converting Arduino to 3.3V, or alternatively there are plenty of 3.3V Arduino models to buy.

The MCU is a 48pin STM32L15x. These come in many sizes, from 32/10 to 384/32. If anyone is interested in helping me port libmaple to STM32L (it shouldn't be too hard), then this could be a Wiring/Arduino platform in its own right. Right now, you will need to know C to write an application that runs on the STM32L.

I have interest, in the arduino shield, or this board, or even the schematic project. About the programmable work that you will have, I hope contribute with, so keep contact when you want.

OK, the first boards are in. Check it out!