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.
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.
I’m late posting the news, but Antitronics moved out of the Flying Monkey Arts Center. There’s big news, though! Susan found a great 18 foot trailer that’s in the process of conversion to a mobile shop/space. I expect that the trailer will double as my normal electronics shop, plus travel as needed to be a mobile hacker space.
The tile floor is half installed, and insulation is probably next on the list. The trailer is a vending trailer with a big side door, and already equipped with AC power and lighting. This project is going to take months to finish.
I’ll post some photos soon.
Bdale Garbee and Keith Packard are both longtime Debian Developers, and have a pile of code to their credit. They’ve presented at a number of conferences and almost always find a way to work their passion for rocketry into their presentations. They are both amateur radio operators.
At the Linux Collaborative Summit last week, I had a chance to talk with them, and the topic drifted quickly to Rocketry and Amateur Radio, and the intersection of those interests. They’ve created the TeleMetrum telemetry system, available soon from their Altus Metrum site. This is an amazing platform that has applications beyond rocketry – a GPS, accelerometer, and altimeter with a telemetry link in the 70cm amateur band. it’s all open hardware and open software.
They’re about to open shop and start selling these, and I know it’s going to be a big deal for a lot of people in Rocketry. I can also see uses for high altitude balloon launches.
I’m not into rocketry any more, and there’s no room in my hobby load for that, but I was really interested in the programmable radio chip that they are using. The same chip is used on both the rocket and for the ground station, and the ground station unit is available as the TeleDongle. The TeleDongle is a complete radio system with 10mW output on the 70 cm band, powered from a USB port. As supplied, it has code installed from Keith which makes it a virtual 38k4 serial link. With different output filter values, the chip can function over a wide range of frequencies, but it’s only certified in certain bands. I’m still digesting the data sheet, but there’s an amazing amount of functionality on the chip.
Happily, I was able to order a couple of the TeleDongles from Bdale, and I got notice today that he has shipped them. They’re set up so that you can use one as a USB adapter to program the other, making experimentation easier. I’m looking forward to experimenting with these. I’ll post the results!
Tonight (Friday, Feb 26th) at the weekly meeting of the Huntsville Amateur Radio Club, I’ll be presenting a fast tour of a number of applications useful to radio amateurs. These are all free of cost and open source software. I’m going to do a quick presentation of each, without going into a lot of detail.
Applications shown will include:
fldigi – sound card digital modem
xlog – a logging program
hamlib – rig and rotator control
xdx – dx cluster client
colrdx – another dx cluster client
gpredict – satellite pass prediction and information
splat – VHF/UHF propagation prediction using terrain data
antennavis – Antenna pattern modeling and visualization
xnec2c - Another antenna modeling application
gsmc – a smith chart tool
aldo – morse code trainer
xastir – APRS application which can use network or rf connection
And . . . A surprise demo that I think is very interesting. The success of that demo will depend on reception conditions at the meeting. If I can’t make a full-functioning demo I’ll show what I can.
The meeting is at the Huntsville American Red Cross Chapter house at 7:30.
Next Friday, March 5th at the same time and place, we’re going to be having an installfest to install Ubuntu Linux on your computers.
Come on down to the Haiti relief event at Lowe Mill tomorrow. You will seldom see such an amazing musical lineup for $5 admission. There’s also a silent auction fundraiser, and Antitronics is contributing some items so come bid on them! Here’s what we’re putting into the hat:
Two Drawdio kits from Adafruit Industries. These are fun little kits that make a lencil that generates tones when you draw, using the resistance of the graphite on the paper. You can see one already built at the Antitronics space – I’ll be there this afternoon.
Auction Info (pdf).
Update: Here’s a link to some of the awesome artwork available at the auction.
I arrived today in Dallas with the makerbot in fine shape, after flying with it as checked baggage. I had checked with the folks at makerbot labs, and they advised me that a Pelican 1620 case was the way to travel with a ‘bot. They were right.
I have to give a shout out for the people I ordered the case from – Leisure Pro. I ordered the case with less than a week to go before this trip, so I had it shipped second day via UPS. Leisure Pro called on delivery day and said “Your shipment was just delivered to us. We don’t know why, but since you ordered this second day you must need it in a hurry – what can we do to make sure you have it when you need it?”.
Wow – proactive customer service! They got the case to me in time, it holds the makerbot, a handful of tools, and a couple of pounds of plastic with no problems. And – it comes in under 50lbs, which makes the checked bag limit.
So the ‘bot is here at the Ubuntu Developer Summit, and is printing as I write.
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.