ATtiny supported?



  • I would like to use small 8pin AVRs for nodes with only one sensor (like temp).
    Is ATtinys supported?

    I'm sorry if this is a dumb question, I'm new to the Arduino and AVR world.


  • Admin


  • Mod

    @Rasmus-Eneman IMHO there's nothing in the library that would prevent it from running on an ATTiny, but you might (will?) probably have troubles fitting everything in the available flash/ram.
    Connecting the nRF24 radio might also be troublesome as the ATTiny really has too little pins. I saw an article where somebody combined CE/CSN pins but this required some external components and modifications to the nRF24 library.
    ATTiny is also not supported by Arduino and can only be added by using third party software.
    I doubt if all is worth the trouble really...


  • Mod

    @hek Ah, just beat me πŸ‘Š


  • Admin

    @Yveaux

    Yiha!



  • I actually saw some Arduino projects on ATtiny, however I didn't thought of the IO problem.
    Guess I will have to kill that idea.

    Thanks both of you for the fast response πŸ™‚


  • Hero Member

    @Rasmus-Eneman

    You can find a lot of guides on the web about using the Arduino environment for the ATTiny series.

    The TMRH2o nRF library is supposed to support ATTiny, but may not have been tested.

    You already know that pins are going to be very tight, but if you have a one-pin sensor which doesn't need much code...

    It might be possible to fit the sensor code (for some sensors) and the MySensors libraries, but if so it would be tight.

    One tip: avoid any floating point code (some node sketches use it and some do not).

    I'd actually love to see somebody make a MySensors node on an ATTiny.


  • Mod

    I have looked into this too but decided against it.
    Mainly for 2 reasons:

    1. A board stacked onto your own pcb would make that you can keep the width and length of your pcb small. Imho adding your own microcontroller etc. to your own pcb would make it larger. Unless I am mistaken.
    2. When going that route why not use the ATmega328? Price can't be the reason not to use it or is it?


  • I found such board with ATtiny84 and NRF24L01.
    http://nettigo.pl/products/bezprzewodowy-sensor-tinybrd
    I am trying to find out from the producers if mysensors library will also work on it.
    What do you think? Hardware site is already done. Will it be possible to run sketches with mysensors on it?
    Regards


  • Mod

    I am still interested in the answer to the question 'why would you want to use an ATtiny?'....



  • @marceltrapman

    They're so very ... minimalistic πŸ˜‰

    Christoph



  • @marceltrapman
    Because in case of door/window sensor it is better looking, when you have sth small sticked to the frame πŸ™‚



  • Actually i tried to port the mysensors lib to the attiny, a few months ago..
    https://github.com/Oitzu/Arduino
    I had to remove much of the auto-id, repeater and gw stuff to fit it into the memory of the attiny.
    But it the end it didn't run stable enough. This can maybe be fixed but i didn't investigated further.


  • Hero Member

    @marceltrapman said:

    I am still interested in the answer to the question 'why would you want to use an ATtiny?'....

    For example, an ATTiny85 is

    • cheaper (just $1),
    • it's smaller,
    • it uses less power (about 1/4 as much),
    • it's programmable using the arduino IDE,
    • it also sports a differential ADC (for higher accuracy) that the atmeg328p simply doesn't have,
    • doesn't require external support components
    • wouldn't require a breakout board

    For the last point, consider this type of possibility:
    jee.jpg
    http://jeelabs.org/book/1501a/

    Is that enough of an answer? If necessary software can be crammed in there, it's a clear win.

    Some of the attiny's support SPI natively. For those that don't (such as the ATTiny85), I've read there's a softSPI library for it


  • Hero Member

    @NeverDie I would like to add my support for your worthy quest. Some time ago I was looking for a way to make MySensors RFID like tags for presence detection but the result was just too big as well as too energy consuming.



  • @NeverDie @Moshe-Livne the underlying rf24 library supports the use of the attiny85.
    As mentioned above, the modified (shrinked) mysensors library runs on the attiny85 but is a little bit unstable.
    There could be multiple reasons for this... i stopped the development of the attiny85 port because of low interest and time for other projects.

    @Sweebee : Do you still have the sketches and layouts for the attiny85 mysensors node?


  • Hero Member

    @Oitzu said:

    @NeverDie @Moshe-Livne the underlying rf24 library supports the use of the attiny85.
    As mentioned above, the modified (shrinked) mysensors library runs on the attiny85 but is a little bit unstable.
    There could be multiple reasons for this... i stopped the development of the attiny85 port because of low interest and time for other projects.

    Which fork or version of RF24 did you try? Perhaps we can pick up where you left off.. I've read that TMRh2O is both supported and has fixes to bugs in prior versions. Is there presently anything better? However, if it turns out that's unstable too, then maybe just poking registers on the NRF24L01+ is enough for something barebones but stable. Anybody know? A softSPI library would still be needed though. Any suggestions on which of those would be a good choice for the Attiny85?

    I recently received a tiny AVR programmer:
    tinyAVR.jpg
    http://sfe.io/p11801
    purely for convenience, but I haven't tried it out yet. There's also a youtube video (https://www.youtube.com/watch?v=30rPt802n1k) which shows another way how to do it using a spare arduino as the programmer.




  • Hero Member

    @Sweebee said:

    @Oitzu https://github.com/sweebee/Arduino-home-automation/tree/master/2.4Ghz (MySensors)/Attiny/button-switch

    I gave it a quick read, and noticed that it appears to be using maniacbug's RF24 library. Six months ago Maniacbug posted the following here:

    My fork has been abandoned.TMRH20 now has the premier fork - by far. You'll find considerably improved reliability and performance over both my fork and the original code base. Plus he has made an effort to keep RF24Network working well. Don't walk, but run from the orginal code base and immediately starting using TMR's fork.

    http://tmrh20.github.io/RF24/

    Unfortunately, he posted this seemingly vital news in a comment buried way down the page instead of at the top, which is where it belongs. I wouldn't be surprised if most people are unaware of it.

    Would it be much effort to migrate to the new library? It sounds like that alone might solve the stability problem.



  • @NeverDie i used a spare arduino nano as programmer for the attiny85. This works great.
    As you maybe have seen i'm using a fork of the mysensors library of the end of may 2015.
    I don't really can identify, at this moment, with which version of rf24 the mysensors library comes by...
    but because the last update of this lib seems to be 9 months ago i should give it a try to update it.

    My suggested way to go would be: To merge the changes in the mysensors library from may 2015 to now into the fork (to be up-to-date with mysensors again) and then try to replace the rf24 library with a newer version.

    Did we have anyone here able to test the libs? At the moment i have no spare attiny & nrf laying arround, i'm waiting for a new delivery.

    About SPI: The rf24 lib includes a softSPI lib for communication.The lib even supports different ways to connect the nrf24 with the attiny.
    See: http://tmrh20.github.io/RF24/rf24ping85_8ino-example.html

    I never tried the 3 connect. I simply connected CE with VCC to get one pin for testing free.


  • Hero Member

    @Oitzu said:

    About SPI: The rf24 lib includes a softSPI lib for communication.The lib even supports different ways to connect the nrf24 with the attiny.
    See: http://tmrh20.github.io/RF24/rf24ping85_8ino-example.html

    This is good news. It means the radio portion can be tested independently of the mysensors portion. If it turns out the radio portion tests out fine running standalone, then that would be good to know, as it might help isolate the source of instability to somewhere in the mysensors code. Or, visa versa.

    Using genuine Nordic Semiconductor parts for at least the initial radio testing would be ideal. I'm suggesting that so as to rule out possible clone-related problems. In about a week I should to receive a couple allegedly genuine Nordic Semiconductor NRF24L01+'s from an Itead distributor. Once I receive them, I can try running some standalone ATTiny85 wireless tests, starting with running the example code you referenced above from the TMRh2O library.

    As I'm a brand new arrival, I don't yet know anything about the mysensors code, and I have no experience by which to judge what's normal or atypical mysensors program behavior. So, in the near-term, I expect others would be in a better position to help with that part of the coding/testing/debugging/troubleshooting..


  • Hero Member

    I'm getting a little confused. Not enough sleep I guess. πŸ˜ͺ Given what hek stated this morning in this link here, does that mean the current version of mysensors already supports the attiny85? Or does it need to be slimmed down to fit, which is what I gather (perhaps incorrectly) Oitzu and others were/are planning to do? Or is the required work something else entirely? If the TMRh20 library is already integrated, as hek stated in that link, and it contains the SoftSPI needed for the attiny85 to interface with an NRF24L01+, what other work, if any, remains to be done? Again, sorry for the Noob question.

    By the way,I made a typo in some of my posts. It should be TMRh20 (twenty), not TMRh2O (water). That's why my search of the forum hadn't turned up any reference to it, which is why I thought it might be new news rather than old news, as it apparently is. Sorry for that.



  • @NeverDie to clear things up to you: Yes the underlying rf24 is fully compatible with the attiny85.
    The full-blown mySensors library is to big to fit on the attiny and has some compatibly issues.
    In April 2015 i forked the mysensors library and cut it down to fit on the attiny.
    It worked, but not reliable. The reason why it didn't worked correctly is at this moment not known, and i didn't investigated further.

    What need to be done: We need to merge the current mysensors library into the attiny fork, then we should merge the current rf24 lib into the attiny fork, after that... testing.


  • Hero Member

    Thanks for the clarification. Perhaps not enough free memory. I've run into that causing instability on the UNO.

    Anyhow, after I receive the Nordic modules I'll probably run some ping-pong tests to measure packet loss with just the Attiny85 and the NRF24L01+ using the TMRh20 library. It won't be all that rigorous but If I notice instability, I'll let you know.



  • Just wondering that is it possible to make these sensors (Door) from ATtiny with nrf24l01+ and just pass the communication to arduino which is linked to mysensors networks? This way you donΒ΄t have to put mysensors code to little ATtiny.

    Just need somebody to figure out communication between arduino and Attiny network....


  • Hero Member

    If the attiny85 turns out to be too tiny to be stable, maybe the LPC810 is worth trying? It has double the RAM and can sleep using less than 1uA of current. Adafruit has a starter kit as well as a tutorial on how to use it:
    https://www.adafruit.com/products/1336


  • Hero Member

    @NeverDie very cool chip but a bit dear.... even on aliexpress (assuming it is not a counterfeit - Oh no! here we go again!)


  • Hero Member

    @Moshe-Livne said:

    @NeverDie very cool chip but a bit dear.... even on aliexpress

    Really? Quantity 1 price is $3.28 on Digikey for a chip that's practically standalone. Shockingly enough, the LPC824 is only $1.92 on Digikey, even though it looks like a far more capable chip: http://www.digikey.com/product-search/en?v=568&mpart=LPC824M201JHI33E
    How can that be?


  • Hero Member

    @NeverDie I have no idea!!!! maybe digikey are selling counterfeits? hihihi
    that is not a bad price.



  • I think Attiny85, especially in the form of the Adafruit Trinket/Flora 3.3v version would be a perfect match for MySensors! Especially now that the Arduino Boards Manager makes third party boards much easier to work with. How is the Attiny MYS fork coming along?



  • I've seen a few posts about the ATtiny and it seems that perhaps someone has gotten it to work (http://forum.mysensors.org/topic/2129/battery-attiny85-door-window-wireless-sensor) though I'm not certain.

    I'd really like to use these cheap chips for motion sensors and relay controllers for some sirens. Can anyone confirm or deny that these actually work?



  • I have some attiny85 coming in. I will have a crack at with single pin sensor. Planning on testing with different clock speeds for stability. I will post any luck I have.

    R



  • @rustafarii Any luck?



  • @Shivanand-Chanderbally
    Not yet life got in my way and had to take a few months off. but i did get the tiny little boogers in.

    My plan, as it looks like everyone else's, is to try getting attiny working with the radio without my sensors for basic communication, ping/pong, then add a sensor and see how much code to get readings from the sensor. if that goes well then it comes down to stripping what is not needed if any from the my sensor part sketch.

    have you any progress?



  • @rustafarii Seems we have the same goal! I myself have been trying to get them working but the overhead is just too much to fit on such a tiny chip..



  • Any progress? I like to build simple low-power temperature sensor based on attiny85 but cannot compile mysensors sketch if attiny85 set as a processor 😞



  • @tlustoch said:

    Any progress? I like to build simple low-power temperature sensor based on attiny85 but cannot compile mysensors sketch if attiny85 set as a processor 😞

    I've switched over to the ESP8266 runing ESPEasy firmware. Very cheap and very easy to use.



  • It seems that it is possible: https://www.hackster.io/arjun/nrf24l01-with-attiny85-3-pins-74a1f2 but mysensors library has to support it?


  • Mod

    attiny85 seems to have 8kB flash. I don't think you'll be able to fit a MySensors sketch in so little space. Most sketches require 12k or more.


  • Hardware Contributor

    @mfalkvidd said:

    attiny85 seems to have 8kB flash. I don't think you'll be able to fit a MySensors sketch in so little space. Most sketches require 12k or more.

    It would fit without a bootloader for very simple sketches only. RelayActuator example sketch without debug (and commented out debug lines) is 7Β 782 bytes.
    But I'm not sure it would run with 512bytes or ram and eeprom...



  • @Nca78
    DimmableLight example with disabled serial console is 5,742 bytes, RelayActuator 5,464 bytes.



  • Does anyone have a working mysensors attiny node?


 

337
Online

7.9k
Users

8.7k
Topics

93.6k
Posts