Skip navigation

Arduino

8 Posts authored by: Christopher Stanton element14 Team

Bernie, a crested gecko

This is Bernie, she lives with me in a vivarium, monitored by an Arduino.

 

You see, Bernie is a Crested Gecko (Crestie), and unlike most lizards that are kept commonly as pets, Crested Geckos need a mixed environment to ensure that they can comfortably survive in their habitat. Most lizards, such as bearded dragons, require sand, a heat lamp, ultraviolet light, and perhaps a small, covered space to hide in to help regulate their temperature.

 

We do not know a great deal about Cresties, and we are still learning about them, such as how long they live, what their habits are and how to care for them properly. Unfortunately this means that there are a lot of people, including pet store owners, who incorrectly care for Cresties. Meaning that they become deformed and poorly treated because of the lack of information and assumptions that they're the same as other lizards.

 

This lack of knowledge is caused by the fact that we thought Cresties were an extinct species, until they was rediscovered in 1994 to still exist on an area of land called New Caledonia.

 

For a period of time, Cresties were exported to America and Europe, where they were bred in captivity and ultimately became pets. Cresties are pretty well established now and their export from New Caledonia was put to an end, but that does not mean you cannot pick up a Crestie as a pet for yourself.

 

Cool! Or, Not?

 

New Caledonia has an interesting climate, being south of the equator and near Australia should give you some idea of the type of tropical environment which Cresties live in naturally. It is a place of high humidity, temperatures up to 29 degrees centigrade, and as low as 16 degrees centigrade, depending on the time of day, the time of year, and whether or not you are in a cool breeze and in the shade.

 

It is this kind of environment which we need to recreate in a vivarium to keep the Crestie happy, so that it is able to clean itself, keep hydrated and to shed its skin when necessary.

 

There are also other considerations to be made for the little virtual environment, such as ventilation / airflow to ensure that on occasion, the vivarium dries out a little to help prevent mould and other unwanted bacteria from growing. It is also sensible to clean out vivariums from time to time, and some people have their setups created as small ecosystems. With insects living in the substrate (usually consisting of a mixture of soil and/or orchid bark) alongside the crickets and soft fruit mix that the Cresties feed upon when the fancy takes them. So if your vivarium is intended to have living plants and animals inside along with the lizard, they too are something to take into consideration.

 

IMG_20170802_212946.jpg

Taking Care of the Little Gal, Manually

Monitoring the habitat and maintaining it properly, for a time,  are all aspects of looking after the little gecko that we acted on manually each and every day as best we could. This was only possible to some extent, due to work we were not sure what was happening with the vivarium during the day. There's also the environment outside of the vivarium, depending on which room it resides greatly affects how warm or cold it gets, how quickly it dries out and how long it takes to do each of these.

 

