
A $1, Linux-Capable, Hand-Solderable Processor - johncole
https://hackaday.com/2018/09/17/a-1-linux-capable-hand-solderable-processor/
======
jwr
This makes no sense. (I do electronics)

"Hand-solderable"? Every QFN package is hand-solderable, too, using hot air,
and is much smaller than the TQFP. And what is the benefit of "hand-soldering"
if you still need to use DDR3 DRAM? It won't come in TQFP, and for good
reasons, and good luck connecting it to that Allwinner CPU.

If you want tiny chips that can be hand-soldered, go with microcontrollers
(ESP32 or Kinetis), which have everything on-board. You really do not need the
overhead, complexity and incidental bugginess of Linux for most things, trust
me. Also, choose QFN, not TQFP, use hot-air and have the entire thing soldered
in 30 seconds.

~~~
makomk
I don't think manufacturers offer QFN packages in this high a pin count. Not
sure why. Presumably there's some kind of manufacturability issue that TQFP
doesn't suffer from. (The much smaller PMIC that's designed to be partnered
with this is QFN though.)

~~~
fermienrico
Wirebonding a massive footprint is less yielding. Also the large packages take
up more room on JEDEC processing trays in semiconductor manufacturing and
leads to higher costs due to low chip/tray throughput. Furthermore, warpage of
large packages is of concern and so is inability to ship in Tape & Reel.

All serious stuff in IOT is WLCSP which has an insanely small footprint
__and__ z-height.

------
opencl
If you want to hand solder a Linux SoC into a hobbyist project it's generally
a whole lot easier and cheaper to stick some headers on and piggyback a $5 Pi
Zero or similar board.

Board layout for one of these things and the associated DRAM etc. is not
exactly a trivial task either. I really don't think that the sort of person
who can't be bothered to set up a toaster oven for reflow soldering is going
to be able to make a functioning board using this chip.

~~~
pjc50
Also, none of these webpages mention where to get it and it's not on the
really common distributor websites (Digikey, Mouser).

