Hack, Make, Teach
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.
I had published my floppy drive emulator for the brother knitting machine, and some other information, using the wiki here at antitronics. This was sub-optimal from the beginning, and since Lady Ada published some of that in her git repo here: https://github.com/adafruit/knitting_machine, I’ve been intending to get more of my files out there. Limor’s repo seemed like the best place to put them, and she’s graciously allowed me to add them. What documentation I’ve created about the brother data format is in there, as well as all the hacked-up tools I used to help with the reverse engineering. There’s nothing there for anyone wanting easily usable end-user applications, sorry about that.
As usual, I’d love to hear from anyone who finds these to be useful.
There’s a great tutorial up by Lady Ada and Becky Stern which is based on some reverse engineering I did of a Brother Knitting machine. This is great, and makes me want to get that machine off the shelf.
It’s so great to find that something you threw out to the public is useful to someone.
Way back in July I thought I was almost done with the power monitoring box.
Well, it had some software issues and then got set aside for more urgent projects (like the makerbot – oh yeah!).
Tonight I wasn’t sleep-inclined, so I dragged it out and dug in. I ended up having to dig pretty deeply into the Xport configuration and learn more about how it works, which was a good thing in the long run.
The problem turned out to be an error in the Xport configuration that I had copied from an arduino example sketch. The owner of that example’s been notified, and my arduino code works, so it was a good evening of hacking.
The power monitor now PUTs a request to the web server as it should. There is still a bug on the server side, but it will wait until another day.
It’s been nagging at me that this got set aside, so now I feel better. I think I’ll go get some sleep.
It was a great day down at the space – including a visit from a bunch of people from Maker’s local 256. I’m sure we’ll find a lot to collaborate on.
I wanted to reciprocate and stop by their place on the way home, but evening arrived I realized that I’m being beaten by a cold of something, and headed home.
I’ve been painting and building the makerbot for a couple of weeks, and finally powered it up today. After fussing around with various versions of software for a while, I hit a mostly working combination, and printed this:
I’m having a few minor printing problems, but most of them can be tweaked out I think. The one that worries me is the periodic halting of the print for a second or so, which causes problems, and the occasional hard motion stop during printing – although the extruder keeps going.
But – not bad for the first few hours under power.
Makerbot batch 5 ships today, and mine should be in that batch! I already have several pounds of plastic waiting to be extruded. I’ll post build progress.
During a week of vacation, I made very good progress on the brother knitting machine file format.
The wiki page has links.
I’ve also started a python class to interface with these files. That class is read only at this point, but I am also playing with an application to program custom patterns, and that will require adding writing capabilities. Links to that software are also on the above page.
I am posting these now because I am coming up on a period of a few weeks when I may not be able to make much progress on this, and I wanted to go ahead and get it out there.
While we were at NYC Resistor last month, Susan and I spotted a knitting machine. It turned out to be Bre’s Brother Electroknit model KH-930E. We ended up making a deal and shipped it home. Sadly, both ends of the machine took some shipping damage, but it’s still functional.
I’ve been hacking and reverse-engineering a bit since then, and I’ve written a python program which emulates the optional external floppy disk drive for the knitting machine. With access to saved files, I’ve begun cracking apart the file format used by the machine, and extending the information other people had already gathered.
I’m keeping the wiki updated here.
I will release the emulator program very soon. I’ve put in some new functionality and haven’t had a chance to test it with the knitting machine yet.
As soon as that’s done, I’ll post it.
The external floppy emulator is available, link is on the wiki page referenced above.
I’ve been working on an arduino power monitor for the Flying Monkey arts collective. I wrote about it originally
over here on my personal blog.
It’s complete, and I think it’s functional. In order to do the final checkout, I have to put it on a wired net, as all that’s available here (at antitronics) at the moment is wireless.
I ended up finding arduino code that Maurice Ribble had written that was almost exactly what I needed, which made it very easy.
Provided that it works, the only remaining thing to be done before putting it into service is to check it against some sort of calibrated standard, or at least to use an accurate AC current meter to compare the output of the current probes with the A/D values that the arduino reads. It should be OK as the analog front end came out of another current monitoring project, but I need to check it.