|Questo articolo è disponibile anche in italiano
ElectroYou users can introduce drawings and more importantly electrical schematics in their posts with a quite peculiar system: the FidoCAD/FidoCadJ format, also used elsewere.
The experience has shown that it is a very practical tool in quite a lot of situations, sometimes unexpected. In this page, we would like to describe FidoCAD and FidoCadJ, define clearly some terms and suggest to give a try to those softwares. We do not want to write a tutorial about how to use them, since there are other places for that. Below, we will suggest some useful resources for those who would need them, after a brief description of the history of the development of FidoCAD and FidoCadJ. We will show how to insert a FidoCAD/FidoCadJ drawing in a forum post or here in a blog article of ElectroYou. At the end of this article, we will spend a few words about the contributions you can give to the FidoCadJ development.
The birth of FidoCAD
The FidoCAD concept was born in the middle 1990s, in the ELETTRONICA.ITA area of FIDONET. We should first remember that at that time, users would connect to that service thanks to BBS (often set up by amateurs or semi-amateurs). Their speeds which were quite low if compared to the current standards. At that time, 14.4 kbps was an impressive speed and at least ten minutes were needed for a simple 1 MiB file transfer. When discussing a circuit, very often the users need to have the schematics. It was however tricky to exchange images at that time. It has almost always been possible to draw schematics with ASCII-art. However, there are some heavy limits and they are cumbersome to draw and correct. A very simple example is shown in Figure 1.
| VCC --------o---------------o------------- | | | | | | + C L1 | | R1 | | C C2 | | | | | || | | + o-----||------O | | C1 | | || | | || | |/ | | O---||---o-------------| Q1 | | || | |> | | | | | | + | | | | | | | | R2 | | | | | + | | | | | | | GND --------o---------------o------------ |
This experience, however, has given an important lesson: the ASCII format is compact, very accessible and can be modified by almost every computer able to show text. The schematic shown in figure 1 can be read easily with an old Commodore 128.
How many times have you tried to read again an old project dating back 15 years, saved in an obscure proprietary format by a DOS-era software?
There is a lot of evolution in electronic projects, but an inverting amplifier built around a TL082 does not work worse today than it did in 1995 and it is not less useful than back then.
After all, the ASCII schematics are still perfectly readable, and they will still be so for the next 40 years!
All this to say that the users of ELETTRONICA.ITA were seeking for something better than the cumbersome ASCII format, but still sharing its compactness and accessibility. For this reason, Lorenzo Lutti defined the FidoCAD format from an idea from Giulio Bottini. This format had a great success also among Usenet discussion groups and World Wide Web forums, which have come after the old FIDONET.
The software FidoCAD per Windows written by Lorenzo Lutti and maintained by him until 2001 has been appreciated among electronics enthusiasts. This is partly due to the fact that it was a simple and versatile vector drawing software. Lorenzo Lutti has chosen to publish the source code of his software on his site:
FidoCAD per Windows
The best definition of what is FidoCAD is given by Lorenzo on his web pages:
- FidoCAD is an open and portable standard for all kind of drawings. Its most important characteristic is that it uses a text format to save the documents. This is ideal for embedding them in electronic messages (e-mail, Fidonet, Usenet...) for representing drawings, schematics...
To summarize everything in one sentence, the FidoCAD per Windows program written by Lorenzo Lutti is agile, practical and very easy to use. It allows to represent electrical schematics and generic drawings in a compact way.
An introduction to FidoCadJ
The author of this article started the development of FidoCadJ between 2007 and the beginning of 2008. The aim of this project was to make FidoCAD available on platforms different from Windows, and on MacOSX in particular. Since the goal was not to be stuck to one platform in particular, using Java has been identified as a viable solution, since it allows to write multiplatform programs without multiplying the development efforts. Figure 2 shows how FidoCadJ appears on Microsoft Windows, side by side with the classical FidoCAD per Windows.
In reality, the FidoCAD file format has not been clearly documented at the beginning, so the first thing to do has been to write a reader, able to interpret the drawings stored in this format thanks to a little bit of reverse engineering. Java has allowed to implement this reader as an applet called FidoReadJ, contained in a web page. The development of the applet has been started at the beginning of 2007 and it has been publicly announced the April 1 of that year. This applet is still accessible and freely available nowadays:
The system was quite practical and a lot of it.hobby.elettronica users gave a lot of advices and they reported the various problems they found, in order that they were solved. The FidoCAD format is quite simple to understand, but it has not been very easy to figure out all the details.
After a while, a complete description of the commands has been done and the reader applet became a complete editor between the late 2007 and the beginning of 2008. The first announce of FidoCadJ has been done July 2, 2008 on the it.hobby.elettronica newsgroup and rose immediately a certain amount of interest.
Nowadays, FidoCadJ is a complete tool which can be used instead of FidoCAD for Windows. Figure 3 shows the appearance of FidoCadJ on a MacOSX 10.6.8 Snow Leopard operating system. As we saw in figure 2, the general look of the software is similar on other operating systems.
As has been said above, the FidoCAD format is open and portable:
- An open format is freely usable without restrictions and well documented, too. The FidoCadJ, User manual FidoCadJ user manual contains a detailed description of its commands and of the file format.
- A portable format can be used on each operating system and each configuration. FidoCadJ is written in Java, a language which can be used on an impressive number of different architectures and operating systems.
Although FidoCadJ is 100% compatible with FidoCAD for Windows, several useful extensions to the original format have been implemented. For example, in the latest FidoCadJ version one can find dashed lines, a much more flexible layer system, the possibility to associate text tags to the graphical elements etc.
There are also a few more technical differences: for example, the "PCB" mode is not existing anymore and the choice of the size is done only when printing the drawings. Someone might feel uncomfortable with some slightly different keyboard shortcuts.
How to learn to use FidoCadJ
Talking about FidoCadJ, the inspiration has obviously come from FidoCAD per Windows, and so using the two program is similar. There are less tutorials on the World Wide Web dedicated to FidoCadJ than to FidoCAD per Windows, since the former is a younger program. There are however some resources in English, such as this article.
In any case, the first place where to start is the user manual, which contains two tutorials, one dedicated to the electrical schematics and the seconds dedicated to PCB's:
FidoCadJ, user manual
Here is a very nice tutorial in Italian, written by the ElectroYou user elettrodomus: http://www.electroyou.it/elettrodomus/wiki/fidocadj-per-tonni
If you understand the Italian language, it may be useful to have a look to those videos on Youtube, which illustrate how to do some basic operations (there is a better audio quality for the last two):
We would like to insist on the point that FidoCadJ does not want to conquer the world, and neither wants to be a concurrent to the professional computer aided design systems. It is a very agile software, useful in those situations (both in an amateur and professional activity) where the ease of use is more important than advanced functionalities. If you want to realize a quantum computer, well... there are probably more efficient tools!
Using the FidoCAD/FidoCadJ format in the ElectroYou forum and blog posts
The idea has been proposed in april 2010 by Piercarlo in the thread E' possibile integrare nel portale uno schematic editor?. He proposed the integration of a tool for electronic schematics, similar to the solution found for the mathematical formulas: "a FidoCAD-like editor".
The idea has been realized quite rapidly with a small modification of FidoCadJ, and the preparation by webmaster of the software to be run on the server. This is needed to interpret the FidoCadJ format and obtain an image on the fly.
Many would ask why it is convenient to use the FidoCAD format in the forum discussions.
The first reason is its flexibility:
- Doing a simple copy/paste is much easier than using bulky external image hosting systems.
- The code is always available: it is very easy to correct and modify the schematics and the drawings, stored in a vector format.
- The FidoCAD/FidoCadJ format is sufficiently versatile to be used also for simple technical or mechanical drawings, a typical situation where FidoCAD and FidoCadJ are very useful.
- Last, but not the least, the forum aesthetics is kept pleasant and uniform.
Insert a drawing in a forum post, or a blog article is easy. You just need to do a copy and paste of the code, make it preceded and followed by the tags [fcd] and [/fcd] for the forum, or <fidocad> and </fidocad> for the blog. Obtaining the code is also quite simple: you just have to select the graphical elements inside FidoCadJ and select "Copy" from the "Edit" menu, or just using Control+C (alternatively, Command+C if you use a Macintosh). By copying what obtained in a forum message, the code associated to the drawing will be shown.
Here is an example where we show the circuit already seen in figure 1:
Who wants to modify the drawing should just obtain the code by clicking on "Sorgente FidoCadJ", and then select and paste it inside FidoCadJ.
To insert a drawing in a blog article, the procedure is the same. There are some details here .
How to contribute to FidoCadJ
To conclude this article, we would like to observe that for open source software (FidoCadJ is distributed as GPL v. 3), the user and developer communities are superposed. 'This means that you can participate to the improvement of those tools by using them, by working on the source code, by tracking bugs, by suggesting new features or by simply giving your advice.
Here is the home page of the project:
FidoCadJ home page
This is the GitHub page dedicated to the FidoCadJ project:
FidoCadJ on GitHub
OpenHub is a sort of social network dedicated to open source projects. FidoCadJ is present there: if you want, you may include it in your stack and review it there:
FidoCadJ on OpenHub
The place where you may post a bug report is here:
Issue tracker for FidoCadJ
If you would like to discuss about something related exclusively to FidoCadJ, and not to ElectroYou, the best place where to go is again the GitHub issue page:
Issue tracker for FidoCadJ
A lot of people are usually scared by the idea of contributing to an open source project. This is because when one thinks to the work behind a software, usually he considers only the source code. In reality, you may really contribute to the development of FidoCadJ without writing a single line of Java code. You may for example check that the documentation is complete, up to date and correct. If you know some languages, you might translate the user interface or the manual...
Of course, we would not like to discourage those interested to the source code. For example, a lot of people would be excited in having new file formats available for the export.
Those are the kinds of things which can be discussed in the FidoCadJ forum!
A portable FidoCadJ
An example of an useful contribution to the development of FidoCadJ is the idea by alev of making it portable. This means that it can be run on any Windows or Linux system, from an USB key. For more details, you may read the article FidoCadJ portabile, un CAE al guinzaglio
In this article, we briefly presented the history of the development of FidoCAD for Windows and FidoCadJ. We also spent some time discussing the interest of this format in the ElectroYou forum and blog posts. After that, we tried to give some references to tutorials useful to learn how to use it. We described in a greater detail how to send messages and articles containing FidoCAD and FidoCadJ drawings here in ElectroYou. We ended by showing that it is possible to contribute to the development of FidoCAD and FidoCadJ and we hope we have not bored you too much :-)