TashTalk: Single-Chip LocalTalk Interface (v2 and RPi hats!)

Tashtari

Tinkerer
Oct 13, 2022
29
55
13
This project might be old news by now, but there have been a couple of new developments and I haven't announced it on TD yet, so here I go. (Re-)Introducing... TashTalk!

Elevator Pitch

It's a LocalTalk interface, contained entirely within a single Microchip PIC12F1840 (8 pins, ~$1.50) microcontroller.

It handles all the time-sensitive aspects of LocalTalk, bidirectionally bitbanging the SDLC and FM0 (a.k.a. differential Manchester) based protocol at the data link and physical layers, sending and responding to control frames with CRC calculation and checking, and collision avoidance and retransmission. It can also respond to any number/combination of node IDs for use in bridging applications. It can be interfaced directly to user-mode software on a Raspberry Pi or BeagleBone or full PC, or it can be part of a larger embedded system. It slices, it dices, etc.

Project Status

Stable enough to release a v2.0.0.

Caveats

Because of the PIC12F1840's limited memory and the way its UART is used, the host's UART needs to be able to handle a baud rate of 1 Mbps. Conventional UARTs don't expect to be pushed beyond 115.2 kbps. In addition, the PIC has a 128-byte receiver queue, which is considerably smaller than the largest possible LocalTalk frame (605 bytes). As such, the host needs to respect when the CTS hardware flow control line is deasserted so the queue doesn't overflow and be quick about resuming transmission when CTS is reasserted so the queue doesn't underflow either.

Also, "single-chip" doesn't include the separate and necessary driver/receiver chip for RS-422/485. Sorry. =)

Code


Recent Developments

TashTalk v1 had separate pins for LocalTalk input and output, though after the fact, I realized that this wasn't necessary, and made a new version of the firmware that frees up the PIC's reset (!MCLR) pin. Grounding the reset pin holds the PIC in reset, which tristates its pins, allowing other circuitry in the same system to use the RS-422/485 transceiver for other purposes. This, for example, allows the same port to act as a LocalTalk port or a conventional serial port.

I made a simple Raspberry Pi hat to use this design (even though it doesn't use the new feature), and I have enough parts to sell a handful of kits for it at cost for $12 plus shipping - DM me if interested!

1677469804030.png
 

Tashtari

Tinkerer
Oct 13, 2022
29
55
13
Aaaaand they've all been snapped up! Anyone else who's interested, be sure to contact me anyway, if there's enough interest, I'll make more.
 

Tashtari

Tinkerer
Oct 13, 2022
29
55
13
I had a few almost-complete TashTalk 2.x kits (just missing the RS422 transceiver) that I decided to complete as part of a larger Digikey order... anyone interested? Still just $12 plus shipping, shoot me a DM.
 
  • Like
Reactions: eric

Tashtari

Tinkerer
Oct 13, 2022
29
55
13
Some updates:


TashTalk 2 Hat kits are back in stock at my ko-fi store!

I've made up kits from the last PCBs I have, but if these run out, I'll order more.


TashTalk v2.1.3 and v1.0.1 have been released!

These releases put in place a fix for a smattering of issues that have been reported using TashTalk with certain devices such as the Power Macintosh 6100 and the LaserJet 4MP. See release notes for further details.

Upgrading requires a Microchip programmer such as a PICkit or ICD. PICkit3 programmers can usually be had on ebay for $30 or less, but if you want to upgrade and don't want to buy a programmer, contact me and we can figure something out.

Users of TashTalk v2.x versions prior to v2.1.3 may upgrade to v2.1.3 and users of TashTalk v1.0.0 may upgrade to v1.0.1, but it should not be considered necessary unless your setup is unable to communicate with one or more devices on your LocalTalk network.

Users of TashTalk v1.x must not upgrade to v2.1.3 or any v2.x version because of the change in pinout between v1.x and v2.x.

AirTalk users have TashTalk v1.0.0 and may upgrade to v1.0.1 as above.
 
  • Like
Reactions: Kai Robinson

Tashtari

Tinkerer
Oct 13, 2022
29
55
13
I'd like to order a kit, if you get more in stock. Clearly, they sell fast!

- Alex
Sudden unexpected uptick in popularity since the whole GlobalTalk thing came about. =) I have PCBs on order, once they're here I'll be able to make more kits and will update this thread.
 
  • Like
Reactions: PL212