Hack, Make, Teach
There are more and more people diving into hacking on knitting machines, which is really great!
It’s getting to the point where there are too many people to thank for carrying this forward, you know who you are.
But, the increasing popularity has led to some problems and frustrations for people.
Recently I discovered an old thread on a Ravelry forum about the PDDemulate.py disk emulator that I wrote. People were frustrated by problems they were having. By the time I discovered the thread, I had already been contacted by one of the people with the problem, and I discovered a bug in the emulator. It’s now fixed in the repository. But months had gone by between the forum postings and email contact. The forum thread is still out of date, because a solution has been found but that’s not indicated.
I try to be responsive to people when they have problems with the code – I help when I can and try to be up front if I’m too busy to dive in deeply or if the problems are with an environment I don’t have (I only have a KH-930, and only run the emulator under Linux). But I don’t have time to find and follow every forum where this is being discussed.
Through email from people using the software, I’m becoming aware of more people who are working on this but unaware of others doing the same thing. It feels like there’s a larger community forming around this, but it’s fragmented.
Therefore, I’d like to respectfully suggest that we centralize the resources used for these projects, so that we can help each other, and keep a record in one place of the existing knowledge. Other forums are great, and I know there are communities with forums which reach and help the people who participate in them. Those should continue of course, but for people with deeper interest it may be appropriate to point them to this blog entry.
The definitive repository for the knitting machine disk emulator and related files is here:
If you’d like to fix or improve the code, or add information about different models of knitting machine, please fork that repo and then make pull requests to have your changes incorporated.
Technical information about connecting to Brother knitting machines and about the KH-930 is here:
Discussion about the software and reverse engineering of the data formats is taking place here:
The Yahoo group and git repository are the only places that I’ll regularly follow, and try to respond to questions.
I’ll still respond to email, my email address is in the code in the repository. But I’ll probably ask you to go to the Yahoo group. Still, if you’re self conscious about the question or whatever, you can use email.
Now, let’s all make great things!
Lately I’ve been working on the knitting machine code some more. First, the thing that will affect fellow hackers and knitters the most -
Update 3/1/12: After some more thought, I’m recommending against simply using a serial adapter, as I had previously written here. My reasoning is this -
While I’d like to make it as easy as possible for people to connect to their knitting machines, I’ve only tested this on one model of machine. A standard USB serial module may present voltages to the knitting machine which are outside the range that the external drives do. While I’ve determined that this is probably safe for the one model of knitting machine that I have, I can’t be sure that it’s not going to stress the input circuitry on some models. The absolute safest way to do this is to use the exact same signal voltages that the external disk drive does. In order to do this, using an FTDI interface is the best way. The cost for using adafruit’s “FTDI Friend” is only about $5 more than using a standard serial interface, and since these old knitting machines are irreplaceable and often very expensive when you can find them, I’d rather do this the absolute safest way. I have no reports of problems from using regular serial interfaces, but I think that this is a case where absolutely correct engineering is more appropriate than a hack to save a few dollars.
I’ll be updating the wiki page very soon with directions for how to use the FTDI Friend to interface with the knitting machine.
I’ve now thoroughly tested connecting a PC to the knitting machine using only a standard USB serial adapter. This means that you don’t have to fool with FTDI interfaces, inverting signals, etc. All it takes is a serial adapter, a female DB-9 connector, and four jumper wires. That’s documented on the wiki page.
This makes it much easier for the less technical among us to connect their machine to a computer.
The rest will have more impact in the long run . . .
I’ve obtained an actual Brother FB100 external floppy drive, and successfully connected it through a serial adapter. It requires a 5V adapter – I’m using the adafruit FTDI friend. It’s a little complex – you have to rejumper and reprogram the FTDI friend. That’s also documented on the wiki page here.
There are some files currently in the ‘experimental’ directory in the source repo which communicate with the disk drive, and extract information from knitting machine disks into the format used by my disk emulator. I’m planning to use these to help fill in some gaps in knowledge about the file format used by the knitting machine.
Most people won’t have use for this code to interface with the floppy drive, as the drives are rare.
I have other plans for this investigation, so I may have more to say about it soon.