I just checked and you can still get all the parts to build a PDDuino.
The parts are an off-the-shelf microcontroller board and a short bom for
an adapter board.
You have a choice of at least 4 different microcontroller boards all in
stock from a few different places currently, and the only special part
on the adapter board is a max3232 clone chip that has a few different
equivalent substitutions so if one is out of stock there are other
suppliers and other versions.
Currently, everything is in stock all from one place from digikey
(probably mouser, farnell, jameco etc too).
But this is quite a different proposition, building the MounT board
yourself and compiling and loading the firmware yourself.
In more detail, it goes like this:
Altogether this is made of 4 main parts
1 - The MounT board, which is a small pcb that serves as serial cable,
rs232 level shifter, and physical mount to hold the arduino board.
https://github.com/bkw777/MounT
The BOM shows the max3232 clone chip out of stock, but digikey
automatically offers a substitution that's in stock, and it's a good
substitution, so go ahead and use it.
Bizarrely the 2-pin jumper horizontal pin header is out of stock but
that is trivial. Its just a plain 2.54mm 90 degree pin header. They have
countless others. You could get a bag of 40-pin sticks of the same thing
on ebay etc and just snap 2 pins of one stick, or just bridge the two
pins directly on the pcb since 99% of the time you just want a jumper on
the pins anyway.
2 - the off-the-shelf arduino-compatible board (2 adafruit feather
models, 2 teensy models) which has the microcontroller and sd card
reader, and in the case of the feather boards also a lipo battery charger.
https://www.adafruit.com/product/2795
This is also available from digikey so you can just add it to the same
order as the MounT parts.
https://www.digikey.com/short/qfr0hr4p
3 - USB version of BCR_Breakout for power, or for the feather boards
they can use either the BCR port or a lipo cell for power. The lipo cell
is small and fits right in between the two pcbs and doesn't even make
the combined unit any larger. It recharges from the usb port and is
connected by a JST plug so it's removable/replaceable.
https://github.com/bkw777/BCR_Breakout
The usb cable unfortunately just has to come from the alieexpress links
in the readme. You can use any ordinary microusb cable that you already
have, but if you want one of those neat little short cables with 90
degree plugs in just the right directions, they aren't so common.
and/or the lipo cell
https://www.adafruit.com/product/1570
Also available from digikey so also can be added right to the same order
https://www.digikey.com/short/9nj4hh3p
To be clear, the battery is totally optional. It runs fine off the BCR
port. You just may not want that extra cable and plug hanging off your
machine sometimes.
When using the battery, it fits right in between the two pcb's, and the
wire can be stuffed in there too so the whole thing is neat and compact.
4 - PDDuino firmware
https://github.com/bkw777/PDDuino
You don't have to solder the microcontroller board to the MounT board.
You can, but the MounT board has staggered pin holes so that they form a
friction fit with the pins on the microcontroller board. You order the
PCB with ENIG finish which means the copper is gold plated, so those pin
holes effectively become a socket for the microcontroller board. You can
plug it in and use it, then unplug it and use it for something else.
Of the 4 supported boards (5 if you count the grossly overkill Teensy
4.1), I recommend the 32u4 feather board for several reasons even though
it's the oldest and slowest cpu of the lot.
Between the teensys and the feathers in general, the feather boards have
lipo battery managers built-in, so they can charge a lipo cell from the
usb port and run off of that battery, and it acts as a UPS, switching
itself automatically between running from usb or running from battery or
charging the battery as needed. You can connect/disconnect either the
usb or the battery any time without worrying or interrupting anything.
And the battery is connected by a standard JST connector, so it's
removable/replaceable.
Oh plus the feather boards have the sd card detect switch in the card
slot wired up to a pin, which is also assignable to a hardware
interrupt, while the teensy boards do not have the switch physically
connected to anything. (the card slot does have a switch though, and I
*think* it's possible to make a pretty easy hardware mod to connect it
up and read it from software) So the feather boards can detect when the
card is ejected/inserted, and automatically trigger the card-init and
bootstrap functions just by ejecting the card. It means 2 things, 1 -
when you eject and re-insert the card, the pdduino code knows it
happened and re-scans the card to get the new file listing, and 2 - you
can trigger a bootstrap by ejecting or inserting the card rather than by
power-cycling. It's slightly more convenient.
The teenys have no idea that you ejected the card and that the contents
may now be different from when it was scanned at power-on, and the only
way to trigger either the card re-scan or the bootstrap check is to
power-cycle. Which is still fine but the feather is just a little nicer
all around.
Oh plus the feather boards have an extra LED near the sd card so you can
indicate different status conditions better.
And between the 2 feather boards, the M0 version is currently slightly
buggy due to Adafruit knowingly violating some timing specs in their
board support libraries, apparently to get better audio performance at
the expense of stability. This is possibly fixable by just not using the
Adafruit board support library and just using the generic SAMD/M0
libraries in Arduino, or possibly even by just code in the app even
while using Adafruit's library, but I haven't worked it out yet, and so,
The hardware of the M0 board is fine but the software currently is a bit
buggy on it.
That leaves the 32u4 feather board which works perfectly and is has the
best usability features for this application.
The firmware is all-in-all about 7/8ths-baked, and not as feature rich
as the Backpack or NADSbox, but working.
It just emulates standard TPDD1 file access functionality, plus TS-DOS
sub-directories, and the TPDD2-style bootstrap.
No TPDD2 banks (though, you don't really need them since you aren't
actually limited to 100k, but it would be nice to support them anyway
just for the sake of any software that tries to use the commands.)
No kind of raw sector / raw disk image emulation, either TPDD1 or TPDD2
methods.
No other features like a terminal command interface or modem or rtc etc.
But it's working and it's open source so you can mess with it and add
more features or improve the existing ones. Jimmy Pettit wrote the
original main tpdd emulation and I worked on that and Jim Brain worked
on that. So it's already moved along from multiple people working on it
to get where it is now.
So far only a few people I know of besides myself have actually built
one, but there have been at least a few. Just a week or so ago someone
on an Olivetti M10 group on facebook made one using the M0 feather
board, and without ever contacting me for pointers or anything. First I
heard of it was when he posted to that group when it was done and
working. So apparently I haven't left anything too critical out of the
various directions and readmes. It's apparently working for him despite
what I said about the M0 not really being perfectly working right now.
So it's quite a different proposition from just buying a backback, but
it's not impossible either. You don't even need very special soldering
tools even though the MounT board has SMT parts. Just a plain $15
low-wattage soldering iron, flux (not just the rosin core in the
solder), and some reading glasses is all you really need.
--
bkw
On 1/28/22 13:52, Mark J. Blair wrote:
On Jan 28, 2022, at 10:48 AM, Mark J. Blair <[email protected]> wrote:
I think I'll order one, even though I already have a perfectly good NADS box.
Or maybe I'll wait until more can be made... :)
--
bkw