Posted in Bits and bytes

A “better” IDE for Arduino

That’s my new project I’ve been working on for some past weekends and afternoons. Yes, there are some similar projects that have already been started. And yes, there are some plugins for Arduino development beeing developed for NetBeans and Eclipse (and these solutions tend to be more powerful in the start and – perhaps – also in the future, because of the feature-rich platforms they extend). However, there is no really specialized IDE for Arduino development that would satisfy me out of the box. And – most of all – I need another challenge! I work with IBM RAD most…

Continue Reading...
Posted in Bits and bytes

Programmable Logic Controller – initial sources release

Finally, here are the sources I was talking about for so long! This project page wouldn’t be complete without it, would it? The zip file below contains complete sources of AVR firmware in Arduino language (C++ with a couple of libraries, basically), the graphical development environment, a sample control program with corresponding configuration, a simple PC SCADA application and a simple communication library in Java. plc-project-061010.zip Schematics and other info can be found here (just search in the document, you’ll find it at the end). It looks like that:         Do read more about it here.

Continue Reading...
Posted in Bits and bytes

How much AVR resources does your little program occupy?

If you’ve ever played with WinAVR, you have probably noticed the pretty resource usage info printed after each compile. You may miss that candy if you compile with GCC on Linux. In that case, grab a simple script avr-mem.sh. While the script should work with common AVR chips, you must modify it in order to use it with AT90USB646.

Continue Reading...
Posted in Bits and bytes

Teensy++ (AVR) PLC controller – version 1

Here it is! The AT90USB646-based homebrew programmable logic controller. It’s not quite a Simatic S7 (and it’s not even completed in most parts), but it’s a nice start. A more complete and IEC-ish environment on the development software part (among many other things) would be nicer, but… the code is (will be) here, so extend it to whatever you want. But, whatever you may want to do with it, keep in mind it’s more of a “proof-of-concept” thing than a production-ready device.

Continue Reading...
Posted in Bits and bytes

That PLC thing…

Ehm… that PLC. What’s new? O.k. I canceled the ST compiler part. Not that I don’t like the idea of doing it, I just don’t have the time. So here is the alternative

Continue Reading...
Posted in Bits and bytes

Changing device names of NIC adapters

Ubuntu Server (and others) If you play a lot with servers or networked PCs with multiple NICs and change and switch network cards often, you sooner or later end up with two computers having network cards named in a different order by the operating system (eg. the NIC in the first slot is eth0 on one computer while being eth1 on the other). But usually you want to have all computers in a group configured the same way

Continue Reading...
Posted in Bits and bytes

The PLC update

After looking at the Beremiz iec2c compiler source, I decided that modifying it to fit into this project is probably not the way to go. At this time, I’m deep into experimenting with the Coco/R framework on Java to produce my own IEC compiler. To make things simpler, I decided to support

Continue Reading...
Posted in Bits and bytes

SSH service availability using Upstart

Platform: Ubuntu Server When we access a machine remotely over SSH, we sure do not want its daemon to crash and leave us without the means to access the system. So what we want is some means to make sure that the daemon is immediately restarted in the case of such an unfortunate event.

Continue Reading...
Posted in Bits and bytes

Using the MsTimer2 library on AT90USB646

In order to use the Arduino MsTimer2 library on AT90USB646 microcontroller you have to minimally modify the source code of the library. First, download the library, unpack it into the “libraries” directory of your Arduino installation (it’s a subdir of “hardware”) and open the file MsTimer2.cpp.

Continue Reading...
Posted in Bits and bytes

Using the port F as digital I/O in Teensy++

I wanted to use the port F in Teensy++ board as ordinary digital inputs/outputs and it turned out that there is an extra step involved to ordinary DDR stuff. I’m coding using the Teensy port of core Arduino libraries to AT90USB646 chip. After checking the chip datasheet, I found that the proper port initialization includes setting the DIDR0 register (setting desired pins of port F to digital instead of analogue). So the full initialization should look like

Continue Reading...