ATtiny85 + RFM95 Temperature Sensor

Sure … but It’s still nice to see a experimenal Lora version of the outdated Tiny TX concept from Nathan Chantrell…

I had succesfull working on this code to be used as class c, but the code i worked on was for an Arduino Pro Mini, now its time to port it to the Tinny if annyone needs somenthing like that for an arduino uno or pro mini i left the link to the gist.

I’m Working on the message decryption part right now but at least right now im receiving

Hope it be usefull!

I will keep working in this code, and create a repository but by now this is what i have :smiley:

2 Likes

It seems that you have a pin shortage on the ATtiny if you need DIO5 and you read from the RFM module.
SPI 4x (MISO,MOSI,SCK,SS) VCC, GND, DOI0,DIO5 that’s it nothing left for temp sensing.

1 Like

Yeah, i did it for an arduino mini pro, i needed to do a Class c node, now i will port it to an ATtinny.

After my earlier sketch of the ATtiny85 I packed everything in an easy-to-use Arduino library.
I made a step-by-step tutorial on the TTN Labs site, explaining everything from the installation up to the wiring.
I replaced the thermistor with a smarter sensor with SPI capabilities.
The Bosch BME280 can measure temperature, humidity and pressure.

4 Likes

Thanks for sharing.

My two cents: As you are not using hardware interrupt for DIO0, you can replace your digitalRead() by a read of RFM95 register 0x12 (RegIrqFlags) bit 3 (TxDone).

This can free one pin on your ATTiny.

1 Like

Sorry, should read more first. Got too excited by the concept. Great work!!


US $1.35 incl. shipping

I tried this one, thinking I could use it instead of the Arduino setup (since it says “Programmer Board”), but I needed to upload a bootloader to the ATTINY85 first.
I ended up using the Arduino setup to first load the bootloader (and then also the program since that was just as easy).

@jym This is a good idea that saves the effort for changing the Reset pin.

OK I thought to that you could use it to upload a bootloader :sunglasses:

Yeah, it is different for the ones with the ATtiny85 integrated into the board:

https://nl.aliexpress.com/item/Free-shipping-Digispark-kickstarter-miniature-for-Arduino-usb-development-board-with-pins-and-Anti-static-bag/32222311445.html

Those already have the bootloader installed and can be used straight away by just plugging them into USB (and install all the needed stuff in the Arduino IDE of course)>
In price they only add 20 cents to the chip, but they expect 5V instead of 3V.

there is an other one with an ATMEL167 (slightly bigger memory).
Not testet, just ordered :wink:

https://www.thethingsnetwork.org/forum/uploads/default/original/2X/6/63387c838cf8d2e873a4295a32c39a59f98e2659.jpg

theoretically this is a complete LoRaWAN temp/motion detector node :sunglasses:

*picture updated with smaller capacitor :wink:

1 Like

why such a big capacitor? buffering the current needed while sending?
does it not constantly discharge the battery?

ohhh… he forgot to RTFx :unamused:

TinyLoRa-BME280 v1.1
I made some improvements based on the feedback from @jym with regard to the hardware interrupt from DIO0 pin.
In v1.1 only PB3 and PB4 from the ATtiny are needed, no hassle with fuse bits changing the reset pin PB5.
I also had some problems with the current of the BME280 drawing 0.6mA in sleep mode.
Now I disable the SPI interface and set the SCK and DO pin as Input and Low before the ATtiny goes in power down mode.
This gives me the promised 0.1uA of the BME280 as written in the data sheet.
The sleep current of the RFM module is 0.5uA.
Most of the power consumes the ATtiny 3,5uA @ 2,8 volt in power down mode so there is still space for improvement.
Will be continued… it’s a race to the bottom. :smile:

DSC_1407

8 Likes

Inspired by this forum, I made a node with ATtiny84 + RFM95W and BME280. I managed to get the current down to 4.8uA in sleep/power down mode. Remember to remove some pull up/pull down resistors on the BME280 bord. Due to the two modes (I2C and SPI) they are on that board. Perhaps you don’t need them all. On my board it used 3.3v/10k = 330uA before I removed one of the SMD resistors.
IMG_2221

10 Likes

Great!

attiny85 is cute but I think 84 is much more interesting due to extra pins and cheaper price.

any more details on your implementation ? chance to share code / hw design?

1 Like

Extra pins is indeed the reason I choose this microprocessor and my experience with it of course. I will share my implementation and detail in a Blog I’m starting. I will announce the site here in a few weeks.

2 Likes