Printrbot – day1

After 2 months of waiting, the printrbot simple metal kit finally arrived yesterday. It is a popular 3d printer with good reviews. The printer can be obtained as fully assembled or as a kit. I chose the kit as I thought it would be more interesting to assemble it myself, plus it is a little cheaper that way.  Since it had to be shipped internationally, I also thought it would be safer as a kit.

Day1 was dedicated to unboxing and beginning of assembly, following the assembly instructions. After opening the box I was met with a few large metal parts, metal rods, bearings, stepper motors, several bags,  a controller board and more.  I marked the bags according to the bill of materials to familiarize myself with the kit.


The assembly instructions turned out to be fairly detailed and reasonably easy to follow.  After a little while I had the basic X-axis drive assembly in place.  A stepper motor drives a pulley and two bearings help guide the belt, which in turn makes the print surface (the “bed”) move. On the left in the photo below is an end stop preventing the bed to move too far.


Next, we have 4 linear bearings in which the 250mm X-axis rods slide. They are held down by a metal clamp screwed into the metal base . At each end of the rods, a delrin block provides support for the print bed (to be installed later).


Turning the base upside down, we see the GT2 belt secured in one end of the bed and in a tensioner clamp on the other side. Two screws provides a means to tensioning the belt which runs over the pulley that is driven by the x-axis motor shown. The red and black cable is the power cable for the board (not yet connected).


The printer board  is attached under the front of the base:


Top of print bed shown, plus vertical rods. Between  them is the acme screw coupled to the Z-axis motor mounted under the base:


More to come in the following days!

Weather camera reboot

While waiting for my next project to take off (info to come here when it happens), this is a good time to mention the impressive stability of 2 computers serving my weather station page. The machines are an old laptop and a Raspberry PI, both running Linux distros.

The graphs on that page is collected from a simple weather station with an outdoor unit located in the garden:


The outdoor unit runs on 2 AA batteries (they seem to last forever!) and contains a temperature sensor and a humidity sensor, they are located inside the Stevenson screen. On the roof of the Stevenson screen is a rain sensor plus a wind speed and wind direction sensor. The location of the outdoor unit is not ideal, and the wind direction is not to be trusted. Mostly, it is the temperature that is of interest, but wind speed and rain can sometimes be useful also.

The outdoor unit sends readings wirelessly to the indoor unit which has its own indoor temperature plus pressure sensors. The indoor unit is permanently connected via USB to an old laptop running Linux Xubuntu 11.10 .  All that laptop does is run a program that queries the indoor unit and stores the readings in an SQLite database every 5 minutes. The incredible thing is that the old laptop was last rebooted 11. May 2012, i.e. almost 3 years ago. That is stability!

The images on the weather station page are generated from the Raspberry PI based weather camera housed in a dummy surveillance camera, mounted on an old TV antenna pole. The Raspberry PI camera runs Linux Rasbian. Since performing some hardware changes 2-Jan-2015, the RPI machine has not been rebooted, it has captured images every minute for almost 90 days in a row. Not bad!


However, 2 days ago, the images suddenly stopped coming, something was wrong. After investigating, it quickly became clear that the SD card the RPI was running from had acquired a file system problem, so it crashed and a reboot didn’t work. The camera was taken down, SD card erased+reformatted and Rasbian was reinstalled. Problem solved, now the camera is running fine again with the same hardware.

The problem may have been caused by excessive writing of files to the SD card, which will eventually wear it out. To prevent similar problems in the future, I decided to install a small RAM drive based on this description.  Instead of temporarily writing the images to the SD card before copying to a disk in the house, it now writes the images to the RAM drive. A very simple fix that should increase the life expectancy of the SD card.

It will be interesting to see how long these two work-horses will run before requiring a boot!

260 000 images on a Raspberry Pi

In the previous post the op_lite object oriented database library for C++ was introduced.  I have been testing this library on Windows and Kubuntu using images from the Raspberry Pi1 Model B weather camera. The camera captures a JPEG image of size 1296×972 every minute, which means that each day there are 1440 additional images to put in the weather camera database. The database now has a viewer written in C++ based on op_lite and wxWidgets, It works fine on both Windows and Linux.

The PI weather camera has been  running steady for just about 6 months now, it has so far accumulated just over 260 000 images (database size is > 20GB) showing the daily weather plus stars at night. Today I wanted to try op_lite and the viewer on another Pi1 Model B, so I compiled the database viewer application there. This is straightforward as Raspbian is a debian derivative, just like Kubuntu.

The the 20GB database was copied from Windows across the LAN network to the PI which has a 320GB USB hard drive connected, formatted as linux ext4. The copy took a few minutes and the compilation of the software took longer, but it worked!  It shows that the database is compatible and can be freely copied around Windows/Kubuntu/Raspberry PI.

260 000 images captures on a PI1, viewed on another. It doesn’t work as fast as on a desktop, but it is certainly usable. I have a new PI2 Model B coming soon, and  it will be interesting to see how things performs there.  As the PI2 is said to be about ~6 times faster than the PI1, it should be good!