The vivarium we use is long, stood vertically, since Cresties prefer to climb up and down trees and, as it turns out, burrow into the substrate to lay their eggs (even if they haven't had super fun times). The enclosure is monitored by two temperature sensors, one at the bottom of the tank, and one at the top as it is usually best to maintain a temperature gradient in the tank from cooler at the base to warmer at the top.

 

A hygrometer helps to keep track of the humidity in the tank, with a spray bottle simply used to keep the humidity up when it begins to get too low, too often. Eventually we tired of the bottle and found the funds to buy a misting system, which is basically a 12v water pump and a set of piping.

 

I live in the UK, and it is not always warm here which means some applied heat is necessary. The vivarium came with a light bulb, and we supplemented this with a heat mat and a ceramic bulb pointed at the glass tank. These are all controlled by a thermostat because doing this part manually, is not sensible in any way. Though these heating elements are not connected to the temperature sensors they are used as guides to ensure the settings on the thermostat are correct, it is also time aware because one of the power inputs can be connected to an on/off timer socket which works surprisingly well.

 

This setup has its limits, in the past few years the ambient temperature at summer time has been increasing, at least in the United Kingdom, and we had some difficult moments when the temperature was trying to exceed 29 degrees centigrade. Bernie didn't like this, as she was yawning a lot to try to cool down, and burying herself in the damp substrate. There's also no active ventilation, and another difficulty is finding a way to maintain the humidity properly as a spray bottle can become very insufficient very quickly, especially if it's a cold day and the heating elements are drying up the tank.

 

Introducing: Automation

When I finished University in 2010 I spent a lot of time hanging out with friends whom were studying their undergraduate degree courses in Electronic Engineering. It was here where I was introduced to micro-controllers and that sparked an interest in me to learn more about them and do more with them. My friends were mainly using PIC32s in the labs, or some equivalent, soldering on perfboard/protoboard/veroboard with serial interfaces to the computers. I'm not sure what it was that sparked my interest, I guess it was the idea of control and the sense of being able to monitor your surroundings and react to it, my dissertation supervisor also lamented at the time how they wanted to actually do more with them in light of computer networking. My how the times have changed in only a few years.

 

it wasn't until a couple of years later that I encountered Leeds Hackspace where JonS introduced me to an Arduino Uno and how to do the 'hello world' of programming the device at the time, blinking an LED. From that first example I started to collect together sensors, servos, and focused on getting each individual component working, wondering when I would have a reason to combine them together to create something sensible, and then along came Bernie.

 

Crested Gecko amongst Wires

Bernie likes hairEvery time Bernie is let out of the vivarium she goes for a wander up and around it, and (yes the power is disconnected) she enjoys crawling through the wires up against the ArduinoArduino that I currently have setup for the start of the monitoring and control project, we think that she would probably enjoy some more vines inside the vivarium as she also love to crawl into/up hair as well.

 

So the plan, use an Arduino, or a couple of them, to control fans which would help to ventilate and also cool the vivarium when needed, it would decide when to do so by monitoring the temperature with DS18B20DS18B20s and react to temperatures outside of the desired parameters as appropriate.

 

The next stage of this development would be to also control the misting system. This would be governed by a sensor, which at present is a DHT11, which is attached to the Arduino to detect the humidity level for when it gets too low, I considered misting the vivarium on a timer also, however this was attempted before all of the electronics and the tank was almost flooded (note to self, consider drainage for the vivarium tank). So, a humidity sensor and some intelligence on the actions is better. Since the Arduino can run from 12 volts from the VIN/RAW thanks to its onboard voltage regulator, I can power the fans, the misting system, and use mosfets between the logic input/output pins and the power for the water pump, while also using the 5v sensors. The fans would have to use pulse width modulation (PWM), using typical 120 millimetre fans designed for cooling a computer case works perfectly for this and happens to be the right size for the top of the vivarium, I could even monitor the speed of them as well, and use a potentiometer as a manual over-ride to control the speed if I didn't want to rely on the automatic logic coded into the chip. In fact, here's a handy fritzing:

 

vivarium monitor

The barrel jack on the left is the 12 volt in, while the barrel jack on the top right is to the misting pump/system, as it is purely a water pump in a box, connected up to a wall wart.

 

I was surprised to discover that Fritzing was a pain to use. Especially if you want to use parts that do not already exist in its parts library and forcing you to create new parts. To do so you can't create a new one from scratch, you have to repurpose an existing one and edit it. Trying to create a printed circuit board layout from your breadboard designs is even more annoying, to me at least. Fritzing kept crashing when trying to perform its autorouting and lost the circuit components. Good thing I had a backup.

 

As an extension to this design though, I could also take over the control of the heating elements from the thermostat that's currently in use. I would have to add additional circuitry to make it aware of the time of day and to maintain this without slipping out of synchronisation with real-time, though the current thermostat has been running for so long, reliably, it is a sufficient constant that I can rely on it to maintain heat.

 

What I really should look into though are methods of cooling the tank, especially since the ambient temperature in the UK has managed to hit temperatures of 32 degrees centigrade. I considered using a peltier, and they are an idea although they are horribly inefficient, plus I would likely have to actually cool something like the water reservoir for the misting system rather than the vivarium itself directly.

 

It's also worth noting that these components are not all sat on the breadboard like in the fritzing diagram, in fact, I had to find a way to encapsulate the DHT11 humidity sensor so that I could put it into the vivarium safely. So, enter an amount of overlapped heatshrink and a bit of well enveloped hot glue, and also practicing something I have never done, braiding:

 

IMG_20170808_223341.jpgIMG_20170808_223351.jpgI'm sufficiently pleased with how they turned out, and it's not the type of thing which Bernie will try to eat on, unless it moves in the dark. She'll probably use it to shed against if anything. The DS18B20 is similarly protected (though I bought it like this rather than making it up myself) :

 

 

 

Fritzing aside, the Arduino IDE steps up for programming the device and using the OneWire example as the basis, we have a very rudimentary program that can monitor the temperature input from the DS18B20 and output the PWM signal required to control the fans, here is a snapshot of the code from my github repo:

 

 

There's a lot of rough approximations here, and in fact this is only one version of the code and doesn't really take into account the potentiometer properly, yet. I had a hard time using the Arduino 'map' function to try to get it to control the fans in a rational manner (since they're 0-255 output for speed, and the potentiometer is 0-1023) it wasn't quite working properly (never reaching 100% speed and never going slow enough, input welcome).

 

I also haven't connected up a humidity sensor yet or control for the misting system, this is mainly held back because of my concern for not putting soldered contacts directly into the vivarium, I require a humidity sensor that is properly enclosed for two reasons: 1. to ensure that it doesn't short out and 2. So that Bernie doesn't mistake it for food and try to chomp on it and hurt herself (she jumps at shadows). So I'm still searching, else I'll probably heat-shrink wrap a DHT11.

 

Trying not to let the Magic Blue Smoke Out

I did once. Well, that's entirely not true for the Arduino, I have actually killed one of the DS18B20s I'm using, and I broke off the micro-usb connector from the Arduino. When I first setup the Arduino to monitor the terrarium's temperature that felt like the easy part. Buying the sensor and using the example OneWire code pretty much set that as 'done'. The hard part was buying powerful and appropriate fans to cool the vivarium and get the air flowing. I also wanted something which wasn't going to make too much noise, basically if you're using fans you're powering motors, and the smaller the fan, the more annoying and high pitched the noise is going to be. Now, I'm not sure what the tolerance to noise is for a Crested Gecko, but I'm sure that I get fed up of them quickly, plus we want to make sure we're moving a good amount of air.

 

At the top of the vivarium there is a removable panel which has a metallic mesh to allow heat and airflow. This is perfectly designed for the "Exo Terra" range of vivarium additions such as the heating lamp we currently have covering half of the panel. The other side was available and happened to be perfectly sized at approximately 240 millimetre by 120 millimetre, so two fans it is!

 

The fans have three connections, power, ground and signal, and most importantly they operate at 12 volts. Aside from the signal connection, which offers up the speed of the fan using PWM and I believe has a built in resistor on the fan to provide this at 5 volts.

 

The arduino however, operates at 5 volts logic, and will happily take 12 volts. So this meant I needed a way to control the fans via PWM at a voltage which the Arduino was happy at. There are some examples out there where you can solely use a 10kohm resistor connected to the power lines of the fans to control the speed. However I didn't want to do this (because learning), there are sensible reasons why not to, part of my concern for example, are power spikes that usually happen from turning motors on and off (diodes can also help with this). Relays are sometimes peoples choice, but they are too slow for PWM, they really don't like being switched on and off quickly. So my choice in this matter was the MOSFET.

 

The circuit for the MOSFET is relatively simple. I connected the 12v line to the Arduino and also to the 'positive' of the 120mm fans, and the 'negative' (ground) to one side of hte MOSFET. The other side of the ground is connected to the ground/GND of the Arduino. The third, centre leg of the MOSFET, utilising a pull down resistor (to prevent it floating if nothing else) is connected to an input/output logic pin on the Arduino, and it's this PWM pin which controls the fan's speed and overall provides enough protection to not set fire to the Arduino.

 

I haven't worked out the code properly to read the fan speed signal from the fans, though. I think I haven't quite got the synchronisation or the maths correct to make sense of the signal coming from the fans. It's important to have this feedback though to ensure that the fans are working, and to be able to alert if there's a problem with them.

 

I did consider having variable fan speeds, that would scale with the temperature detected, so that at lower temperatures there was still some airflow happening, and when it was getting too hot we put the fans at full speed to "yep, this needs cooling down, right now". The code for this was bad, and it was lagging the microcontroller so that the reaction time from temperature to fan speed was ever increasing (this is not a good idea). I will need to refactor the code so that it is interrupt based, and I changed the code so that it merely goes "okay, we're too hot now, turn the fans on max and cool down as quickly as possible", this has in truth worked reasonably well. So I'm not sure of the merit of the other method, aside from prevention of it getting to the 'it's too hot and we've made sure it doesn't get that high at all'. So I may reconsider it.

 

There is also some concept of circuit protection in the design, you see, when you're controlling motors and they're spinning up/down, you may be pushing electricity to them, however motors are also like miniature generators that can create some power themselves, and this power is known to spike higher in voltage than what they're rated at. So, to protect against this, we put diodes in the circuit to prevent the spikes from going back to the controller circuitry, and instead force it to run across the motor again. Which is somewhat safer.

 

Simulating Environments and Ensuring Stability

Once I've finally sorted out the code, the sensors, and the temperature control though I considered that I could effectively emulate the exact environment of New Caledonia. Since we can actually pull near real time information about the weather in the environment, we could use intelligence gained from this, historical and otherwise, to simulate the environment that the crested gecko should be experiencing. Creating almost a home away from home.

 

To do this properly, and also to keep track of whether or not the Arduino has been behaving properly I would likely have to introduce more hardware. Perhaps the illustrious Raspberry PiRaspberry Pi, providing its functionality as a Linux based computer that is connected to the internet. Now with feedback from the Arduino, based upon the fan speeds, humidity, temperature and compared to the weather in New Caledonia, or even the expected temperature in the UK, the system would know to prepare for changes in the environment which are coming up and to adjust accordingly.

 

Everyone loves graphs, right? Well I should be able to log the data over time and see how well the environment is simulating the environment compared to New Caledonia, for example here's some of the debug output from the code I've written so far:

 

20731121_10159096415730394_172869058_n.png

 

For a while with the vivarium setup, several years ago in fact, we needed to buy an uninterruptible power supply (UPS) to ensure that the vivarium thermostat was able to maintain the temperature. We had a lot of power cuts. Most UPS devices actually come with USB connectivity, allowing detection of when you're running on UPS power, the state of the batteries, such as their temperature, charge level, whether or not they're running a maintenance cycle. I think this could also fit in well with the combination of a Raspberry Pi with the Arduino setup.

 

Happy family

 

Still Work to Do

I'll admit that progress on this has been somewhat slow, but progress has been made all the same. Hopefully this write-up will help to inspire your next Arduino project, or perhaps you've been considering setting up a vivarium system yourself.

 

I'm open to ideas or improvements to work on this, and I've had suitable motivation to progress because Bernie is practically part of our small, happy family, and at 5 years old will likely still be around for at least another 15.

graphic.PNGThe Internet of Holiday Lights RoadTest+ is running from December 8th to January 23rd 2015

Previous Activity:

Blog Summary #000 : Internet of Holiday Lights RoadTest Plus 2014

Blog Summary #001 : Internet of Holiday Lights RoadTest Plus 2014

Blog Summary #002 : Internet of Holiday Lights RoadTest Plus 2014

NameSuper Awesome Blog Time
Viorel M. AlexeNo Updates
Stephen Baird

IoT Christmas Ornaments - The Software, Part 1

IoT Christmas Ornaments - The Wrapup

The Internet of Holiday Lights RoadTest Plus - Review

Jan Cumps

Compare the Infineon RGB libraries that spawned from the Internet of Holiday Lights

Internet of Holiday Lights: Road Test Plus review

[Christmas Wreath of Things] Internet of Holiday Lights - Bonus kicker: the IoT talks (a spoken tribute to Science Fair kits)

Massimiliano Dibitonto

Social Xmas Tree 2

Jack Franklin

Internet of Holiday Lights - Houston, we have a problem

Internet of Holiday Lights - Mr Oakes to the rescue!

Matteo Furlan

Publish data with MQTT - The smart entrance - Internet of Holiday Lights RoadTest

Get a working webcam on Arduino Yun - The smart entrance - Internet of Holiday Lights RoadTest

The Internet of HOliday Lights RoadTest Plus - Review

Send email with photo on movement - The smart entrance - Internet of Holiday Lights RoadTest

Gurinder Singh GillNo Updates
Saurabh Gohe

Blog Post #2 : Smartphone Controlled Lighting System - Sending Commands Via Bluetooth,  For Internet of Holiday Lights RoadTest Plus 2014...

Introduction to the Arduino Yun #1

Introduction to the Arduino Yun #2

Blog Post #3 : Smartphone Controlled Lighting System - Sending Commands Via IR Remote  For Internet of Holiday Lights RoadTest Plus 2014...

Smartphone Controlled Lighting System - Sending Commands Via Bluetooth

Blog Post #4 : Smartphone Controlled Lighting System - Sending Commands Via A Web Browser,  For Internet of Holiday Lights RoadTest Plus 2014...

The Internet of Holiday Lights RoadTest Plus - Review

Blog Post #5 : Smartphone Controlled Lighting System - Final Sum-up of My Project,  For Internet of Holiday Lights RoadTest Plus 2014...

Lukas Hornby

No Updates

Jordan Lui

The Internet of Holiday Lights RoadTest Plus - Review

RoadTest Internet of Holiday Lights: Apartment Lighting Extravaganza Post 4

Jordan's Holiday Lights Roadtest entry

Clem Martins

[IoT Christmas Sparkle Ball] The mirror works finally

[IoT Christmas Sparkle Ball] Trying to Connect  Lights

The Internet of Holiday Lights RoadTest Plus - Review

Peter Oakes

BYOB Party #11 - Stars for the tree. From Re-flow to Wow, how to make a tree topper fit for any tree

BYOB Party #12, "Creating a control page to add remote ability for your IoT of Holiday Lights"

BYOB Party #13, "Announcing guest callers from around the world "

BYOB Party #14, "Welcome Texas... Instruments that is"

The Internet of Holiday Lights RoadTest Plus - Review

BYOB Party #15, News year resolution in coding practices. Infineon, UNO the NRF24L01 coding walk through.

BYOB Party #16 - The BIG Event finally arrives

Mohan PalanisamyNo Updates
Aby Raj

No Updates

Inderpreet Singh

[Dynamic Living-room Lights] Building the Mood Lights

[Dynamic Living Room Lights] The XMAS Tree

[Dynamic Living-Room Lights] IoT Holiday Lights Minions

[Dynamic Living-Room Lights] The Big Picture - The Final Build

[Dynamic Living-Room Lights] Paho For Python - Writing better code

[Dynamic Living-Room Lights] The Tree Code explained - Write a protocol with interrupts.

[Dynamic Living-Room Lights] The project Summary and Demo Video

The Internet of Holiday Lights RoadTest Plus - Review

[Dynamic Living-room Lights] Converting a wireless router into a YUN

Francesco Truzzi

[Arduino Light Spots] Client building and coding + 3W RGB LED + Infineon shield!

The Internet of Holiday Lights RoadTest Plus - Review

Eric TsaiNo Updates
Madhuri Vaghasia

My IoT Holiday Lightings...#4: Final Build 1

The Internet of HOliday Lights RoadTest Plus - Review

My IoT Holiday Lighting...#5: Final Build 2

Frederick Vandenbosch

[Christmas Tree] Internet of Holiday Lights - Song-based Lighting

[Christmas Tree] Internet of Holiday Lights - Finished Build

The Internet of Holiday Lights RoadTest Plus - Review

Darcy WalkerNo Updates
Robert WatersNo Updates

graphic.PNGThe Internet of Holiday Lights RoadTest+ is running from December 8th to January 23rd 2015

Previous Activity:

Blog Summary #000 : Internet of Holiday Lights RoadTest Plus 2014

Blog Summary #001 : Internet of Holiday Lights RoadTest Plus 2014

Current Activity:

Blog Summary #003 : Internet of Holiday Lights RoadTest Plus 2014 - Post Final Day

NameSuper Awesome Blog Time
Viorel M. Alexe

The Santa monitor & lights - (T.I.O.H.L.)part-1

The Santa monitor & lights - (T.I.O.H.L.)part-2

Stephen BairdIoT Christmas Ornaments - The Hardware!
Jan Cumps

[Christmas Wreath of Things] Internet of Holiday Lights: part 2 - paper prototype

[Christmas Wreath of Things] Internet of Holiday Lights: part 3 - set up the Arduino Yún

[Christmas Wreath of Things] Internet of Holiday Lights: part 4 - I need Date and Time

[Christmas Wreath of Things] Internet of Holiday Lights: part 5 - Found a Stepper Motor

[Christmas Wreath of Things] Internet of Holiday Lights: part 6 - Stepper Motor works

[Christmas Wreath of Things] Internet of Holiday Lights: part 7 - Infineon LED shield works

[Christmas Wreath of Things] Internet of Holiday Lights: software side note - dodgy advent logic

[Christmas Wreath of Things] Internet of Holiday Lights: part 8 - Arts & Crafts

[Christmas Wreath of Things] Internet of Holiday Lights: part 9 - Time and Event Management

[Christmas Wreath of Things] Internet of Holiday Lights: part 10 - Secret IoT Team Up

Internet of Holiday Lights:  Join the secret IoT Service - open for all

[Christmas Wreath of Things] Internet of Holiday Lights - summary

[Christmas Wreath of Things] Internet of Holiday Lights : post Christmas blues

Massimiliano Dibitonto

No Updates

Jack Franklin

Internet of Holiday Lights - We meet at Last

Matteo Furlan

The smart entrance - My project for Internet of Holiday Lights RoadTest

Gurinder Singh GillNo Updates
Saurabh Gohe

Blog Post #1 : Introduction To My Project "Smartphone Controlled Lighting System" For Internet of Holiday Lights RoadTest Plus 2014...

Lukas Hornby

No Updates

Jordan Lui

RoadTest Internet of Holiday Lights: Apartment Lighting Extravaganza Post 2

RoadTest Internet of Holiday Lights: Apartment Lighting Extravaganza 3: LCD Screen Learning

Clem Martins

[IoT Christmas Sparkle Ball] The plans so far

Peter Oakes

BYOB Party #5, Mrs Yun gets her MQTT on

BYOB Party #6, Introducing Baby Trinket... Shhh she is sleeping

BYOB Party #7 - Mrs YUN gets chatty with iot.eclipse.org and NRF24L01

BYOB Party #8 - PI Matrix - Behind the scenes at the PI camp

BYOB Party #9 - Meet Minion Baby Bob, Trinket Evolves over night and learns a few tricks

BYOB Party #10 - Re-flow Soldering for Custom Neopixel displays

Mohan Palanisamy

Part X.3 Arduino Yun Extending the RAM with swap file

Part 2.3 Touche Minions

Part 3.1: Introducing Ponte, a M2M bridge for MQTT, CoAP and HTTP

Part 3.2: Reading a MQTT topic with HttpClient On Arduino Yun

Part 3.3: Arduino Uno + ESP8266 + Eclipse Ponte HTTP Bridge = MQTT Magic

Part 3.4 Behold the Color Catcher and Thrower

Aby Raj

No Updates

Inderpreet Singh

[Dynamic Living-Room Lights] The YUN review - When the Penguin Met The Arduino.

[Dynamic Living-Room Lights] The Infineon RGB LED Shield Review

[Dynamic Living-Room Lights] The Infineon RGB LED Shield -Library!

[Dynamic Living-Room Lights] The Lights Teaser Video

[Dynamic Living-Room Lights] Build Blog - Setting the stage

[Dynamic Living-room Lights] The YUN talks to OpenHAB

Francesco Truzzi

[Arduino light spots] Updates and WebUI preview!

Eric TsaiVoice controlled holiday lights w/ OpenHAB & Tasker
Madhuri Vaghasia

My IoT Holiday Lightings...#2: First prototype

My IoT Holiday Lightings...#3: Second prototype with Music Controlled lightings and more options..

My IoT Holiday Lightings...#3 some more options Added

Frederick Vandenbosch

[Christmas Tree] Internet of Holiday Lights - Getting Started

[Christmas Tree] Internet of Holiday Lights - Control from openHAB

[Christmas Tree] Internet of Holiday Lights - Special Feature

[Christmas Tree] Internet of Holiday Lights - NeoPixel Star

Darcy WalkerNo Updates
Robert WatersLight Shield Review Part 1

DayofMaking_logo-2.png


Congrats to Tomas Polisensky who was chosen to win the Arduino Starter Kit !



Kickstart your Project and start making with an Arduino Starter Kit! Enter the contest and win!


starter-kit.png


Share your Arduino project idea that you will create in 10 words or fewer with your original created pictures/diagrams/etc between June 18th and June 20th 2014!


Don't be afraid to be specific! (It's better if you are).


What's in the kit ?


  • Arduino Uno R3 and project book
  • Temperature / Tilt Sensors
  • LCDs and LEDs
  • Cables and resistors
  • Motors and potentiometers
  • Diodes and capacitors
  • Breadboard and octocouplers
  • And more!


It's Simple to Join:


  • Register or log on to the element14 Community.
  • Select "Add Your Comment" at the bottom of this post to submit your idea (only appears when you're logged in!)

 

What Happens Next?


  • The element14 Team will choose an entry after the 20th of June when the competition closes
  • One winner will be announced on the 24th of June

 

Important Note:


By submitting an entry you will automatically start receiving notifications of other responses to this post. If you do not wish to receive notifications, select "Unfollow" at the top right of this page. If you have any questions, please let us know in our Feedback & Support area.

 

Only submit one idea, if you submit more than one, it is at the discretion of the element14 Team to ignore or disqualify your entry/entries.

 

The element14 Team will have a preference for ideas which include diagrams/schematics/pictures of the proposed project idea(s); images containing wording that appears to extend the 10 word limit will be disqualified. This decision is at the discretion of the element14 Team.

 

If you are selected, you will be contacted via instant message on the element14 Community site to confirm your details.

 

Detailed Prizing Info:

 

The winner will be sent an Arduino Starter KitArduino Starter Kit. Entrants who post up to 10 words describing their project and post pictures/photographs/diagrams/schematics planning their project will be favoured to win the competition.

 

See the full Terms & Conditions: "There can only be one, let's start with 10! Kickstart your Arduino Project!"


Timeline:


During the period from 9am BST (United Kingdom British Summer Time) on June 18th 2014 until 5pm BST (United Kingdom British Summer Time) on the 20th of June 2014, any registered community member can participate in the competition.

 

whitehousebgNJ.gif

Learn More about Arduino with the New Jersey Makerspace Association!

In a glorious 8 colours. I couldn't believe this when I saw the video footage, but there's even a shot of the circuitry after it and the guy is giving away how he did it along with the code.

 

It isn't even overclocked!

 

 

Article Source: 640×480 VGA On An Arduino

This article covers hardware that is in development.

The hardware covered in this article is liable to change in features and specification.

It does not necessarily reflect the quality or build of the final product.

 

 

I hadn't heard of the Arduino Tre until a few months ago, I suspected that it might be ARM processor based, but I had no idea as to what it would look like or how it would function (obviously I had missed some clear marketing). I had heard some comment of it coming to market later in the year of 2014.

 

To my surprise I spotted that it was available to buy! However, this was a Developer Edition and there's only 50 available. You get the opportunity to get hold of pre-release hardware and optionally join in with a beta to engage conversation with the Arduino developers.

 

Buying into a Developer Edition ? Don't companies usually pay people to do the testing for them? I did not care, I wanted to support the development and get hold of a board. Over the course of the day it surprised me to see that there were still about 20 left, I assumed that the website writ this in error and that they had actually ran out of stock. I took a gamble and went to order one anyway. I had a few confusing confirmations on the order but it finally went through that it was available and on its way!

 

Living in the UK, the cost of the developer's edition ran at approximately £185 including delivery, considering it was listed as €149 + VAT that feels like quite a hike. Pretty steep in comparison to other boards on the market at the moment, though granted it is a developer version! I thought that in the post I would just get the board on its own. When it finally arrived I dashed home that day and recorded this rather over exposed video thanks to the sun finally gracing its presence within the usually overcast Britain.

 

 

Much to my surprise, the parcel didn't just contain an Arduino Tre, but I was also supplied with an 802.11n WiFi adapter and a power cable and stickers (who doesn't love stickers?) along with a 5V 5A power supply.

 

IMG_20140529_151036.jpgIMG_20140521_143246.jpg
IMG_20140529_151014.jpgIMG_20140529_150940.jpg

 

I was a little surprised that the anti-static bag wasn't used for the Arduino Tre, but the SD Card which came with it. Apparently this was a miscommunication and will be rectified for the production version. I received the standard Arduino 6 small circular stickers, though I didn't fully understand the need to include "HACKED" on the larger circular ones - it just didn't seem to fit in with any other marketing I'd seen for Arduino.

 

The box and its colour scheme has kept in line with other Arduino products and it is minimalistic. Understandably there isn't much in the way of guidance on the Arduino site for the product and there's information on the box to open a web page called TreSetup.html that is either available when you connect the board to your computer or when you boot the Arduino Tre standalone while connected to a screen.

 

Yes! this Arduino is effectively a standalone, single board computer. That's because it is a hybrid of an Arduino LeonardoArduino Leonardo (running an ATMega32u4 chip) with a BeagleBone BlackBeagleBone Black (Sitara ARM Cortex-A8) on the same board, with

IMG_20140521_154611.jpg

the addition of an audio processing chip; and to me, that is what makes it very interesting. Having come from a history of using a Sinclair Spectrum and a Commodore Amiga attached to my television, in a similar ilk to the Raspberry Pi - with

the Arduino Tre we're semi going back to that circle of possibility where you can sit in your living room with the Tre attached via HDMI to your television, use a wireless keyboard/mouse and code away. Or maybe that's just me? Probably just me.

Not long after the confirmation of dispatch of the Tre, I received an e-mail asking if I wanted to join in with the Beta feedback for the board. When I signed up, I was greeted by a resource of getting started and communications with the Arduino team. I'm thankful that I entered the beta participation for the board, because the first thing I had to do was to update the software on the SD Card.

 

To use the Arduino Tre you need to connect it to the mains. There are connectors on the board to connect battery power, there is also a USB port to communicate with the board, but this will only power the Leonardo portion along with the on-board read only storage that is similar to pretending to being a CD-Rom drive containing drivers and documentation.

 

The Arduino Tre does not have an on-board flash chip, which is helpful to an extent. It means that I don't have to spend time waiting to program the board itself and I can just replace the operating system relatively painlessly. The SD Card runs a version of Debian for ARM hard float which has repositories from Arduino added so that a simple use of the standard package manager, apt/aptitude can be used to keep the system up to date in the future. At present both SD Card images and updates are available to developers for keeping the board software maintained.

 

The board itself is potentially in development, too. When I received it there was an obvious fix made (and this was to each one of the 50 boards sent out) as a wire was post-production soldered into place. It's not clear to me as to why or what purpose it serves.

 

Once I was all up to date with the hardware, there was nothing stopping me from tinkering with it. When connected to a Windows computer it identified itself as a multitude of serial based devices, both the Sitara ARM processor and the Arduino Leonardo, the device identifies installs itself as a USB hub which then has the Sitara and Leonardo components attached to it. So it is entirely possible to communicate and upload code directly using say, the Arduino IDE to the Atmega32u4 that's on the board.

 

However it begins to get a little tricky there, because what you actually have should identify itself more as an Arduino YUN (which is an ATMega sat behind a Linux type environment). The ATMega32u4 communicates partly via the Sitara processor. So trying to code it directly as a Leonardo doesn't work. I'm reassured this will be clarified in time.

 

Regardless of trying to upload code traditionally to the Arduino Tre this is probably not how I would go ahead with working on it, more on that in a bit. There's a major part I have entirely skipped after updating the software and that is to go through the standard setup process.

 

On the back of the box there is reference to TreSetup.html - this is a web page file that directs to a website running via the Linux operating system on the board. Ideally it can be run from whichever operating system you have your Arduino Tre plugged into; but it can also be ran from the Debian installation on the Tre itself if it's running standalone. When the Tre is connected to your computer it sets up a virtual network interface over USB on the IP address of 192.168.7.2 - so if you already have a private network which uses this address space and that IP address in particular then you're going to have a conflict. Alternatively you can connect the ethernet cable to the Tre and use whichever IP address you allocate to it via DHCP.

 

setup-initial.pngsetup-initial2.png

At the time of writing the setup steps involve changing the name of the board; which cannot be "arduinotre" and setting a password to login with. This login is for the front-end of the website, not for accessing Debian on the Tre. The default login details for Debian on the Tre are:

 

User: tre      Pass: tre

User: root    Pass:

 

Root doesn't have a password set. At the moment the steps do not get to step 3 on the page, because you will have just rebooted your Tre (there are a lot of references like that at the moment and they're obviously just left in from testing).

 

