Brother KH-930 Knitting Machine Hacking and Knitting Tutorial

A video tutorial that was already published 2010 by Becky Stern gives a great overview of the proces to work with a hacked brother knitting machine KH-930e. The hack is based on the work of Steve Conklin and published on github here: github.com/adafruit/knitting_machine

The Brother KH-930e Knitting Machine can be controlled by Open Source software. Parts of the process require commandline experience and Python knowledge.

Disk Drive/Computer Connection Notes

The external floppy drive for this machine was the same as a Tandy PDD1 (Portable Disk Drive 1). This drive is connected using a serial port. There is documentation on the internet about how to connect these drives to computers, but the connector pinout on the knitting machine is different than the drive, and I didn’t find that documentation to be helpful. I was able to figure out the connector pinout by examining the knitting machine PCB.

Knitting Machine/Computer Connection Notes

The knitting machine drive connection uses CMOS voltage levels, not RS-232. Here is the pinout of the drive connector on the knitting machine:

      _____
      |   |
______|___|______
|   |   |   |   |
| 7 | 5 | 3 | 1 |
|___|___|___|___|
|   |   |   |   |
| 8 | 6 | 4 | 2 |
|___|___|___|___|

The pin numbering is shown as they are labeled on the knitting machine PCB, and does not agree with other documents I found on the web.

Connector Pinout
Pin Signal I/O Notes
1 Ground    
2   Out Tied to 5, Pulled up through 1K resistor
3 CTS? In (Tie to pin 2)
4 No Connection    
5   Out Tied to 2, Pulled up through 1K resistor
6 RXD In  
7 TXD Out  
8 RTS? Out Follows state of Pin 3 (buffered)

Methods of connecting the knitting machine to a computer

Using a FTDI serial adapter cable (RECOMMENDED)

Using an FTDI adapter is the best way to assure that you are interfacing with the machine using the same signal voltages as the original external floppy drives. This is documented on this wiki page, which will someday be merged with this one.MProg only runs under windows.

Using a USB serial adapter WITH flow control

This is a method I have used extensively with one model of knitting machine, but I no longer recommend it. Although it does not require any additional hardware like a FTDI adapter, this method does not present the exact same voltage levels to the knitting machine as the external drives which were designed to work with the machine. Although I have not had any reports of problems, it is possible that this method could stress the knitting machine input circuitry, and therefore I think it is safest not to use it.

Cable connections with flow control
Knitter 9 pin connector
1 5
6 3
7 2
8 4

Using a USB serial adapter WITHOUT flow control

I have pulled pin 3 high, and am not using flow control in my software. I have not had problems with data loss while sending to the knitting machine, and the machine I am using is fast enough to always keep up with data received from the knitting machine. The data rate is 9600 bps, and the largest amount of data sent at once is 1024 bytes. Here is the cable I am using to connect the knitter with a USB 9 pin serial port:

Cable connections without flow control
Knitter 9 pin connector
1 5
2 tie to 3  
6 3
7 2

Software Interface Information

There are a number of documents on the web about the Tandy PDD1 and the serial API for it, Most of them are incomplete. The knitter places the drive into a mode called “FDC emulation Mode”, which allows access to raw sectors. This document is the most complete documentation I was able to find: Media:Tandy-Disk-Reference.pdf

External Disk Drive Emulator

I have written software that emulates the external disk. It runs under Linux and keeps the data as files on the linux file system. This allows knitting designs to be saved and restored using the emulation computer. I am using these files to reverse-engineer the knitting machine file format. The emulator is written in Python, and released under the GPL. It has been tested most extensively under Ubuntu Linux. I have reports that it does not work on windows due to problems with the serial library. It has been successfully run under OSX. If you have any information to add about platforms that it does or doesn’t work on, let me know and I will update this informationI am happy to work with people who are trying to use the emulator with different models of knitting machine, and hoep to improve compatibility with other machines. The source code is available in the git repository listed above. Software for manipulating Brother data file: I have begun a python class which will provide an API to the brother data files. Source code is in the git repo. Knitting Machine File Format: A lot of the file format is now understood. Documentation is in the git repo.Work on this continues.This work was greatly helped by prior work performed by John R. Hogerhuis and posted on the kminternals yahoo group.

Links

Media:Portable_Disk_Drive_Operation_Manual.pdf

BL5 Brotherlink 5 serial or USB cable Brotherlink information

Yahoo group dedicated to hacking brother machines

