
Arduino in the size of a AA battery - asimuvPR
http://techcrunch.com/2016/04/19/aaduino/
======
asimuvPR
_Edit_ Here is the blog post from the person who created it:
[http://johan.kanflo.com/the-aaduino/](http://johan.kanflo.com/the-aaduino/)

Github repo (Its MIT licensed):
[https://github.com/kanflo/aaduino](https://github.com/kanflo/aaduino)

\--

What I really liked about this approach is that it makes packaging the
"Arduino" inside a common battery holder very easy. Maybe one or two holes are
needed to connect sensors and you have a pretty nifty enclosed "Arduino". What
we now need is someone to build a battery enclosure with exposed poins. Anyone
from Adafruit, Tindie, etc. here? :)

------
pedalpete
Great form-factor to easily re-use existing battery enclosure, but I have been
wondering lately about the long-term future of arduino.

With the low price of something like the Pi Zero which is running a full
version of linux, or something like the Esp8266 which can run many different
languages, you're basically paying shipping costs. What benefit does arduino
have in this future, other than a large existing network, which I understand
can't be overlooked as a strength.

~~~
tzs
Pi Zero consumes about 80 mA when idle. An Arduino Pro Mini can do an order of
magnitude better, and that's without getting fancy with sleep modes and a
watchdog timer. For things where most of the time is idle, and so you can have
the Arduino spend most of its time in a very low power mode and just wake up
when it is time to read a sensor or adjust a control or something like that,
you can do something like on average three orders of magnitude better than the
Pi Zero. (Four orders of magnitude if you do a little hardware hacking on the
Arduino).

That's the difference between having to change a couple AA batteries every day
or two (Pi Zero) and running for a year off of a coin cell (Arduino).

Here's an article on power consumption of an Arduino Pro Mini:
[http://www.home-automation-community.com/arduino-low-
power-h...](http://www.home-automation-community.com/arduino-low-power-how-to-
run-atmega328p-for-a-year-on-coin-cell-battery/)

Here's one on Pi Zero power consumption:
[http://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-
pi...](http://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-
power)

~~~
ant6n
I wonder whether it would be possible to create a tablet/laptop with an e-ink
display, where the processing switches between a low-powered ARM and something
like an Arduino. When the Arduino is used, the ARM would be turned completely
off.

~~~
masklinn
> I wonder whether it would be possible to create a tablet/laptop with an
> e-ink display, where the processing switches between a low-powered ARM and
> something like an Arduino.

You'd have to deal with different architectures and a lot of headaches, but
it's the idea behind ARM's big.LITTLE, where you pair high-perf high-power and
low-perf low-power cores. So your tablet's SoC might have a ~200mW A53 for
mostly-idle use with a ~1W A72 for more active "high-performance" work loads.
And the only additional hardware is the additional cores and the interconnect,
the SoC is shared between "low-perf" and "high-perf" cores, which probably
wouldn't be the case for an arduino/arm mix.

~~~
ant6n
True. But ~200mW is still a fair amount, compared to, say ~20mW of something
like the esp8266.

------
munro
At first I wasn't impressed, because Arduinos are all bloat, an AVR can run
directly off a battery. Then I realized they've found a clever way to use
reuse a battery holder as an enclosure!

------
dougmany
This is great. I have used one LiFePO4 batteries (3.2 V) and a copper rod to
replace two 1.5v batteries in a few electronic. This would be even better then
a copper rod.

~~~
exhilaration
Interesting battery. Can you tell me what kind of charger you need for it?

~~~
dougmany
Search for "lifepo4 14500" It does need a specific charger. I bought my
charger from batteryspace.com. I found the following linked from their site.

Charging Non-cobalt-blended Li-ion

While the traditional lithium-ion has a nominal cell voltage of 3.60V, Li-
phosphate (LiFePO) makes an exception with a nominal cell voltage of 3.20V and
charging to 3.65V. Relatively new is the Li-titanate (LTO) with a nominal cell
voltage of 2.40V and charging to 2.85V. (See BU-205: Types of Lithium-ion.)

Chargers for these non-cobalt-based Li-ions are not compatible with regular
3.60-volt Li-ion. Provision must be made to identify the systems and provide
the correct voltage charging. A 3.60-volt lithium battery in a charger
designed for Li-phosphate would not receive sufficient charge; a Li-phosphate
in a regular charger would cause overcharge.

------
e0m
To me this is an indication of how far behind energy storage technology is.

~~~
TeMPOraL
Well, that depends if you put that board facing the front or the back of your
battery holder... ;).