001-trelogin.png002-treblink.png

 

Once logged in to the website it presents the now intended Integrated Development Environment (IDE) for the Arduino Tre. It has the usual sketch examples that the Java IDE has, plus some more which can be uploaded to the Leonardo or ran on the Sitara processor. Yes, you can code for the Sitara from the Arduino IDE and presumably the PRUSS on the chip as well; though I haven't checked that yet. As a 'hello world' the Leonardo and the Sitara have individual LEDs that you can code for to blink. The Sitara has a three colour LED(s) which you can code for as opposed to the Leonardo's singular.

 

The web integrated IDE for the board is definitely a step in the right direction, it has has the potential to be a better IDE than the Java one and already integrates simple functionality such as auto-completion for parenthesis and quotations. From this on-board website you can also keep the packages up to date for the operating system, monitor/check the settings for your network connections and save/load sketches to compile for the board along with running a terminal and serial monitor. More features are seemingly being added as they're identified and requested and just to re-iterate, this site doesn't have to be ran from only within the operating system of the Tre. Arguably that could be a security issue down the line by default for some people but it can be trivial to lock that down if you so choose as it is only running Debian after all.

 

I decided to test one of the existing Arduino motor shields and attach it to the board, it was incredibly simple and just worked with a stepper motor I had available.

 

IMG_20140523_232930.jpgIMG_20140523_232948.jpg
003-motor.png

 

Functionality of the Sitara and ATMega "sections" of the board are also independent. There is a jumper setting on the board itself that switches between the both of the boards being powered on/off at once and allowing the Leonardo to turn the Sitara processor on/off. This means that the Arduino Tre can be sat idle, monitoring or doing numerous actions with its own shields and/or XBee connectivity and then wake up the Linux counter-part and utilise the operating system and/or the additional GPIO if required.

 

I look forward to playing with the Tre more to see what I can do with it, and I'm interested in hearing any projects that people have in mind that could be done with the Tre.

 

728x90__arduino_tre.jpg

 

Let me know your ideas! What would you do if you had a Tre ?

 

If you can't see "Add Comment" below, please sign up for an account!

Filter Blog

By date: By tag: