Meteorological Environment Sensor Array
Exploring the intricacies and delights of electronic, microprocessors and embedded software lead a man down many paths. They all have one thing in common, though; that there is an underlying need to discover, create and invent. Think lego for grown ups; well grown up children I guess.
My own desire to explore what can be achieved has me always looking for projects to complete. Nothing is too ridiculous or pointless. Thankfully, though, there is the occasional inspiration to create something functional and useful. For me, at the moment, this is the Arduino powered weather station.
Any project needs to have challenges to be interesting and rewarding. I always look for the chance to learn something new, find new problems to solve, or new technologies to discover. The Weather Station presents it's own set of challenges which, combined, present a lovely challenge, and promise to require a number of iterations of the solution, improving with time. There are several key goals for this particular project:
- The sensor array must be autonomous, operating remotely from the analysis software.
- The sensor array must be energy efficient and self-reliant.
- The solution should use IoT technology, to provide proof of concept
- The project should be environmentally friendly, using as much recycled material as possible, particular with build of the housing
- The embedded software must work efficiently and fit easily within the memory of the Nano's Atmega 328p microprocessor
- The first iteration of the solution should be as cost effective as possible, choosing proof of concept over sensor sensitivity
Genuino Or Fakeduino
There'd be little point in me extolling the virtues of the Atmega 328P processor vs any other microprocessors on the market, simply because I don't have enough experience of other processors to form an informed opinion. What I will say is that I have been playing with Arduino, and Arduino style hobby development boards and found them to do a great job whilst providing enough interest and challenge to keep a grown up child, like myself happy. To draw an analogy, it's like Lego or Meccano, just with more voltage.
Arduino creates great boards, but you can get clones a fair bit cheaper online, though you do run the risk of failed boards. I managed to get 5 Arduino Nano clones for just over £5.00, although one did fail pretty quickly. If you want reliability, get Arduino/Genuino boards. Otherwise, clones make up for the chances of you frying one, which for me is an occupational hazard
A real alternative in this particular project is to take ruthless advantage of the open-source nature of Arduino. Anyone can build an Arduino clone, and load a bootloader to it, all within legal rights and without offending anyone. This open source nature of the Arduino project offers a great opportunity to play around with the circuitry and come up with something that suits one's particular needs.
Great Things Come In Small Packages
The form-factor of the Nano board makes it an ideal choice for building an unobtrusive unit to sit outside. Even with the small form factor, there are a lot of functional pins to send/receive data to/from sensors and other modules. The pins, which in this particular purchase I had to solder on myself, are aligned to fit into a breadboard or pcb stripboard making prototyping easy, and soldering less of a chore.
The Atmega 328P chip at the heart of the board is a 32-bit processor (pretty nippy for a little fella like this). The chip has space for programming, and, with all the available pins, there is a lot of opportunity for inputs, outputs, and expansion. Whilst the board will run off 5V from a USB connection, my goal is to run the Weather Station from a rechargeable battery pack hooked into a solar panel recharging circuit.
The general plan is to keep the processing board, and it's related components on a separate PCB to the sensor modules and power feeds. Using simple component sockets will allow for interchangeable modules, making replacement easy. A weather station by definition must have a certain amount of exposure to the elements, so interchangeable parts seems to be a logical step in the right direction.
I can keep the wattage consumption down by disabling the onboard LEDs (by slicing through the copper traces) and using the Atmega's sleep mode (via the Jeet library). More details will follow on this can be read in future posts on coding and embedded software.
Getting the nano to work at 3.3v would be ideal but, research has shown, this will only be a practical solution by building my own Arduino board and skipping or swapping out a number of components, such as the 7805 voltage regulator and various LEDs. It's certainly a viable option to link other non-sensing modules onto the same circuit board. This project, whilst inspired by Arduino, and using most of the architecture of Arduino circuit, would principally become an Atmega AVR chip project. Opportunities such as this are one of the delights of progressive development (Agile style) and offer new avenues of discovery and exploration.
Embracing the Energy
One of my favourite aspects of this project is the chance to explore renewable energy, such as the conventional solar and wind energy (both in ample supply in Cornwall) and looking at other possible, more zany and creative options. Renewable energy is the best way of making the sensor unit autonomous, along with battery charging circuitry. This is my first dip of the toe into the renewable/rechargeable tech world, and I have to say that so far my experiments with solar energy have been very enlightening and rewarding. Getting the circuit to work at lower voltage and amps is key to making the whole sensor unit viable, which leads on to using clever libraries in the embedded software to manage the microprocessor's circuit energy usage. Hunting down reliable sources of information on circuitry and programming for this part of the solution is an eye-opener, but part of the real challenge will be deciding whether the main sensor array processor should carry out this work, or if a separate processor should manage the energy circuits.beat
Internet Of Things
One of the aspects of this solution I am most excited about is getting the sensor data pushed out the various services on the internet, including a stream for consumption on this website. It's no good talking about it unless I can show it all in action. Currently, I am looking at the Temboo service as a first step into the IoT arena.