Brother Liberation Front is working on open source interfaces

Info and protocols for the FB-100 interface

KE-100 motor drive (not sure that this is the right model drive for the KH-930E)

Adafruit Tutorial: learn.adafruit.com/electroknit?view=all

What about Open Source mobile apps

Open Source has been the basis of Android and runs the biggest sites on the net. So what about Open Source apps?

I was looking around for Open Source apps and I found a few sites, that collect them. There is already a short list with apps on Wikipedia. The web catalogue of Android Open Source has about 500 apps to download.

Android Open Source

F-droid, the Android FOSS Repository is an easily-installable catalogue of Free and Open Source software. They have about 750 apps that you can download after you install their catalogue. You can either download the catalogue as an apk from the website, or browse the site to download apps their. You need to have set the ‘allow install from unknown sources’ option on your Android device.

FOSS for Android

Generally areas like office and system apps are already well covered in the Open Source areas. Looking at the popularity of games and gambling there are still many app ideas that can be implemented.

Wikis in Open Source Projects

Wikis are great to collect information and they work well, the more active users they actually have. With the growth of Wikipedia the number of people who understand how collaboration works in a Wiki increased dramatically (even though in fact many users of the Wikipedia still do not seem to know, that they can actually edit pages).

For smaller numbers of contributing users I found, that it is sometimes difficult to keep information up to date or delete spam, that appears even though Antispam modules and Captcha tools are set up.

For example in the English LXDE wiki, we have quite some hits on the wiki, but if we look closer, many pages have outdated information about releases and roadmaps. As the wiki is available in many languages, it gets even worse in other languages with less community members engaging. A reason why the LXDE wiki might not be so active is probably because the project is more a project of developers collaborating with other developers. Developers are already busy coding. My observation is, that they simply do not have time to keep Wikis up to date.

Another example is the lubuntu wiki. Over time different people contribute to the wiki. The wiki was originally modeled after wiki pages of other Ubuntu derivatives like Xubuntu.  We had the advantage to use a basic structure, that might have taken others years to achieve. A very important point was also that there is an established model to deal with different opinions in a wiki. The lubuntu wiki is set up within the Ubuntu wiki. When we started there were already a lot of people who we could cooperate with and there was a functioning administration and hosting model, that we did not have to take care of. The wiki developed into a good resource and brought in people who also took on the special help pages for lubuntu.

Freifunk Wiki

Finally the freifunk wiki of the free wireless community. The wiki is in German, but during recent years also other languages were included as people from across the world started to participate in freifunk. There have been steady contributions to the content from different kinds of people. While some local communities themselves have often more content, the wiki remains to be an important resource and basis especially for new communities. The wiki is managed and maintained completely by the community. As we have many capable developers and IT experts in this project, it should be easy to maintain the wiki system and perform upgrades. The fact is though, that the activity level of people, including my own engagement, ranges vastly. This makes it very difficult to administer a wiki. And for newbies it is difficult to support a group as well. The most difficult part is to get into the group of admins. You need to get access and often root access to infrastructure. It is difficult to establish a level of trust with newcomers. Longterm members start families, might not show up at offline meetings and might not always be available. In a community there is usually also a previous experience with newcomers that disappear after some time or people who could be perceived as trolls. So, the result is often an attitude of a wait and see approach. In return newcomers, who want to push ahead with new cool stuff, get frustrated with this attitude. I have not seen a perfect approach to resolve this issue, but I find that real world meet ups that bring contributors together can help to solve this. In Germany many local communities have local meet ups. There are also bigger community events like the Wireless Community Weekend and even International get togethers like the Battle of the Mesh.

So, whatever you do, try to meet some people face to face and you will see how it also becomes more fun to work in the project.

What works well for community projects – wikis, blogs, forums, cms, IRC

I guess in any project – open software, hardware, content –  there are established working models and processes, that develop over time and help everyone involved to get things done.  Those processes need to be explained and communicated to newbies taking time and adding overhead to volunteer projects. Tasks not everyone is interested in as experience also shows that not all newbies stick with projects. So, what to do? 

A way to reduce overhead explaining newbies how to involve is to stick to established channels, standard collaboration tools and work processes. Forums, wikis, content management systems, IRC channels, mailing lists are all great tools, but when does a wiki make sense for a project? When do forums, IRC and mailing lists all make sense?

Generally saying my experience is that projects that are more focused on technology and with lots of developers tend to do good with mailing lists, IRC and sometimes forums. Wikis and website documentation works much better, if you have people who can actually invest time in creating and updating content. Documentation is a weak point of many software projects as it is not always fun and takes time. For most developers it is much cooler to develop a new feature, than to write a document about it, but if you have people who would like to support other areas, but cannot code, then go for it. Maybe even start a documentation team.

Project blogs work well if the project team is not too big, as people seem to be somehow feel attached to a project to blog. It works well for projects with real “core people” and are small or midsized. On the other hand if the project is very big, the question arises who has the right to write on the blog? Or, who will actually write something, if the community is diverse and dispersed?

Of course there could be projects where things are different, but the above is how it works in my experience.

Cool Site for Volunteering workaway.info

More and more people like the idea of collaborating in new ways, sharing their time and resources and work differently from the established way of doing things. Yesterday, I discovered workaway.info with the help of a guest in our hotel. It is a website that offers volunteers and organizations, NGOs, companies, families and everyone who would like to get a helping hand in exchange for place to sleep to get in touch. Some pretty tempting places and volunteer jobs, that are on offer here. I am thinking to do some volunteering myself again, but for now I have to take care of the company.

Workaway.info 2012

Athens Dinner at Battle of the Mesh

A few weeks ago I had the chance to participate in Battle of the Mesh, the competition event for the best performing routing protocols, in Athens. After not having seen my friends from Ninux.org in Italy for a long time, we finally got together in the evening and enjoyed Greek food, salad with Feta cheese and of course great conversations. We made a lot of new plans for wifi apps and map servers. Thank you Saverio for the idea of making this video!

Ninux dinner at Battlemesh V5 from Saverio Proto on Vimeo.

Interview about lubuntu with Full Circle Podcast

The full circle magazine did an interview with me to learn more about the lubuntu project. Listen to the first part here.

Full Circle Podcast #8: More Opinion Than You Can Handle 

In this episode, Dave and Ed argue about evolution… of  Ubuntu One and Lubuntu.

Opinion: Why we need Lubuntu

Interview: Part I of the Lubuntu Project

Thanks to Dave and Ed for making people aware about lubuntu!

Creative Commons license of the podcast: (cc) BY-SA 3.0 Unported

How to make lubuntu better

PCMan, the founder of LXDE, told me a few ideas about “how to make lubuntu better”:

One thing I think every developer can do to make Lubuntu better is quite simple. Lubuntu developers can help check if dialogs in LXDE programs can conform to Gnome HIG. Currently, most dialogs in PCManFM/libfm are designed with Gnome HIG in mind, but there are still some missing bits. Since glade is used to create those dialogs, it’s not difficult to fix them. If a dialog is too big for devices with small screen like Netbooks, “this is a bug” and should be reported in the trackers. Help is also needed to make them fit small screens. Most of time I develop them with small screen in mind so this might not a problem, but we need to make sure. Another thing you can do with the source code is making sure every GtkDialog is created with gtk_dialog_set_alternative_button_order() called. This is required to make all apps work in consistent ways. To improve user experience, those are things need to be ensure.

Links:

* Lightweight X Desktop lxde.org

* Lightweight X Desktop lubuntu.net

* PCManFM/libfm pcmanfm.sourceforge.net

Radio Tux: Lumiera Radio Interview during FROSCON 2009

Radio Tux has published my interview with the core developers and contributors to the Lumiera project now. I conducted the interview at FROSCON 2009 a couple of weeks ago. Lumiera is a Free and Open Source video editing application project for GNU/Linux developed originally by the CinelerraCV community. It was born as a rewrite of the Cinelerra codebase called Cinelerra3 but it is now an independent project with its own name.

Lumiera Collage
Poster of ideas in the Lumiera logo contest

The lumiera project is insofar an amazing project, as it involves a lot of artists and videomakers. Also there seem to be quite a few women involved. So we do see the free and open source community evolving and including different people with various backgrounds. What a great news! Lumiera shows that people do not want to be limited by proprietary video editing software. I am looking myself for a good open source video suite for years and I believe Lumiera can be a good alternative in the future. Actually there is not a version to test yet. There have been code aditions to other projects.

Why I do think Lumiera will be successful, is because the project lead focuses on building a broad community of contributors and they do not focus on short-term success, but rather long-term goals. When they had to decide what logo they should use for lumiera, they put up a forum, a wiki page and a voting system and let the community decide as a whole. And I like what came out. Cool way to do it.

Lumiera Logo
Lumiera Logo after community contest

The interview is pretty interesting. It is a bit more than half an hour. I was also very happy to hear that Lumiera will focus on speed and usability for people with less powerful and expensive hardware. These are exactly the goals of LXDE and Freifunk, which I am happy to support as well. Lumiera folks just incorporate the idea of empowering people. I am looking forward to what comes out of this exciting project.

Die Nicht-Lineare Videoschnittsoftware Lumiera ist gewissermaßen ein Fork von Cinerella. Warum es zu diesem Fork kam, wie der Name und das Logo für das Projekt entstand und warum die Community, die sich mittels Wiki und Mailinglisten organisiert, jetzt schon eine große ist, obwohl die Software noch nicht veröffentlich ist versucht unser Moderator Mario Behling im Gespräch mit Developern und anderen am Projekt beteiligten Leuten zu klären. (blog.radiotux.de/2009/09/02/interview-ueber-lumiera/)

Special thanks to Sirko and Thomas “der genial vom Thema abschweifende” Steinbrecher for giving me the opportunity to conduct the interview and for always keeping us up to date about the FOSS community over the years with radio tux!

Links

* Lumiera project lumiera.org
* Lumiera wiki pipapo.org/pipawiki/Lumiera
* On Wikipedia en.wikipedia.org/wiki/Cinelerra#Lumiera_rewrite
* Radio Tux blog.radiotux.de

lubuntu first alpha releases

lynxis published the first lubuntu
test iso

based on the seeds by David Sugar and additional patches. The first release was
381 MB and a second one only 292 MB. Following test images are also
around this size. After crashing the c-base server several times with the lubuntu images, the LXDE team kindly offers the download from its website: download.lxde.org/lubuntu-9.10

lubuntu
lubuntu logo suggestion by gusion

The lubuntu project was started in February after I met with Mark Shuttleworth in Berlin. We talked about how to cooperate between LXDE and Ubuntu. Mark agreed that a light Ubuntu distro would definitely be worthwile to proceed. I started the lubuntu project with the goal to create an Ubuntu derivative that is fast and lightweight just as the goals of the LXDE project.

LXDE, "Lightweight X11 Desktop Environment", is an extremely fast, performing
and energy saving desktop environment. It is maintained by an
international community of developers and comes with a beautiful
interface, multi-language support, standard keyboard short cuts and
additional features like tabbed file browsing. LXDE uses less CPU and
less RAM. It is especially designed for cloud computers with low
hardware specifications like netbooks, mobile devices (e.g. MIDs) or
older computers. LXDE can be installed with distributions like Ubuntu
or Debian. It provides a fast desktop experience connecting easily with
applications in the cloud. LXDE supports a wealth of programs, that can
be installed with Linux systems locally. The source code of LXDE is
licensed partly under the terms of the General Public License and partly under the LGPL.

The lubuntu team already had IRC meetings, face to face gatherings in Singapore, Berlin and other cities. And, I am excited to see the team getting together and releasing first results now. lynxis who is most of the time in the c-base just over the street from my appartment joined the team a few months ago. I am looking forward to more people joining up with us.

There are many ways you can support the project. Firstly download and test the current test releases. If you are a developer you can submit patches. If you are a tester, please leave info about bugs in the bug tracker. Secondly you can join us and create desktop backgrounds and logos for lubuntu. We have not decided yet, what the final logo will look like.Check out the lubuntu Artwork Forum and leave your ideas there. You can also help with translations, if you speak another language and translate the desktop of LXDE. Or you can help to improve or write Wikipedia articles about lubuntu and LXDE.

lubuntu logo idea by genelyk
lubuntu logo idea by genelyk

lubuntu design idea
lubuntu Design Idea by leo

Download lubuntu test iso: download.lxde.org/lubuntu-9.10

Links

* lubuntu on Wikipedia: en.wikipedia.org/wiki/Lubuntu
* Join up with the LXDE community join.lxde.org
* lubuntu Artwork Forum forum.lxde.org/viewtopic.php?f=13&t=437
* Bug reports: bugs.launchpad.net/~lubuntu-desktop
* Seeds and Code of Lubuntu: code.launchpad.net/~lubuntu-desktop
* Launchpad Project: bugs.launchpad.net/~lubuntu-desktop
* How to make a LiveCD: help.ubuntu.com/community/LiveCDCustomizationFromScratch

Continue reading “lubuntu first alpha releases”