This is only a preview of the January 2012 issue of Silicon Chip. You can view 26 of the 104 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Items relevant to "A Stereo Audio Compressor":
Items relevant to "Build A Simple AM Radio":
Articles in this series:
Items relevant to "3-Input Stereo Audio Switcher":
Items relevant to "Playing USB-Stick & SD/MMC Card Music Without A PC":
Purchase a printed copy of this issue for $10.00. |
t
n
g
e
n
i
m
d
c
l
p
u
r
o
d
o
l
o
e
w
r
v
t
e
e
n
h
d
I cro ng t ...
i taki rm
m
e
h
t stem by sto
sy
TM
By JONATHAN OXER*
The low-cost, open-source Arduino
microcontroller development board
has taken the hobby-electronics world
by storm and is now gaining popularity with
experienced engineers as well. So what’s all the
fuss really about? And anyhow, what’s with the name
“Arduino” and where did it come from? Read on!
O
ver the last couple of years SILICON CHIP has published a number of stories related to Arduino, including the “Arduino-compatible I/O Controller”
project by Greg Radion featured in the April 2010 issue.
If you spend any time looking at microcontroller-based
projects online you’re bound to come across Arduino
sooner or later. And as noted in last month’s issue, there
are now Arduino variants of our very popular Maximite
microcomputer project (SILICON CHIP, March & April 2011).
In fact if you search for just the single word “microcontroller” in Google you’ll find multiple Arduino references in
the very first set of results. Arduino seems to be everywhere
you look these days!
But what is Arduino? Why is there so much fuss about
it? Does it have some secret sauce or magical property
that makes it special? And why should a hobbyist or an
engineer care anyway?
Everything about Arduino has been designed to give the
14 Silicon Chip
lowest possible barrier to entry.
If you look at the circuit of a fairly minimal “Arduinocompatible” design in Fig.1, you’ll see that part of the secret
of the Arduino’s success is that there is no secret.
From a hardware standpoint there’s nothing magical
that makes it different to any other simple microcontroller
circuit you may come across.
It’s just a common Atmel AVR microcontroller, a pushbutton and a bias resistor for manual reset, a crystal and
some capacitors for the clock, a serial programming header
with automatic reset control and a simple power supply.
You could build one yourself on a solderless breadboard
in about ten minutes if you had the parts lying around. You
may well have most of them already.
The only other item you would need with the circuit
above is a commonly-available USB-to-Serial adaptor cable, so you could plug your home-made Arduino into your
computer and load programs onto it.
siliconchip.com.au
CON4
REG1 7805
OUT
47 F
25V
10k
+7–12V
IN
GND
47 F
25V
0V
0603
20
AVcc
Pre-assembled
3,4
RESET
Arduino boards,
S1
such as the Uno refer1,2
ence design (meaning “One”
in Italian, shown in Fig.2) and
implementations based on it, typically
have more features than the above minimal
example.
These include on-board USB-to-Serial
conversion, status and user-controlled
LEDs, expansion headers, more advanced
reset management, input current protection and other features but fundamentally
they still build on this minimal underlying
architecture.
This design simplicity has caused
1M
many experienced engineers to turn up
0603
X1
their noses at Arduino, dismissing it as a
16MHz
trivial toy or something that’s only useful
for beginners.
However, don’t disregard it prema22pF
22pF
0603
0603
turely; the intentionally simple design is
just a tiny part of the story. Once you look
into it a bit more deeply and see the various elements that combine to provide the
SC
overall Arduino ecosystem you’ll begin
2012
to understand why so many people have
fallen in love with it and why it’s become such a smash hit.
1
7
Vcc
PC0/ADC0
RST/PC6
PC1/ADC1
PC2/ADC2
PC3/ADC3
PC4/ADC4
PC5/ADC5
PD0/RxD
PD1/TxD
IC1
ATMEGA328P
(28 PDIP)
21
PD2
PD3
PD4
PD5
AREF
PD6
9
PD7
PB0
XTAL1/PB6
PB1
PB2
PB3/MOSI
10
PB4/MISO
XTAL2/PB7
AGND
22
PB5/SCK
23
24
25
26
27
28
A0
A1
A2
One fundamental element of the Arduino platform is
the boot-loader that is preloaded into the microcontroller’s
non-volatile flash memory.
A micro such as the ATmega328P has 32KB of flash
0603
A3
A4
CON1
A5
1
2
D0_Rx
2
3
D1_Tx
3
4
5
6
11
12
13
14
15
16
17
18
19
4
D2
D3
D4
D5
D6
D7
D8
D9
7805
D10
D11_MOSI
D12_MISO
D13_SCK
GND
IN
GND
OUT
GND
8
MINI ARDUINO CONTROLLER
The Arduino boot-loader
100nF
Fig.1: example of a
minimal Arduinocompatible system.
(hence the “32” in the part number) for storing programs.
In a typical microcontroller development environment
the program is loaded into flash using a special programmer that connects to an “ISP” (In-System Programming)
header and it stores the program in the micro starting at
the beginning of the memory space.
Arduino, on the other hand, has a special boot-loader
Fig.2: Arduino “Uno” reference design alongside the Freetronics “Eleven” Uno-compatible board.
siliconchip.com.au
January 2012 15
stored in its flash memory. The boot-loader begins executing as soon as the micro starts up and its main job is to
check for the existence of a serial connection from a host
computer trying to send it a new program.
If it finds one, it accepts the new program and writes
it elsewhere into flash memory and then executes it. The
boot-loader itself remains unchanged even after the new
program has been loaded. If the boot-loader starts up and
doesn’t find a host with a new program waiting to be loaded,
it simply jumps to the start of the previously loaded program
and begins executing it.
This approach leaves slightly less storage available for
user programs because a small amount is always reserved
for the Arduino boot-loader but that’s a small trade-off to
make for the convenience of being able to quickly load a
new program by USB, with no special hardware required.
All you need is a serial connection (USB cable or serial
port) and the Arduino software on the host computer.
This highlights one of the main differences between
the Arduino approach and traditional micro development
boards and it’s one of the reasons Arduino has become so
popular even with experienced engineers.
Getting started with a traditional board from any of the
major micro vendors has typically involved purchase of
a multi-hundred dollar starter kit which can take weeks
to arrive from an overseas supplier, then installation of a
large and complex development environment on your PC,
a laborious set-up process and often a cumbersome method
for compiling and uploading the program to the micro.
Setting up a new development environment can take
hours or days and involve reading dozens of pages of
documentation and often it’ll only run on Windows. If you
prefer to use Linux or Mac you’re out of luck. The assumption is that only “serious” developers will even attempt to
use microcontrollers so it doesn’t matter if the barrier to
entry is fairly high.
Arduino, on the other hand, couldn’t be any more different. The boards themselves are cheap and easy to get almost
anywhere. There are numerous Australian on-line stores
who can ship them straight to your door or just walk into
Fig.4: Serial console output.
any Jaycar store and you’ll see a range behind the counter.
Take one home, download the open-source Arduino IDE
software (which is available for Windows, Mac and Linux)
to your computer, plug in the Arduino using a USB cable
and you’re ready to go. It doesn’t even need a power supply
because it can run from USB power.
Select one of the dozens of example programs included
in the IDE, click the “Upload” button and the program will
be compiled and sent to the board. Easy!
Even non-technical users with little knowledge of electronics or programming can have their first program running on the board within five minutes of opening the box.
You’d be hard-pressed to find any other microcontroller
development environment anywhere that can match the
Arduino’s “out of the box” experience.
That same instant-gratification effect doesn’t only benefit
beginners: it’s just as attractive to expert developers once
they’ve experienced it for themselves.
Many engineers who regularly use both Arduino and
other development platforms find that when an idea pops
into their head and they want to try it out, they naturally
reach for an Arduino because it makes getting started on
a new project so easy.
Later they may redesign and optimise the project using
a dedicated PCB, and perhaps even switch to a different
micro or platform entirelyif required, but the Arduino
gets you through the initial “I wonder if this will work...”
stage so effortlessly that it’s natural to start using it for just
about everything.
Arduino IDE software
Fig.3: Arduino IDE.
The simplest way to get started writing programs for
the Arduino is by using the official Arduino IDE software.
IDE means “Integrated Development Environment”, an
all-in-one program for editing, building and up-loading
applications to the boards. It consists of a simple code
editor with syntax highlighting and a number of convenience buttons for compiling and uploading “sketches” (the
Arduino term for programs) to your board.
You simply prepare the program in the IDE, plug in your
Arduino board using a USB cable, click the “Upload” button and your program is compiled and sent across to the
board where it is saved in non-volatile memory.
The IDE also provides a very handy serial console, which
makes it particularly easy for your program to display data
and interact with messages between the Arduino and your
computer.
Fig.4 shows typical output sent to the IDE serial console
16 Silicon Chip
siliconchip.com.au
from a connected Arduino.
Because Arduino doesn’t contain any exotic hardware it
can also be used as a generic AVR (a RISC – reduced instruction set computing) development board, allowing you to
use more traditional software development tools to write
programs for it and ignoring the Arduino IDE altogether.
Many advanced developers use their favourite code
editor, such as Vim, Emacs or Eclipse and then use the
avr-gcc compiler to prepare the software for up-load to
the board using a tool such as AVRDUDE and an AVR-ISP
Mk2 programmer.
While Arduino gives you a simple entry point to working
with microcontrollers, it doesn’t stop you from going way
beyond the basics and developing very advanced projects
using whatever tools you feel comfortable with.
Arduino IDE also has a sister project called Processing,
which is a development environment designed to make it
really easy to create cross-platform graphical applications
to run on your computer. Combining the two, you can use
Arduino IDE to create firmware to run on your Arduino and
Processing to create a matching user interface that runs on
your computer and communicates with it via USB.
You can use Processing for all kinds of graphs, displays
and interactive computer applications.
Arduino language
In keeping with the overall Arduino philosophy, the
development environment includes a number of features
designed to simplify the process of creating simple programs while still allowing you to work with more advanced
techniques if you feel comfortable with them.
The underlying language is compiled as C++ but most
Arduino documentation deliberately avoids mentioning
that fact to avoid scaring people off.
The development environment does such a good job
of hiding the nasty details that some people spend years
working with Arduino without even realising that they’re
writing in C/C++!
This simplification is largely the result of the Arduino
library bundled with the development environment to
provide a number of convenience functions for common
operations. These convenience functions make the code
much more readable and also increase portability across
Arduino models by abstracting away details such as pin
identifiers using simple labels.
For example, a common operation when writing C for
an AVR microcontroller to drive a specific output pin high
may look something like this:
PORTB |= (1<<PB2);
To an experienced developer that’s a perfectly straightforward operation but to a beginner it’s totally cryptic.
Even trying to explain that short line in plain English
becomes a discussion of registers, ports and bit-wise operators that will leave a beginner bewildered. Even the pin
identification isn’t particularly straightforward.
The Arduino library hides all that complexity, providing
standardised pin identifiers and allowing you to write a
far more obvious but functionally identical piece of code
like this:
digitalWrite( 10, HIGH );
siliconchip.com.au
January 2012 17
The end result of both those commands is the same but
it’s much easier to explain the second one to a beginner
simply by saying “This command writes to digital pin 10
and sets it HIGH”.
Fig.6: Arduino Lilypad for
“wearable” computing
projects.
Pin identifiers
Pin identifiers are an important feature of the library
because they allow Arduino models with different micros
to address the expansion headers in a generalised way.
For example, pin D10 on the expansion header is connected to micro pin PB2 on Arduino models based on the
ATmega328P but on models based on the ATmega2560 it’s
connected to pin PB4.
You don’t have to remember that distinction though,
because you can just address it as “10” or even as “D10”.
All the boards available are marked the same and when
your program is compiled for a specific board it’ll work
just fine without changing a single line of code.
Once again it’s all about making development simple
and intuitive.
The other important aspect of the Arduino development
environment is the pre-processor. If you look at an example sketch you’ll see that it’s very “C-like” but is missing
some of the important things you may be expecting such
as function prototypes.
Consider the “Blink” sketch, which is considered to be
the “hello world” of Arduino development:
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
// set the LED on
delay(1000);
// wait for a second
digitalWrite(13, LOW);
// set the LED off
delay(1000);
// wait for a second
}
That is the entire program and it’s all stored in a single
file and displayed in a single window, in the IDE. This
example includes the two “must haves” for any Arduino
program: the “setup()” function and the “loop()” function.
The “setup()” function is executed once when the program
starts and the “loop()” function is then repeated indefinitely.
Other than the missing function prototypes mentioned
previously, you’ll also notice that there’s no “main()”
Fig.5: Arduino Mega 2560 reference design.
18 Silicon Chip
function.
The Arduino
pre-processor
takes care of all
that for you. When
you click “compile”
in the IDE, the first
thing it does is run your
code through the preprocessor to automatically
generate prototypes and a “main()” function and then passes
the result to the GCC compiler for the final conversion into
hex for use by the micro.
Once again, keep in mind that this doesn’t prevent you
writing your programs the traditional way and explicitly
defining your own prototypes, if you need to.
The pre-processor is just a convenience that lowers the
barrier to achieving simple things, while still allowing you
to do complex things if you have the knowledge to do so.
The Arduino community
For many enthusiasts the “killer” feature of the Arduino
isn’t the hardware or the software, it’s the community of
users that has grown up around it.
The community is very different to what you may expect
to find associated with a microcontroller platform. Rather
than a narrow, focused group of electronic engineers, it’s
a free-wheeling assortment of students, artists, hobbyists,
mechanical engineers, automation enthusiasts and anyone
else you can think of.
That’s because many Arduino users do not typically come
to the platform through the expected path of electronic engineering but instead arrive at it from some other discipline
or interest and see it as simply another building block to
achieve whatever larger end result they’re working on.
Looking through the Arduino forums you’ll find people
working on all manner of projects ranging from kinetic
sculptures to DIY home-automation systems and experimental musical instruments.
And because many Arduino projects are built as one-off
creations with no thought of commercial gain, users are
often very happy to publicly document their work for the
benefit of anyone else who may be interested. This has the
Fig.7: LCD &
Keypad Shield
mounted on an
Arduino-compatible board.
siliconchip.com.au
Sparkfun Inventor’s Kit for Arduino
The SparkFun Inventor's Kit is a box of goodies to get the
Arduino beginner started with programmable electronics.
http://bit.ly/uS3Pgm
Fig.9: A “prototyping” shield with parts fitted for a custom
project.
snowballing effect of providing resources and inspiration
to others, who subsequently go on to document their own
projects and so on.
Of course the community also includes many very experienced electronic engineers and a vibrant commercial
ecosystem has grown up around it to supply a wide assortment of specialist hardware and services.
Arduino variants
By far the most popular Arduino models are those based
on the “Uno” reference design shown in Fig.2. The Uno
provides four main functional elements: the AVR microcontroller, a simple 5V regulated power supply, a USB-toSerial converter for loading new programs onto the board
and I/O headers for connecting sensors, actuators and
expansion boards.
Many other versions including the locally-designed
Freetronics “Eleven”, shown in Fig.2, fit the same physical
form-factor and are functionally compatible, while providing enhancements or additional features not found in the
reference design.
For example, the Eleven adds a prototyping area so you
$94.90
Arduino Uno
(rev 3)
Arduino Ethernet
Shield (rev 3)
Freetronics
Etherten
The basic dev board
to get you going.
50
Stack on your Arduino
for web connections.
95
An Arduino with
native Ethernet.
95
http://bit.ly/tfF1Cf
http://bit.ly/vrr4SE
http://bit.ly/ttIMwH
$32.
$54.
$69.
Shop online for over 600 more Arduino-related products at
australianrobotics.com.au
Hobbyists – computer enthusiasts – programmers – this is for
YOU!
Melbourne
Hackerspace
brings you the first
JANUARY 14 2012
Don’t know what a Maker Faire is all about? Visit
http://makerfaire.com
Fig.10: The Freetronics “EtherTen” Arduino-compatible
board with built-in Ethernet.
siliconchip.com.au
for more information, email makerfairemelboure<at>gmail.com
or visit http://makerfairemelbourne.wordpress.com/
January 2012 19
Fig.11: USBDroid Arduino-compatible board connected to
an Android mobile phone.
can add your own parts, isolates the general-purpose LED
connected to pin 13 on most Arduino boards using a FET,
uses a mini-USB socket instead of a regular USB socket and
moves the status LEDs to the edge of the board so they are
still visible when an expansion board is mounted on top.
The classic Uno form-factor isn’t the only option though.
Many other variants exist, including the “Mega” form factor
shown in Fig.5 that provides more I/O headers and memory,
using a more powerful ATmega2560 micro.
Once again there are multiple derivative development
boards using that same form factor to take advantage of
compatibility with expansion boards.
There are also smaller versions, such as the Arduino Nano
that’s a mere 43mm x 19mm and even some very unusual
form factors such as the Arduino Lilypad, shown in Fig.6.
The Lilypad is designed to be sewn into clothing using
special conductive thread for use in wearable computing
projects. It’s been put to some very imaginative uses, such
as a cycling jacket with turn indicators wired into it!
Even though these different Arduino-compatible boards
have wildly varying form factors, they’re still compatible
with the same development environment and can mostly
run the same software. Unless it relies on special hardware
features of a particular model, a sketch can be uploaded to
a Lilypad or a Mega or an Uno or a Nano and it’ll run just
the same on every board.
Expansion Options
A basic Arduino on its own isn’t very useful. It’s designed to be the foundation of whatever larger project you
dream up. The fairly minimal hardware functionality can
be expanded in three main ways.
The first method is to use expansion boards called
“shields” that can be plugged into the top of the expansion
headers. Shields can be complete pre-built boards with all
parts already installed for a specific purpose, such as the
Freetronics LCD & Keypad Shield available from Jaycar and
various on-line suppliers, that adds a display and some
input buttons to your projects as shown in Fig.7.
There is an amazing variety of pre-built and kit shields
available, ranging from the obvious to the obscure. The
“Arduino Shield List” website has details of about 300 different models from more than 100 manufacturers, covering
20 Silicon Chip
Fig.12: Arduino-Compatible I/O Controller from Ocean
Controls, featured as a project in the April 2010 issue of
SILICON CHIP.
everything from LCD modules and WiFi to H-bridge motor
drivers and Geiger counters.
Alternatively, blank shields called “Prototyping Shields”
like the one shown in Fig.9 provide a matrix of free space
for you to add your own parts to suit your specific project.
Another approach is to use Arduino-compatible boards
that incorporate extra functionality right onto the main
board itself without the need for a separate shield.
For example, the Freetronics EtherTen shown in Fig.10 is
an Australian-designed Arduino board with LAN connectivity, Power-over-Ethernet capability and a microSD card
slot, all within the “Uno” form factor and shield compatibility. Any project you’d like connected to the internet, a
network, even serving web pages and monitoring can be
run on this board.
Another example of a special-purpose board is the USBDroid shown in Fig.11, which is an Arduino-compatible
board with USB host connectivity built-in. It’s designed to
connect to Android-powered devices such as tablets and
phones as a peripheral, making it possible to build your
own custom add-on hardware for smart-phones and tablets.
Finally, you might decide to design your own integrated
special-purpose board to suit your own requirements,
while building on the basic Arduino architecture. Because
the Arduino reference designs are published under Open
Licenses, you can use them as a starting point to create
your own variant.
This is the approach Greg took with the Arduino-Compatible I/O Controller project shown in Fig.12, which doesn’t
look anything like an Arduino because it’s designed to fit
in a case with a bunch of relays mounted on it.
From both a hardware and software point of view, though,
it’s just another Arduino that can be programmed using the
Arduino IDE but this one has the great advantage of sensing and controlling power items directly by its on-board
additions.
Learn more
This introductory article has focused mainly on the
technical aspects of Arduino but as we hinted at the beginning, there is a fascinating back-story to the origins of
the project and how it grew from humble beginnings as
a classroom exercise in the Interactive Design Institute
siliconchip.com.au
We would like to wish everyone
a Happy and Prosperous New
Year
Arduino Starter
Kit
Is a great gift for
beginners and professionals alike.
Included is an Arduino Uno board, a
multitude of inputs, outputs, and sensors to get you started in the wonderful
world of Arduino.
ARD-005 $59.95+GST
Arduino Inventers
Kit is a box of goodies to get the beginner started with
programmable electronics. Includes an Arduino Uno,
baseplate, and heaps of sensors. A
booklet shows how to build 12 basic
circuits, no soldering required
ARD-015 $93.50+GST
Threaded Shaft Stepper Motor As the motor
runs, it moves along the
100mm long shaft at a
specific rate of 1cm per 5
full rotations. The shaft is
keyed on one end.
These are a good choice for linear motion where precision and repeatability
are important.
SFM-001 $29.50+GST
Electronic Thermostat The N322 thermostats have two relay
outputs which can be
configured for heating
or cooling or a number
of different alarm
modes. Four front panel keys allow
easy configuration. Comes with a 2m
waterproof NTC thermistor sensor
which can be extended to 50m.
CET-001 $65+GST
LED Bulbs.
These BA9S LED bulbs
can be powered from
24VAC or DC. Available
in white, red, green,
blue and yellow. Suitable for most industrial 22mm indicators
HEL-050 $1.45+GST
siliconchip.com.au
Relayduino
A USB or RS485 controlled IO module for interfacing PCs to real world
applications, such as controlling lights and sprinkler systems. Fully arduino compatible
comes with 8 relay outputs, 4 digital
inputs and 3 analog inputs.
KTA-223 $135+GST
Solar Heating Controller
The N321S typically
switches on-off a water
circulation pump based
on the temperature
difference between the
solar collector and the thermal reservoir or pools.
Simple to setup the controller comes
with two 3m long NTC-type temperature sensors.
CET-033 $79+GST
Temperature and
Relative Humidity
Transmitter
These sensors measure both temperature
and relative humidity
with either 0-10V or 4
-20mA outputs. Wall and duct mount
available
RHT-006 $209+GST
Rotary Encoder
A 1,000 line quadrature rotary encoder
with A, B and Z NPNstyle outputs. 6 mm
diameter shaft with flat. 5 to 24 V DC
powered.
IBE-002 $135+GST
Labjack U3
USB data acquisition
unit with 16 flexible I/
O Each I/O can be a
12 bit analog input,
digital input or output.
2 of the lines can also be configured as
counters and timers. All Windows software and drivers, Labview drivers
included.
LAJ-021 $149.95+GST
4-20mA Loop Powered Panel Meter
4 Digit fully programmable by front panel
keys
IP65 Box.
CMI-005 $149+GST
Flexible Couplings
We now have a selection
of flexible couplings for
our stepper and servo
motors.
From $13.14+GST
Voltage Datalogger
The Site-Log LPVB-1 is a
7-channel, battery powered, stand alone voltage data logger which
records up to 4Mb of
data for later retrieval via USB/serial.
With a 10 year battery life, a 16-bit
ADC and programmable input range,
the data logger is well suited to science
and laboratory applications.
MED-001 $549+GST
M12 Inductive Proximity Switches
These switches activate
when ferrous metals are
close. Fitted with NO and
NC contacts and LED indicator. Powered from 10-30VDC.
IBP-015 $24.95 +GST
Triple Axis Accelerometer A great low-g sensor with analog voltage
outputs and adjustable
sensitivity (±3 g or ±11
g). Has an onboard 3.3V
regulator.
POL-1252 $17.50+GST
Water Level Sensors
With this pressure
sensor you can measure water levels up to
20 metres deep. Fitted with 25metres of cable and 4-20mA
output.
IBP-102 $359+GST
Waterproof
Temperature
Sensor
The sensor is
equipped with a DS18S20 1-Wire temperature sensor embedded into the
probe with a 15metre cable and RJ12
connector.
GJS-001 $19.50+GST
DIN Rail Springcage
Terminal Block
Speed up wiring. Simply
use a screwdriver to lift
the spring and insert the
wire for a vibration proof
connection.
TRM-225 $0.99+GST
Ocean Controls
Factory 3/24 Wise Ave
Seaford Vic
Ph: 03 9782 5882
www.oceancontrols.com.au
January 2012 21
Great Value in Test & Measurement
350 MHz 2/4 Channel Digital
Oscilloscope HMO3522/HMO3524
R 4 GSa/s Real Time,
50 GSa/s Random Sampling,
Low Noise Flash A/D Converter
(Reference Class)
Ivrea in Italy in 2005.
In late 2010 a short film called “Arduino: The Documentary” was released and it’s well worth watching if
you want to get a better feel for the culture and objectives
of the Arduino core development team and the broader
Arduino community. You can see it online at http://vimeo.
com/18539129
The definitive source of Arduino information is the official website at www.arduino.cc. It has a huge amount of
information for both beginner and advanced developers,
including very active user forums, tutorials, hardware
guides and a language reference. Example projects (including both hardware designs and software source code) are
available to help beginners get started.
Often it’s handy having documentation in hard-copy. For
a gentle introduction a good option is “Getting Started With
Arduino”, by Arduino co-founder Massimo Banzi. Once
you’ve got past the basics, a much more substantial book to
walk you through a number of projects and more advanced
techniques is “Practical Arduino” by Hugh Blemings and
myself. Both are available for purchase on-line and in your
local Jaycar store.
For Aussie developers there are a wealth of local resources, including an excellent series of online tutorials
written by John Boxall. John’s tutorials are now considered
a prime reference for Arduino users everywhere and can
be found at www.tronixstuff.com
Another local resource is the Freetronics discussion
forum, which caters to Australian Arduino users and also
provides a venue for discussion of more general electronics
issues. I’m co-founder of Freetronics, so you’ll often find
me in that forum! Join the conversation at http://forum.
freetronics.com/
Hackerspaces
Sensitivity
3GHz Spectrum Analyzer
HMS3000 / HMS3010
R Frequency Range 100 kHz…3 GHz
R Tracking Generator HMS3010 -20…0 dBm
Accuracy
Finally, there is a rapidly growing contingent of Arduino
users at hackerspaces around Australia. Hackerspaces are
community-operated physical places, where people can
meet and work on their projects.
Hackerspaces are good, welcoming places for newcomers to learn about many aspects of electronics including
Arduino and they’ll be covered in detail in a future article.
For now a good starting point for finding a local hackerspace
is http://hackerspaces.org/wiki/Australia
Over the coming months we hope to feature some projects
based on the Arduino, so stay tuned!
SC
*About the author, Jonathan Oxer
Quality
Programmable 2 / 3 Channel
High-Performance Power Supply
HMP2020 / HMP2030
Simplicity
HMP2020 1 x 0…32 V/0…10 A
1 x 0…32 V/0…5 A
188 W max.
HMP2020 3 x 0…32 V/0…5 A
188 W max.
Rohde & Schwarz (Australia) Pty Ltd
Unit 2, 75 Epping Road, North Ryde, NSW 2113
sales.australia<at>rohde-schwarz.com
22 Silicon Chip
While Arduino has millions of afficianados around the world,
Jonathan Oxer is widely regarded as one of the “gurus”. He’s been
called “Australia’s Geekiest Man” – he’s one of the few people in
the world who has actually implanted an RFID chip in his body so
he could experiment with RFID!
He is the author (and co-author) of several books, including “Practical Arduino”
shown at left.
Along with Marc Alexander, he’s the
principal of Freetronics Pty Ltd which was
established in 2010 to cope with the deluge of requests for kits, parts etc relating
to the book. (Freetronics sell online at
www.freetronics.com or via a number or
resellers in Australia and worldwide).
siliconchip.com.au
|