------
larkinrichards
This seems to be a great way to stick a small wifi-tracking device (skyhook
based, report location whenever it finds open wifi network) in any AA powered
device. You'd have to figure out how to put a 1.5v battery on the board so the
overall voltage of the battery pack would be correct.

~~~
mmanfrin
Do you (or does anyone) know how much power something like that would use?
I've been wanting to make a tiny tracking device (using 2G instead of Wifi),
but I didn't pay very good attention in my high school physics class, so I
don't know if a tiny cell chip + tiny gps chip could last long without power.

I've looked in to little tumble generators (I don't know the actual term,
something that could generate power off of movement) but again, my knowledge
is lacking in that department.

Would make for neat little animal tracking devices, if they could generate
power from movement, store in a battery, and then 'pulse' out on a regular
interval (whatever interval is allowed by the generation from the shake/tumble
generator).

~~~
tzs
The GPS tracking collars researchers use on wolves last something like a year
or even two. Their batteries are more powerful than a couple AA's, of course,
but that should at least give a starting point for some back of the envelope
estimates as to what you could do with a smaller power budget.

A lot depends on how often you actually need to gather GPS data, and how often
you need to report it. A GPS can use a relatively large amount of power while
first getting a fix, but then updating that fix later, if it hasn't moved too
far, will use a lot less power.

The datasheet for a GPS module should tell you the power consumption during
various operations, and how long those operations can take, so you can figure
out the power needs for a given updating schedule.

You could probably do some clever things, like include an acceleration sensor
and only update the GPS when you infer from the acceleration sensor that
you've moved.

Similar considerations apply to reporting data. Frequent reporting will use
more power than saving up the data and sending it one bigger batch, because
there is overhead in setting up a connection to whatever you are reporting to.

There are commercially available GPS trackers that run for two weeks on two AA
alkaline batteries or three weeks on AA lithium batteries. I don't think the
ones I saw reported wirelessly...they were the kind you have to retrieve to
get the tracking log, but this suggests that an AA GPS tracker with wireless
reporting with enough runtime to be quite useful is feasible for a lot of
applications.

------
sandworm101
Lol. It's a great idea, but I would hate to go through airport security with
that board tucked into a battery holder. The entire package just screams
"secondary inspection".

~~~
geerlingguy
I carried my Raspberry Pi cluster (www.pidramble.com) through the airport four
times. All but one time I had to do a slight bit of extra explanation that the
hardware and mini rack that held it all together was just a computer. People
aren't used to seeing exposed circuit boards anymore.

~~~
sandworm101
I have the same issue with my ubertooth.

