Feed on
Posts
Comments

Just a quick post to let you all know that the Standalone Temperature Logger has now been updated to v1.1. This update is for the re-design of the PCB board, it’s now been adjusted so that there are components close to the battery solder joints thus making it easier to solder the battery.

Visit the Standalone Temperature Logger project page to view/download the update.

Read Full Post »

Welcome to Part 9, we have our schematic from Part 7 as below now it’s just time to design and build our PCB. Not a whole lot of content for this post, mostly just pictures.

First thing I did was position the ATtiny85 near the center of the board and position the resistors as close to each other as possible. After that it was just a matter of finding where everything else fit. To make the board as small as possible I decided that I would mount the battery on the back of the board.

(more…)

Read Full Post »

Learn how to use the Pin Change Interrupt on the ATtiny85 to wake up the microcontroller from sleep. Using the Pin Change Interrupt you can use any of the ATtiny’s 6 pins however remember that all 6 will trigger the same interrupt vector PCINT0.

Download the sketch: insideGadgets_pin_change_v1

Read Full Post »

LED Matrix Adapter

I’ve just made a very simple LED Matrix Adapter for the 60mm LED Matrix so that you don’t need to use the breadboard any more.  The PCB is just a few wires with headers, really nothing special.

Read Full Post »

Welcome to Part 8, before we get starting with making the PCB I thought I’d review my code/hardware plus add some more functionality to our project.

We don’t need a Watchdog f_wdt variable

On review of my code and the example watchdog code I used, I found that the watchdog f_wdt variable wasn’t adding any value to our code. I came to this conclusion because when you run the system_sleep() function and it reaches sleep_mode(); it sleeps there. When the Watchdog timer wakes it up, it heads to the watchdog vector (ISR(WDT_vect)) and now since it’s awake again it continues to run next bit of code.

// This will work because we are initialising the watchdog vector and
// once the watchdog times out, it will wake up, go here,
// do nothing and continue our code
ISR(WDT_vect) {
}

Now I’ve give you an example of where we might need the f_wdt variable.

(more…)

Read Full Post »

Welcome back! In this part we’ll explore how we can reduce our power consumption which will allow us to move from 2 AA batteries to a 3V coin cell.

When the whole circuit is operating in logging data mode and at 2.68 volts, it’s taking up 1.06mA. First off this 1mA is much lower than our assumed 2-3mA because we are running at 3V instead of 5V, less voltage means less power consumption. Using the Battery Life Calculator with a 240mAh battery it gives us a estimated battery life of 8 days. Lets see how low we can get our power consumption to!

(more…)

Read Full Post »

Welcome to Part 6, it’s been a long project so far and we are coming close to the end. In this part we’ll explain how and why we need to change our circuit and code from 5V to run at least at 1.8V.

The reason being because of communication between the Arduino and ATtiny, if you were to run the ATtiny at 1.8V and hook up the Arduino to it, the ATtiny Digital or Analog input can only go to a maximum of 1.8V. So you’re feeding 5V from the Arduino to the ATtiny at 1.8V, you’ll overload the inputs and are highly likely to damage the chip.

How can we connect both microcontrollers together if they operate at different voltages?

Option 1: If you recall from Part 4 we learned about voltage dividers, we can use this technique to divide the voltage in such a way that the Arduino’s 5V output can be divided to lower voltage. We can use a 39K resistor along with our already 10K resistor

(more…)

Read Full Post »

Ever wanted to know how to reduce the power consumption of your Atmel microcontroller when it’s not doing anything? The 2 videos below will step you though how you can reduce the power consumption of your Atmel microcontroller (in this case the ATtiny85) by using the power down sleep mode with the Watchdog timer.

The beauty of the watchdog timer is it allows us to not require an external interrupt to wake up the microcontroller, instead it wakes up after a certain amount of time by itself.

Link to the modified example for ATtiny85: ATtiny85_watchdog_example
Power consumption calculator: http://oregonembedded.com/batterycalc.htm
ATmega168 Sleep Watchdog website: http://interface.khm.de/index.php/lab/experiments/sleep_watchdog_battery/

Read Full Post »

Welcome to Part 5, in this part we’ll talk about enabling brown out detection to our Standalone Temperature Logger as a safety mechanism. The information below about brown out detection is also available as a video explanation, I recommend viewing the video whilst reading below.

Before we do anything let’s take a look at the ATtiny85’s datasheet, we want to check what voltage range works on.

(more…)

Read Full Post »

Welcome back to Part 4, we now get to see some results of our work :). The video below shows the ATtiny85 running at 5 volts with our standalone temperature logger software and retrieving the data from the ATtiny’s EEPROM and printing it on our computer screen.

Why did I mention “ATtiny85 running at 5 volts”? It’s because we aren’t quite done yet with this project, the next step which is Part 5 is to adjust our code and schematic to run the ATtiny85 on 2 AA batteries. Then after that we need to make a PCB of it!

Download the Temperature_Logger_ATtiny_v1 for ATtiny85 and the Temperature_Logger_Arduino_Reader_v1 for Arduino.

(more…)

Read Full Post »

« Newer Posts - Older Posts »