Repository navigation
LocalTalk Chip (TashTalk)
The AppleTalk port has a small chip of its own: a PIC12F1840, in a socket on the AirWriter's board. The program inside it is TashTalk, written by Tashtari (lampmerchant/tashtalk). LocalTalk's signal is fast and has to be timed exactly. TashTalk takes care of that and hands the rest of the AirWriter plain data.
AirPrint doesn't use the chip. You need it to print from a vintage Mac and to test a cable. Without it, the cable test tells you it can't run rather than failing the cable: the panel blinks red twice by the AppleTalk port, and the settings page says why (see Without the LocalTalk chip).
AirWriter carries a copy of TashTalk 2.1.3 and can write it into the chip itself, from the settings page. You don't need a chip programmer.
AirWriter checks the chip every time it starts. If the socket is empty, the AppleTalk Port card on the settings page says No LocalTalk chip. If the chip is there but has no TashTalk on it, the card says The LocalTalk chip needs TashTalk and shows a Flash TashTalk button. Either way the card has no on/off switch until the chip is sorted out, because the port can't run without it.
| Your AirWriter | What to do |
|---|---|
| Came assembled | Nothing. The chip already has TashTalk on it. |
| You built it and fitted a new, blank chip | Flash it once. See Fit a blank chip and Flash TashTalk. |
Flash it again if:
- you put in a different chip,
- the AppleTalk Port card says the chip needs TashTalk. A flash rewrites the whole chip and reads every word back, so it also tells you whether the chip is sound.
- a firmware release's notes tell you to. Firmware updates never change the chip by themselves.
Flashing again does no harm. It takes about two seconds and doesn't touch your settings or Wi-Fi.
This is for builders. An assembled AirWriter already has its chip.
- Get a PIC12F1840-I/P, the 8-pin through-hole version. The other versions won't fit the socket. Digi-Key and Mouser sell them.
- Use a new chip. New ones come blank, ready for AirWriter to write. A chip that has been programmed with TashTalk somewhere else usually has low-voltage programming switched off, and AirWriter can't write to it.
- Unplug the USB-C power before you put it in.
- The socket is above the AppleTalk port, beside the ESP32-S3 module (the big silver square), with TASHTALK printed under it. With the ports toward you, the socket's notch is at the right-hand end, toward the module. Put the chip in with its notch at that end too, and press it in evenly so all eight legs go in. If your socket's notch is at the other end, the socket was fitted the other way round; the chip's notch still goes toward the module. Check which way round it is before you plug the power back in. A chip in backwards can be ruined.
- Never use a PIC programmer's high-voltage mode on the chip while it's in the AirWriter (a PICkit, for example). The programming voltage would reach AirWriter's main chip. If you need to erase a chip with a programmer, take it out of the socket first.
- Unplug the LocalTalk cable. While the chip is being written it isn't in charge of the port, and the port can send noise to whatever is on the other end.
- Wait until nothing is printing.
- Open the settings page and choose AppleTalk. The AppleTalk Port card says The LocalTalk chip needs TashTalk. Press Flash TashTalk.
- Wait about two seconds. The card gets its switch back and the panel finishes with a green ripple (see below). If the AppleTalk Port was switched on, LocalTalk starts by itself.
- Plug the LocalTalk cable back in.
If the flash doesn't work, the page says why under the cards, and the button stays so you can try again.
To flash a chip that already runs TashTalk, switch the AppleTalk Port off, restart the AirWriter by unplugging its USB-C cable for a few seconds, and use the command below. AirWriter won't flash while LocalTalk is running, because LocalTalk uses the same wires to the chip.
From a script, this does the same and answers in JSON:
curl -X POST http://imagewriter-xxxx.local/api/localtalk/flash
| What you see | What it means | |
|---|---|---|
![]() |
Rainbow stripes with a white bar sweeping across them, then a green ripple from the bottom middle. | Flashing, then it worked. |
![]() |
The same stripes and bar, then red flashes and a red pulse for three seconds. | Flashing, then it didn't work. The settings page says why. |
The stripes are four colors from the old Apple logo (green, yellow, orange and blue), as in the other LocalTalk patterns. The ripple starts from the AppleTalk port, at the bottom middle. If AirWriter refuses to start a flash, because LocalTalk is on or something is printing, the panel doesn't change. Every other pattern is on Status Lights.
The page says what went wrong under the AppleTalk cards, and the Flash TashTalk button stays so you can try again.
| The page says | What it means | What to do |
|---|---|---|
| TashTalk is already installed. | LocalTalk is running, so the chip already has TashTalk. | Nothing. To flash it again anyway, switch the AppleTalk Port off and restart AirWriter first. |
| The printer is busy. Try again when it’s done. | Something is printing, or a cable test is running. | Wait for it to finish, then try again. |
| Can’t reach the LocalTalk chip. | The chip is missing, not pushed all the way in, in backwards, or was programmed somewhere else. | Unplug the power and check the chip. If it came from somewhere else, use a new blank one. If it was in backwards, try a new one. |
| The chip isn’t a PIC12F1840. | There's a chip, but the wrong kind. | Use a PIC12F1840-I/P. |
| TashTalk didn’t install correctly. Try again. | The chip was written but didn't read back right. | Try again. If it fails again, replace the chip. |
| Can’t reach AirWriter. | The page lost touch with AirWriter. | Check you're on the same Wi-Fi, reload the page, and try again. |
In the first four cases AirWriter stops before it writes anything, so the chip is as it was. After TashTalk didn’t install correctly, the chip doesn't hold a working copy of TashTalk, and LocalTalk won't work until a flash succeeds. A failed flash never locks the chip, so you can always try again.
TashTalk is free software, under the GPL-3.0. AirWriter writes TashTalk 2.1.3 exactly as it was released, with one change: it leaves low-voltage programming switched on, so that AirWriter can write the chip again later. That's also why a chip programmed with the stock release can't be rewritten in place. The release file and its source are in the AirWriter repository, in firmware/components/pic_prog.
This documentation is licensed under CC-BY-SA-4.0.