------
paddi91
For everyone who is interested in buying one,
[https://aisler.net/kanflo/aaduino/aaduino-v2](https://aisler.net/kanflo/aaduino/aaduino-v2)

------
gregsadetsky
There used to be a comment thread here regarding the Pi Zero and how it's
impossible to buy one through any of the distributors. Somebody (else?)
provided a link regarding Broadcom, and how they might not want the Pi Zero to
become a success...

Everything seems to have disappeared. What happened?

~~~
j_s
This thread is still here; is it what you mean?

[https://news.ycombinator.com/item?id=11538507](https://news.ycombinator.com/item?id=11538507)

------
jffry
Blog got hugged to death. Here is a mirror:
[http://archive.is/34sQu](http://archive.is/34sQu)

------
striking
It's neat how many pins are available, too. TX/RX (for serial), the SPI pins,
an IRQ, and pins 8-10, 12, 16.

This would be a great way to prototype a simple wearable project that doesn't
use wireless radios.

~~~
asimuvPR
Or to connect to a raspberry pi through serial.

------
BjornW
For those interested, Kanflo wasn't the first to create an Arduino like clone
in this form factor. For instance there is the the Jeenode and its sibblings
developed by Jean-Claude Wippler.

See for more info on this:
[http://www.digitalsmarties.net/products/JeeNode](http://www.digitalsmarties.net/products/JeeNode)

~~~
anotheryou
The JeeNode is way bigger than an AA (with the upper pins bent outwards nearly
double the size).

I recently bought teensys (or teensies?) to get smaller (a little to wide for
AA slots though):
[https://www.pjrc.com/teensy/teensyLC.html](https://www.pjrc.com/teensy/teensyLC.html)
Given the cost you might want to try to sand of one side of connectors to make
it fit :)

------
2III7
18650 form factor would be even better. Better battery life and more room for
stuff on the Arduino PCB.

~~~
Zekio
This would indeed be a much better form factor, especially if it could be made
a two part module.

So you can swap out one part to interchange between BLE or Wifi.

------
tlrobinson
The reverse would be neat too, an Arduino which is also a AA battery holder.

~~~
asimuvPR
Like the basic stamp 2 education board does with a 9v battery

~~~
onlycommenting
The most expensive part for that was the serial-to-usb cord I had to buy.
Great little tool and taught me a lot.

~~~
asimuvPR
Definitely. I used to build my own cables back in the early 2000s and barely
broke even due to radio shacks pricing. Currently have a Boe bot laying around
somewhere in the lab. Might have to dust it off.

------
Gratsby
When you're going beyond hobby basics, doesn't it make sense to shift over to
atmel or any other long established vendors?

I appreciate what arduino has done, but at some point it's too much.

~~~
icebraining
The Arduino _is_ an Atmel chip on a small board with a few components for
simplifying the power supply and USB communication, plus an IDE and a few
libraries for simplifying the development.

There's nothing "basic" about the hardware itself: you can at any time switch
to C and compile with gcc, just like for any Atmel chip.

~~~
Gratsby
Sometimes it's completely apparent that the things I don't know could fill the
internet.

~~~
bramen
The joys of the information age...

------
ZenoArrow
I like the idea of the form factor as it makes it easy to source a compact
case. If it wasn't the case, but rather the compactness, that was particularly
useful then it's worth pointing out that smaller Arduino-compatible boards
exist. For example...

[http://www.seeedstudio.com/blog/2013/07/05/smallest-
arduino-...](http://www.seeedstudio.com/blog/2013/07/05/smallest-arduino-
compatible-board/)

------
svckr
I don't understand what the author is trying to say with "wiring it in
backwards" in the last paragraph. Well, of course you power it with the
batteries right next to it; otherwise, what would be the point? From what I
can gather from the original blog post, linked by asimuvPR, there's just one
way to put it in and you'll probably fry some components if swapping polarity.

Am I missing something, or is this just your average TC article?

~~~
MaulingMonkey
> I don't understand what the author is trying to say with "wiring it in
> backwards" in the last paragraph.

The author is just marveling at this novel / nonobvious form factor, and
referencing this bit as elegant / cool / new:

> The + and – markings on the PCB indicates (this is important, read
> carefully) the positive and negative poles of the battery we are pretending
> the AAduino is. [...] Also note! If you want to power the AAduino from a
> bench power supply, connect the power supply’s black negative lead to the +
> marking and the red positive lead to the – marking.

Typically your electronics have polarity labelings based on which end of the
battery they'd connect to - e.g. you'd have a red wire going from the positive
terminal of the battery to the positive terminal of the device being powered,
which this paragraph is warning is _not_ correct for the AAduino because it's
labeled as a battery would be instead.

------
rectang
It's frustrating that the name is a riff on Arduino rather than Genuino.

[https://en.wikipedia.org/wiki/Arduino#Trademark_dispute](https://en.wikipedia.org/wiki/Arduino#Trademark_dispute)

I guess this serves as a cautionary tale, illustrating the power of a well-
known brand and what happens when you lose control of it.

~~~
tmuir
Arduino has become a generic term referring to anything that can be programmed
by the arduino ide.

It happens to be the largest development community in the world for 8 bit
microcontrollers.

It only makes sense that people who want to give their projects maximum
visibility would use arduino, and not genuino. The top comments in threads
about genuino would just be people talking about the name dispute, not the
actual project.

------
aalhour
Is there any guide/introduction to the hardware architecture of Arduino in
layman terms and how it was built? I am really interested in studying this
aspect of Arduino since I finished the first half of nand2tetris a couple of
weeks ago.

~~~
eggy
More von Neumann-propagating propaganda! Just kidding, I just embarked on
nand2tetris this week. Great stuff! However, I feel have betrayed my Lisp
Machine lust in the process. I was reading Peter Kogge's 1992 book, "The
Architecture of Symbolic Computers" (fantastic book, Lisp, or not), and hoping
to implement my own LM in simple hardware, no Symbolics machine here ;) I have
Pilos (PicoLisp on bare metal) running in a VM on my Windows 8 box[1], and I
am about to buy a chip that was made especially for running miniPicoLisp
[2,3]. All that being said, I am looking into the Propeller chip, the 8x32bit
core chip from Parallax. They released the Verilog files a few years back for
the hardware, and the software (Propeller Assembler, and Spin, a Python-like
programming language for it) years before that [4]. I'd like to see if I can
use it somehow. I like the non-von-Neumann architecture of it. Interrupts are
not needed in the same sense. Also, each 'cog' (1 of the 8x32bit cores on the
Propeller) can modify the main code, thereby allowing for self-modifying code
on the microcontroller. That and Lisp's 'code as data' should make for a
helluva an adaptable system.

    
    
      [1]  http://picolisp.com/wiki/?PilOS
      [2]  http://www.futurlec.com/ET-STM32_Stamp.shtml
      [3]  https://github.com/simplemachines-italy/hempl
      [4]  https://www.parallax.com/microcontrollers/propeller-1-open-source

------
megablast
What I want is one with included Bluetooth LE so that it can easily talk to
smartphones.

~~~
mschuster91
Fuck BTLE. It's a nightmare to work with. Complex, extremely sparsely
documented, and the Linux bluetooth stack is a PITA - not to mention that the
BTLE part of BlueZ is ENTIRELY undocumented and you have to be really lucky to
catch a bluez dev on IRC.

I wonder how all the cheap-ass Android device makers get BT(LE) running... or
wait, often they don't and the user is screwed...

~~~
asimuvPR
I understand the anger, but could you provide more information? Thanks! :)

~~~
tmuir
I do embedded development, and BLE is just another stack. It's actually very
well documented in the official Bluetooth Core Specification. It's thousands
of pages long, but it's a big stack with lots of layers and protocol.

Just like any networking stack, there's a decent learning curve, but its not
like it requires any fundamental tool foreign to firmware development. On the
other hand, your average arduino tinkerer has been handed so much abstraction
of low level details, learning BLE, at least on the device side, would be a
tall task.

Specific implementations of stacks and sdks will obviously vary in quality and
documentation. On the device side, Nordic does a very good job with tools and
documentation for their parts. There are several companies that make modules
with nordic parts and provide libraries and example projects.

I've also used noble, which is a node js module that allows you discover and
connect to devices. On a Mac, all you need is Xcode.

~~~
asimuvPR
Thank you. You make some good points. I've kept myself from touching BLE too
much in favor of wifi and zigbee. I'll give noble a try on my mac. :)

~~~
tmuir
You should seek out a primer of the general architecture. Its definitely a
departure from IP networking. Here's a brief overview:

Devices advertise their presence when they are not connected. The usual
connection is one device to one client, although multiple simultaneous
connections are possible. Clients can look at advertisement data to see what
services the device offers. Once a client connects to a device, it can
interrogate the device further.

A BLE device makes multiple pieces of data available individually, called
characteristics. So if your device had a heartrate sensor and a battery, your
bluetooth profile would likely have a heart rate characteristic and a battery
level characteristic. A client that connects to this device could discover
these characteristics, and read/write them, as well as set up notifications,
so the device can asynchronously send the client data.

An IP based system treats its connection as a single pipe, whereas in a BLE
system, on top of a single physical connection, you effectively plumb a
separate pipe to each piece of information you make available to the client.
Each characteristic has its own read and write callbacks, and each
characteristic can be individually customized with things like read write
notify permissions, data type, description, etc.

~~~
Already__Taken
I just started a little BLE work to get into things. I've found it really odd
there's a definitive list[1] of services that can be advertised. Why is it not
just a specified key/value to advertise?

Like "Health Thermometer" is crazy specific.

[1]:
[https://developer.bluetooth.org/gatt/services/Pages/Services...](https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx)

~~~
tmuir
You can make custom services and characteristics.

The nice thing about standard services is that 3rd party apps that know how to
interact with those services can work out of the box.

~~~
mschuster91
Nope. Mi Bands (fitness trackers by Xiaomi), for example, use some weird
scheme until you can access the heartbeat sensor.

DRM and obfuscation is even present in these devices -...-

~~~
tmuir
Well, there's certainly no requirement to adhere to in terms of access.
Apple's HomeKit runs on BLE but has its own layers of pairing and encryption.

I'll agree though that you are more likely to find compatibility on a
development board level than in a commercial product.

------
ryanmarsh
> The AAduino

I read that with a Boston accent

------
Zekio
That guy had a genius idea, bet many people are gonna use this for wearable
projects in the future.

Kinda wish I was better at stuff like this, maybe I should begin playing
around with my Arduino again.

~~~
5ilv3r
There are always simulators for when bench time is scarce.

~~~
win_ini
Any suggestions? I've gotten into arduino recently and am looking to simulate
some projects if possible (2 year old leaves less time for bread boarding)

------
ilaksh
Isn't the Arduino Pro Mini smaller? And its been out for ages.

~~~
Yaggo
There exists many smaller, less-known Arduino-compatible designs, e.g.
TinyDuino, FemtoDuino, MicroDuino, BareDuino Nano (roughly 20x15 mm).

------
huula
An atmega328p, how big should it be LOL

------
dang
How about we link to that instead of
[http://techcrunch.com/2016/04/19/aaduino/?ncid=rss&utm_sourc...](http://techcrunch.com/2016/04/19/aaduino/?ncid=rss&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&utm_content=FaceBook&sr_share=facebook).

Edit: well that didn't work. URL changed back from
[http://johan.kanflo.com/the-aaduino/](http://johan.kanflo.com/the-aaduino/).

(We detached this subthread from
[https://news.ycombinator.com/item?id=11538219](https://news.ycombinator.com/item?id=11538219)
and marked it well off-topic.)

~~~
cryptoz
Well,

> Error establishing a database connection

~~~
dang
Aw, that sucks.

I'm never sure quite what to do in this situation. It depends on what the
author would want.

~~~
Pharaoh2
It would be awesome if HN automatically created a archived version using
[https://archive.org/](https://archive.org/) and added a archive link below
the post like the web link.

~~~
greglindahl
I've been nagging dang to do that for a while! :-)

~~~
asimuvPR
Definitely would improve the user experience here and respect the bandwidth of
low resource servers like mine. :)

~~~
geocrasher
You might consider using CloudFlare's free service, it helps a lot in cases
such as this.

~~~
asimuvPR
Yes, good idea. I'm currently moving to using a static site generated by
Lektor. That would help a lot.

------
mattewdev
Good news!

