Jiri Pittner's Electronics Page



Since I do not have much time to spend on this page, do not expect nicely drawn schematics and detailed construction instructions here. But a few possibly interesting notes and some source code for devices based on Atmel AVR microcontrollers can be found here.

In my childhood, when I became interested in electronics, home-brewing even of 8-bit personal computers was quite common, since in the communist block many devices were hardly available. Of course, even the shopping for electronics components used to be rather frustrating, since in each east European "socialist" country there was a single state-owned company producing all electronic parts from resistors to vacuum tubes. Typically, from a part list which you brought to the state-owned shop, one half of the components was not in stock and the critical components were not available for weeks or longer.

Now the situation is rather different (except for people in countries like Cuba and North Korea) and the question one may ask is "Does it today make sense to build any electronic devices at home at all?" It might seem that the answer is a clear "No", considering all the consumer electronics cheaply produced in China etc.

However, there are a few exceptions.

First of all, relying on any commercial security-related product (from which you do not have hardware schematics and software available) represents a security risk, since there might be vulnerabilities, which are known only to the "black hats", or even intentional "universal keys" or back-doors. A prominent example are keyless entry systems based on the Keeloq cipher (known under the marketing names "code hopping", "floating code" etc.), which were long claimed to be secure. Here you can find some tips how to replace commercial implementations of KeeLoq sensitive to the recently discovered "manufacturer key" vulnerability by home made ones resistant to the known exploit (including GPL source code for Atmel ATMega MCU).

Cryptography is also an essential component of the near field communication (NFC) and RFID technology, which became quite ubiquitous. An interesting device which I used for experimenting with this technology is Proxmark3.

By the way, for a design of your own security devices, you might find this port of AES and elliptic curves cipher to small MCUs useful.

Second, there are some kinds of devices that you might like to have for some purpose, which are not mass-produced in China and are consequently not cheap or simply available at all. For example, at home I have made a thermostat with wireless sensors, which can be controlled from a home Linux server either from a command line or via a www form (of course SSL and password protected), day-night switching of optimal temperature and weight of temperature sensors in different rooms is done via crontab.

Another device which can be useful for various hobbyists is a capacitive-discharge micro-spot-welder, with dual pulse timing controlled by Atmel MCU. Professional devices of this kind are pretty expensive, so here a home-brew construction with a free source code makes sense if you like e.g. to refurbish various battery packs yourself.

Yet another device which I built is a dosimeter (Geiger-Mueller counter), where again professional ones are expensive.

Third, it is a very good idea to teach interested children electronics (and science in general). I do not believe that the best electronic engineers of tomorrow will recruit from people who have first seen a soldering iron as freshmen or sophomores in a university lab (and analogously for other branches of science and technology). A nice motivation for children are effectful toys like the Tesla coil, which are a bit too dangerous to be sold in toy shops and you have to build them yourself.

Last, but not least, hacking electronics is fun! (In particular, since I work as a theoretician, I enjoy time to time to build something with my own hands).

Of course, not everything can be built at home :-). So I like really well designed professional hardware too, particularly when it runs free software. One example is the phone Nokia N900, which I consider one year after its introduction still to be the best phone available (sorry Apple fans :-)). In middle 2011 I still do not feel a need to upgrade to another phone just to get a faster/2core CPU. N9 would be an option only if it had a hardware keyboard. Since N900 is basically powered by GNU/Linux (except the proprietary Nokia's Maemo GUI) and free of tivoization locks (at the application processor level), it is possible to use it in new ways not anticipated by the manufacturer, see here.

When talking about phones, cellular networks are quite fascinating and recently hardware (USRP) and free software (gnuradio, airprobe, openbts etc.) has emerged which allows security researchers and hobbyists to experiment in this field, previously restricted to a relatively small group of R&D engineers in a few companies. I have also employed USRP as a simple antenna analyzer to construct antennas for the GSM bands.



I decided to present here another topic, which is not strictly about electronics, but more about IT and computers. Here you can find a brief HOWTO use openvpn, asterisk, and voip clients to encrypt your phone calls. There are a few descriptions of this approach already on the net, but it still might be useful.

Another such topic is tunneling of IP (ssh, openvpn etc.) traffic through firewalls and proxies allowing only HTTP to pass through. It can be used to obtain a full-blown internet connection via Amazon Kindle-3G (in countries where third-party web pages can be accessed from the kindle builtin browser). A mini-howto is here.

An extremely interesting topic on the border between hardware and software field is the digital hardware design using hardware description languages (Verilog, VHDL). The FPGAs and CPLDs are nowadays quite accessible to hobbyists and design tools are freely available. Although I am by no means an expert on this field, I decided to write a short
HOWTO about installing Xilinx webpack and JTAG drivers on Linux running Xilinx tools from the command line which might be useful for other newcomers to the field.

If you like to contact me concerning the constructions / software published here, use the address jiri at pittnerovi dot com.

Finally, I could not resist the urge to write a few politically oriented words, since I am increasingly becoming disgusted by the way, how politicians (both local and at government level) and big companies misuse the modern technology against the citizens, in result leading us really towards an Orwellian society. It is not only the eavesdropping on phones and emails in name of fight against terrorism (which is to some extent understandable), but also the attempts to introduce wide internet censorship or even search of personal devices when crossing borders in name of profits of film and music industry (SOPA, PIPA, ACTA), partly giving up presumption of innocence. On a local level, the ubiquitous security cameras, together with advances of face recognition software, are really a total orwellization. I do remember the communist regime in our country and and the imagination what a totalitarian regime (of communist, islamist or other type) could do with the modern technology is really a nightmare. The cameras are also often employed by cities to "enforce traffic violations", typically speed measurements at places where the speed limitation is unnecessary, to maximize profits for city budgets. This has become a new hidden tax and a good business for manufacturers of these devices. Cameras used for electronic toll collection are another eyes of the big brother...
We cannot escape the cameras today, but another story is the voluntary giving up of privacy. To some extent it is almost unavoidable, for example unless you completely give up on using cell phone, the provider has to know where you are (only roughly, not as accurately as GPS position). I must admit that I am using a cell phone and will continue to do so unless some law forces the providers to STORE the localization data all the time. Presently they store only the number of a cell tower involved in the communication when sms, call, or data communication happens and make more accurate position fix only when you call emergency numbers. Unfortunately, most people are willing to trade a surprisingly large portion of their privacy for a feeling of more safety or a bit of user comfort. This also explains why they give their private data voluntarily on social networks etc. A striking example is the buzzword "cloud computing", where they store their private documents at some company and loose thus any control of what might happen with their data, who has access to it etc. Companies like Apple and Google really try hard to entice the users into their clouds. But users of Megaupload learned the "advantages" of cloud storage recently the hard way.
To summarize, I think that we should press on the polititians and let them know that privacy and free internet is important for us - there are many ways, for online petitions to support of the Electronic Frontier Foundation and "pirate" political parties, and, more practically, support the TOR project.

My main page and contact e-mail


TOP of family pages