~~~
dchest
Olimex, whose board is mentioned, sells them
[https://www.olimex.com/Products/Components/IC/A13/](https://www.olimex.com/Products/Components/IC/A13/)
(for 3 EUR, ships from Bulgaria)

------
Darkstack
I had to deal with theses processors this weekend (Allwinner H3) for a side
project (Pandora Box5 Jamma, an arcade system), the documentation is awful, i
was unable to find the "real" SDK, the boot0 is a proprietary blob, but i
found this awesome project [https://linux-sunxi.org](https://linux-sunxi.org)
if you want to work with these kinds of processors.

~~~
makomk
I don't think there's generally much reason to use Allwinner's boot0 on H3 or
older, since mainline U-Boot has supported those chips for a couple of years
now. In principle you can even just run Debian on them (though I don't think
they build installer images for anything that new right now, and most people
use Armbian for its better user experience).

~~~
Darkstack
Thanks ! i will look into it.

------
blattimwind
> The chip in question, the Allwinner A13, is a 1GHz ARM Cortex-A8 processor.
> While it’s not much

When did 1 GHz cores become "not much" for small embedded systems?

~~~
Drakim
It barely even manages to run node.js in a docker! /s

My guess would be that a lot of of embedded things like kitchen appliances
tend to run touchscreens with graphical interfaces these days.

~~~
colejohnson66
You can run a small touchscreen with an Arduino. You also don’t need a fast
processor for a big touchscreen; just enough RAM and a dedicated video chip

~~~
dcbadacd
Yeah, and that's how you get laggy user interfaces that at least I despise.
Spend that 4€ on a better chip.

~~~
ben_w
How did we manage non-laggy user interfaces back in 1995 when 120 MHz single
core/single chip, registers slower than modern RAM, and no dedicated graphics
processor was top of the line?

~~~
pjmlp
By writing lots of optimizations in hand optimized Assembly.

[http://www.jagregory.com/abrash-zen-of-asm/](http://www.jagregory.com/abrash-
zen-of-asm/)

[https://www.amazon.com/Windows-Assembly-Language-Systems-
Pro...](https://www.amazon.com/Windows-Assembly-Language-Systems-
Programming/dp/087930474X)

~~~
naasking
And by using a highly restricted colour palette, low resolution, no anti-
aliasing, etc.

------
wycx
[https://linux-
sunxi.org/Linux_mainlining_effort#Status_Matri...](https://linux-
sunxi.org/Linux_mainlining_effort#Status_Matrix)

------
learc83
What is with the obsession with hand soldering everything? I did all of the
pre-production prototyping for a startup several years ago using low temp
solder paste, laser cut stencils, and a hotplate.

It was way easier than trying to solder everything by hand. I started out only
using the hotplate for the stuff I couldn't get in a through-hole package, but
I eventually moved almost everything over to SMD.

~~~
vidarh
> What is with the obsession with hand soldering everything?

My guess it is because it's the only thing a lot of people who are not used to
doing hardware (like me) has dabbled with, and so it looks simpler/easier on
the surface.

~~~
Filligree
Also, they may have a soldering iron. They do not have this other stuff.

------
bri3d
From the comments, a complete hand assembly system using a similar chip with
onboard RAM (allwinner v3s): [https://github.com/petit-miner/Blueberry-
PI](https://github.com/petit-miner/Blueberry-PI)

------
MisterTea
Good luck hand soldering the BGA memory which is the only package you're going
to find DDR2/3 in.

~~~
snuxoll
DRAM packages don't look TOO terrible, you could probably do it by hand with a
mask, solder paste, a heat gun and a fair amount of patience. Alignment is the
big issue, but your standard DDR3 package is 96 balls with a high enough pitch
that you could eyeball it.

~~~
crankylinuxuser
The problem is QA.

If its non-ball, you can use a magnifying glass to verify.

If its ball, you _aren 't_ verifying it. You need xray gear.

------
pp19dd
We're in an amazing technical availability era. For the nearly same price and
form-factor size you can either have a 4 MHz low-power microcontroller working
in your custom TV remote controller or a (headless) machine capable of running
RetroPie and C-64 games.

And the part that stands out to me is the draw toward the obvious path of
least resistance. Why program any of that in assembly, when you can put
together a few bash scripts with LIRC?

~~~
floatboth
That, by the way, is what's great about Arduino. Super low power
microcontrollers, native C/C++ code, _and_ a "least resistance" experience —
well documented, popular, easy to use libraries for all peripherals.

Having a full unix-like OS can actually add "resistance" compared to that :)

~~~
dancek
That's pretty much true, but I have to nitpick a bit. Arduino tends to mean an
8-bit AVR chip, say ATmega328. That's actually not very low-power and things
get difficult once you need just a tiny bit of performance.

Luckily there are alternatives so you can choose the right tool for the job.

~~~
floatboth
Yeah, the most common boards (cheap Uno/Leonardo clones on eBay/Aliexpress)
are AVR, but newer Arduino boards (M0) are based on Cortex-M cores, and
there's things like the ESP32 that can be used with Arduino IDE…

------
megous
> it should be noted that like all of these random Linux-capable SoCs, the
> software is a mess

Such nonsense. A13 is almost fully supported in the mainline kernel.

[http://linux-sunxi.org/Linux_mainlining_effort](http://linux-
sunxi.org/Linux_mainlining_effort)

And datasheets are available:

[http://linux-sunxi.org/A13](http://linux-sunxi.org/A13)

So I'm not sure what the author is missing.

~~~
deelowe
How do you bootstrap the thing? Kernel support is rarely the primary issue
with SOCs.

~~~
rjsw
The Allwinner SoCs will load U-Boot from a SDcard.

~~~
floatboth
From SPI flash too.

I have a tiny pinout board with a winbond chip hanging off of a bunch of wires
from an Orange Pi PC, U-Boot loads from there and network boots FreeBSD. +1 SD
card freed! :D

~~~
exikyut
A photo of that wouldn't go astray on here, I don't think.

~~~
floatboth
There's one already on the sunxi wiki: [https://linux-
sunxi.org/File:Xunlong_Orange_Pi_PC_with_impro...](https://linux-
sunxi.org/File:Xunlong_Orange_Pi_PC_with_improvised_SPI_flash_shield.jpg)

Mine looks almost the same

------
aequitas
"There is no HDMI support, you’ll need to add some more chips (that are
probably in a BGA package), but, hey, it’s only a dollar."

And a power supply, IO, RAM, ROM, board, etc. The BOM quickly adds up.

I don't know what the price of the RPi CPU is, but my guess is it's not far
off $1 in bulk.

~~~
MrEfficiency
This was my thought, its cool, but you will still need to buy things for power
management at a minimum.

Anyone have a drawing? Curious if it NEEDS capacitors to function.

~~~
pjc50
It will do, almost every digital IC will require decoupling capacitors for
stable operation.

------
baybal2
That's Allwinner a13

The catch: memory is still BGA, you will save more if you go for slightly more
expensive SiPs

~~~
bri3d
The V3s is much better for this goofy use case because it has onboard RAM so
you can bring up a truly hand soldered machine with it.

------
creeble
I think this is roughly the chip in CHIP, from Nextthing Co; I've got a few
floating around my desk. I think the Pi Zero killed their party, haven't
looked them up in a while.

But I have a CHIP at a location running autossh for a permanent tunnel into
that network...

~~~
creeble
Ah, went bust:

[https://en.m.wikipedia.org/wiki/CHIP_(computer)](https://en.m.wikipedia.org/wiki/CHIP_\(computer\))

------
MrEfficiency
Can anyone explain a real world use?(even a DIY use)

What would you use Linux for when embedded systems usually are written in
mostly C.

Easier libraries and access to web? I cant quite understand how this can be
used.

~~~
dejv
I am working on industrial level sorting machine. That machine use Linux
device to control other subsystems (cameras, conveyor belt controller, various
servos and what not). As number of components in systems grow you want to have
single place for all the logging, handling user inputs (both local and
remote), calibration and even system upgrades.

~~~
moftz
Yep, write all of your lower level components in C to run on PICs (or HDL on
FPGAs, either way you get high reliability) and have those interface with
larger systems that run higher level software to display sensor data and offer
a control panel to command the actuators in the system. Just like in a car,
the collision detector runs fast low level C but it feeds data over CANbus
back to the ECU which is probably running an RTOS and sends that sensor data
to the head unit which probably runs some sort of Linux-flavor to blink an
icon on the reverse camera video feed.

------
sitkack
It isn't anywhere close in perf but the i.MX23 is also in a 128 pin LQFP
package.

[https://www.digikey.com/product-detail/en/nxp-usa-
inc/MCIMX2...](https://www.digikey.com/product-detail/en/nxp-usa-
inc/MCIMX233DAG4C/MCIMX233DAG4C-ND/2660586)

~~~
dchest
I think this was actually the SoC that launched the original OLinuXino project
from Olimex: [https://www.olimex.com/Products/OLinuXino/iMX233/open-
source...](https://www.olimex.com/Products/OLinuXino/iMX233/open-source-
hardware)

 _OLinuXino project started with iMX233 from Freescale for several reasons:
this is ARM9 processor running at 454Mhz with enough power to run linux and
still in handsolder friendly TQFP package, which allow hobby DIY approach.
iMX233-OLinuXino-MICRO is even on 2 layer PCB and running at full speed. The
maximum memory of 64MB though limited the applications with it, so we were
looking around for something more powerful when A13 from Allwinner came
along._

([https://github.com/OLIMEX/OLINUXINO](https://github.com/OLIMEX/OLINUXINO))

------
nutjob2
"Hand solderable" is a relative term. BGAs are often easier than soldering
TQFPs.

~~~
krastanov
Really!? For me it is trivial to solder a TQFP chip (quite quickly with flux,
but it is doable even without flux). On the other hand I do not trust myself
to do BGA by hand placement (presumably with solder paste from a stencil and
whether with heat gun or a reflow oven). Am I missing something?

~~~
joezydeco
You're not. BGA is a pain in the ass, and unless you have an X-ray device to
check solder integrity you're going to always be wondering if that last heat
cycle took successfully or not.

~~~
crispyambulance
BGA with a sane pitch size and not too many balls is feasible with a basic
reflow setup if you have boundary scan and functional testing. The guy who
created tinyFPGA did it-- [https://theamphour.com/395-an-interview-with-luke-
valenty/](https://theamphour.com/395-an-interview-with-luke-valenty/)

By the time you got more than 1 BGA in the BOM however, it's time to seriously
consider an assembly service.

~~~
escherplex
Question for you: how much flexiblity is there in the connection points on
these surface mount components? Unlike DIPs seems any heat expansion or
mechanical flexing would break the connections.

~~~
crispyambulance
I don't think it's a matter of flexibility but rather rigidity. One of the
products I work on has a BGA with over 1400 balls at a very fine pitch (smt
done at contract manufacturer with serious machines, of course).

The really high ball-count devices always go on thick multilayer PCB's (ours
has 32 layers). Mechanical flexing certainly can break connections but that
requires a significant force that "should never" been seen in the field.

BTW, one way to troubleshoot for already existing poor connections on a BGA
(other than using boundary scan) is to blast it with cold spray or push down
on it while running a test. If it stops working or suddenly starts working,
you know you have a problem. The cold-spray/heat-gun/press-down
troubleshooting techniques won't hurt good connections.

These things can be a pain in the ass, but a properly soldered BGA on an
appropriate board with appropriate heat sinks and fixturing is very reliable--
they're everywhere.

------
Animats
Yes, the Allwinner A13, inside many low-end tablets. Tablets around $50 from
two years ago probably had an A13 inside.

