Hacker News new | comments | show | ask | jobs | submit login

Can anyone recommend hardware for trying this out? I'm tempted to get a Redwire Econotag II....

When I was looking to experiment with Contiki I realized that most of the supported micro controllers are a lot more powerful than an Arduino or something comparable, and a lot more expensive for a development board.

There are some ports to low cost hardware - the arduino port for atmel chips [1] and a port to the TI launchpad [2], which is a $3 chip.

https://github.com/contiki/contiki-arduino https://github.com/msloth/contiki-launchpad

If you are comfortable with it, I think assembling your own openmotes[1] is the cheapest option. The actual parts on there are relatively cheap and hand solderable if you are okay with CFN components. In addition, there are other cheap and relatively easy options available in the community if you are feeling more adventurous. [2]

[1] http://www.openmote.com/openmote-cc2538/ [2] https://github.com/dmarion/cc2538-dev

Arduino is pretty workable. Add shields, off you go .. See this: https://www.youtube.com/watch?v=OSTGMvvjDHE

I don't quite understand how helpful an OS like this is in the kind of programs you write for the Arduino (say a single loop or timer acquiring temperature and publishing via radio).

And if you're using something bigger, like a Raspberry Pi, you would use Linux anyway.

(But people are using it, so it must be useful. I just don't imagine the kind of applications...)

Microcontrollers are very useful if you have very tight power constraints because they have much less complexity than application processors and thus require much less power. For instance, the CC2538 uses ~1uA when sleeping whereas the best I have seen quoted for a Raspberry Pi (using a SleepyPi module), is ~500uA. [1]

This sort of OS is very useful in situations like wireless mesh networks where the code is more complex than would be suitable for a super-loop architecture, but the system is too resource-constrained to run something like Linux because it is trying to hit power requirements.

[1] http://spellfoundry.com/sleepy-pi/sleepy-pi-faq/#What_Is_The...

you get multi threading, which is helpful for reading sensors and listening to the radio at the same time, or prioritzing urgent tasks.

the hardware abstractions look like they allow you to reuse application code with different hardware drivers too, which is nice.

Not very many people are using it, making it extremely expensive to develop for. Or extremely limited hardware, or extreme labor costs. As you specify its hard economically to specify contiki rather than RasPi or Arduino.

It mostly fits for people needing exotic mesh networking and not much else. "Much else" would imply just running it on a Pi.

If you want to play with the hardware you have to bite the bullet and get used to device costs being 2 to 10 times the cost of microcontroller or Pi unit costs. Contiki hardware is extremely expensive.

If you want to play with the software run emulators / simulators with contiki on desktop hardware, this cost is basically free (other than 100 watts per desktop etc).

If you want to play with mesh networks the best bet is something like WRT54GL with ham radio mesh software on it aka HSMM for $50 per node (at least its $50 Amazon Prime delivered, maybe more or less for you)

> the kind of programs you write for the Arduino

There's the rub. I've seen Arduino's be turned into real development environments, with a keyboard and mini-display, and onboard editor for Assembly, to boot! So I don't think the Arduino is 'mini' in any way; maybe the demo's of Arduino you've seen are one thing, but actually the Arduino is a kick-ass machine. Some people treat them like an Atari. :)

If you are in the US, I'd say that's one of the best bets. Although it's a little expensive I think it's one of the best supported platforms.

The Econotag II is $65 - http://www.redwirellc.com/collections/frontpage/products/eco... - do you need their router to do anything useful with this?

if you want to be able to get your data out into the web then the answer is: yes

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact