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.
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.
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.
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.
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.
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!
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
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.
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.
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!
AdvanceVGA – Play your GBA on the big screen! Swap out the LCD for our board, solder some wires, connect 5V USB and VGA and you’re ready to go.
GBxCart RW allows you to backup GB/GBC/GBA ROMs, save or restore game saves and re-write supported flash carts. Mini RW option available for GB/GBC only.
Wireless Gameboy Controller – Use your Gameboy, mGB, GBC, GBA, GBA SP, GB Micro, NDS and NDS Lite as a wireless controller on Windows, Linux, Raspberry Pi, etc, and on your NES, SNES, N64, Gamecube and Wii.