This is only a preview of the March 2024 issue of Silicon Chip. You can view 39 of the 112 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. Articles in this series:
Items relevant to "Laser Communicator":
Items relevant to "Pico Digital Video Terminal":
Items relevant to "‘Nunchuk’ RGB Light Driver":
Items relevant to "Mains Power-Up Sequencer, Pt2":
Items relevant to "Arduino for Arduinians":
Purchase a printed copy of this issue for $12.50. |
Arduino for Arduinians
by John Boxall
478 pages, paperback / digital
ISBN 9781 7185 02789
Price: $95 RRP (paperback)
$30 ~ 40 (digital)
This book, subtitled “70
projects for the experienced
programmer”, is aimed at those
who are familiar with Arduino
programming and want to
learn some more advanced
techniques. It doesn’t assume
much electronics knowledge
outside of programming, so it
would be suitable for those who
have dabbled in software but not
much hardware.
Book Review
By Nicholas Vinen
T
his 478-page book is split into 24 chapters. Each chapter covers several projects, which may share some of the
same hardware but demonstrate different principles. Each project demonstrates a particular technique, allowing you to build it
yourself and experiment with it.
You could also use the book as a reference to draw from when
writing your own Arduino programs or designing hardware to
interface to an Arduino module.
Many of the chapters and techniques are things you will have
seen in Silicon Chip magazine, although the book goes into much
more detail on how the software works. Examples of techniques
he describes that we’ve used recently include (these are not necessarily the exact chapter titles):
• Chapter 5: Controlling LEDs with Charlieplexing
• Chapter 11: Emulating USB mouses and keyboards
• Chapter 13: Interfacing with PS/2 Keyboards
• Chapter 14: Bluetooth serial communications using an HC-05
module
• Chapter 21: Retrieving the current time from an Internet
Time Server (NTP)
• Chapter 24: Capturing images with an ESP32-CAM module
He also shows how to ‘hack’ a commercial UHF remote-controlled
mains switch so it can be controlled by an Arduino. That is similar
to how our November 2014 Programmable Mains Timer works.
86
Silicon Chip
So, if you found the projects in which we used those techniques
interesting and want to know more about how they work and how
to implement them yourself, this book could be for you.
Of course, the book covers more topics than just the ones I
listed above.
John starts with some fairly basic but useful demonstrations,
such as how to sense multiple button presses using a single analog
input (12 buttons in his demonstration), how to quickly change
the state of multiple digital output pins at once, how to drive a
seven-segment display and so on.
Guided by an expert craftsman with over 30 years of
experience, you’ll build 70 awesome Arduino projects and
emerge a true Arduinian ready to invent your own complex
creations.
He explains concepts as basic as a voltage divider; as I implied
earlier, the book seems aimed at those with some software experience but little hardware experience. Of course, if you already
know those concepts, you can skip those sections. There’s still
plenty of valuable demonstration code.
More advanced concepts are covered later in the book, such
as driving a graphical OLED display, creating a WiFi web server
with an ESP32 module, having the Arduino control its own power
supply, transferring data to and from USB flash drives, reducing
Australia's electronics magazine
siliconchip.com.au
power consumption for battery-powered projects, interfacing
with vehicle electronics via CAN bus, logging data to Google
Sheets and more.
I learned some things by reading this book. For example, I didn’t
know about the TCA9548A I2C multiplexer, which seems like a
handy little chip. I would also find it useful as a reference; for example, I could figure out how to read files from a USB flash drive if I
had to, but it would save me time and effort to simply follow John
Boxall’s examples in Chapter 12.
One thing to note is that the photos throughout the book
showing modules, components and his assembled PCBs are all in
monochrome. The contrast is decent, so the subjects are readily
visible. Still, it’s a pity that the ebook version doesn’t have colour
photos, as the choice of monochrome was likely due to the cost
of printing the physical edition.
Building the projects
Many of the projects are based on connecting prebuilt modules to the Arduino, which can usually be done quite easily with
jumper wires or a breadboard. He provides some suggestions
on places to buy those modules. Most of them are common and
widely available. He also shows suitable breadboard layouts in
many cases (where the circuits aren’t too complicated).
Along the way, build fun and useful devices like:
• A camera-enabled circuit to stream videos
• An MP3 player to listen to audio
• A CAN bus circuit which gathers speed and engine data
from your car
• A web server using an ESP32 board
• A PS/2 keyboard
In contrast, seven chapters require you to wire up many components to the Arduino (sometimes, the same circuit is used for
multiple projects).
He explains that you can wire those up manually on breadboard
or protoboard, but as that would be a lot of work, he helpfully
supplies PCB designs for seven of the more complex circuits.
Interestingly, rather than sell the PCBs as we do for our
projects, he has made the Gerber files for each design available, which are basically PCB blueprints. At the start of the
book, he explains how to view those files and upload them to
manufacturers to get the boards professionally made. He also
suggests three possible manufacturers (including one of our
advertisers, PCBWay).
That is helpful if you have never used commercial PCB manufacturers before; the book goes into a fair bit of detail on how to
get the boards made. However, to make things easier for readers
of this book, John has agreed to let us sell a pack of the PCBs
required to build the projects in his book (see the links at the end
of this review).
Conclusion
I like the idea of this book because there are many people
out there who are interested in tinkering with Arduino, perhaps
coming from a background in computers or software, but who
are relatively inexperienced when it comes to building actual
hardware. It is ideal for people like that because of the way it
explains the hardware concepts at a basic level and provides
concrete examples.
Also, despite going into some pretty advanced topics, the code
is easy to understand, to the credit of both John and the Arduino developers.
If you have some experience with Arduino but would not consider yourself an advanced Arduino programmer, this book is worth
reading. Even relative beginners to Arduino should be able to get
something out of it, as long as they are confident and willing to
learn quickly and hone their skills.
You can preview an entire chapter of the book (Chapter 8: Controlling High-Power Shift Registers) at https://nostarch.com/
arduino-arduinians
A ZIP file at the bottom of that web page contains all the sample sketches and PCB design Gerber files.
The book is available from numerous retailers for a bit
over $60 for the printed edition ($95 RRP) or $30-40 for the
ebook version (depending on platform etc). To order a copy
or for more information, see www.penguin.com.au/books/
arduino-for-arduinians-9781718502789
Probably the best place to order the ebook version is the
publisher’s website at https://nostarch.com/arduinoarduinians
Similar books by John Boxall include Arduino Workshop (now
in its second edition) and AVR Workshop. You can also find them
via both the Penguin and No Starch web pages linked above.
You can order the PCBs for building the projects in Arduino for
Arduinians from our website at the following links:
1. Pack of six PCBs for Projects 3, 13, 14, 18, 19 and 26 for $20
+ P&P: siliconchip.au/Shop/8/6903
2. The PCB for Project 27 for $7.50 each + P&P: siliconchip.
au/Shop/8/6904
Note that P&P is per order, so you can order the six-PCB pack
and one or more of the Project 27 PCB at the same time (and
SC
anything else from our Shop) and save on postage.
Raspberry Pi Pico W BackPack
The new Raspberry Pi Pico W provides WiFi functionality, adding
to the long list of features. This easy-to-build device includes a
3.5-inch touchscreen LCD and is programmable in BASIC, C or
MicroPython, making it a good general-purpose controller.
This kit comes with everything needed to build a Pico W BackPack module, including
components for the optional microSD card, IR receiver and stereo audio output.
$85 + Postage ∎ Complete Kit (SC6625)
siliconchip.com.au/Shop/20/6625
The circuit and assembly instructions were published in the January 2023 issue: siliconchip.au/Article/15616
siliconchip.com.au
Australia's electronics magazine
March 2024 87
|