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

Reply via email to