Teensy – Arduino on Steroids

I love the Arduino Eco-System. Although I do not really like the IDE, the whole system is awesome. And it allows to quickly prototype ideas. And, as everything is Open Hardware, it also allows you to build your own PCBs with the same components used by Arduino. I am not in the business for creating a large-scale electronics product. But it’s very important for me that I could.

While working on my DIY Home Automation System I noticed some limitations with the current Arduino Hardware Offers. I have created my own Atmel 328p based PCB for my sensor nodes. The Atmel 328p is the MCU that drives Arduino Uno, Nano, Micro Pro, Sparkfuns Redboard and various other Prototype Systems. This MCU is quite fast (up to 20 MHz), can be run on batteries for a long time (if you care about your current consumption) and is easy to use program with the Arduino IDE. But there are limitations. You only get about 2K SRAM and 32K of program memory. That is enough for devices that only connect to a few sensors, driving a few motors, etc. But it’s not enough for more complex projects.

My DIY Home Automation Network needs a hub, that acts as a bridge between the Internet and the sensor nodes. Sensor Nodes are using nRF24L01+ Radio Modules. The Hub also hosts such a radio module, but has to send the signals in to the cloud. Although I wanted to have nice devices in the end I tried an Arduino Yun as a hub. The hub does not have to be very pretty as it will be placed in a small room that is not exposed. A small enclosure will do it. Arduino Yun is a great device that hosts both an Arduino MCU and a full-fledged Linux on the same device, connected with a bridge. Using the bridge you can run shell commands from the Arduino MCU on the Linux side and receive the results. You do not have to build a whole HTTP-client, as Linux already has one. I have written a small tutorial about that: Running Node.js on Arduino Yun.

All of that worked fine – in the lab. Using the sensor networks in the wild (well, in my house), I found it very difficult to debug the system. In order to save power the nodes do not have any LEDs, Display, whatever. I added some LEDs to the Arduino Yun that showed it’s state and if sensor data came in. But all in all it did not really help. I found sensor data in the cloud, but not from all nodes. And I could not really see the routing in the nRF24L01+ network. Attaching displays to the sensor nodes has not been an option due to power restrictions. I had to add a display to the hub. That would give me the option of adding some sort of user interface to it. But Arduino Yun only has 2K SRAM, and adding a display and it’s quite large driver code I ended up with not enough SRAM left. I could optimize everything so it perhaps would fit, but I would not have any room to add a UI to the hub later on. I have been quite disappointed about this limitation. I think the Yun should have built with a beefier Arduino-MCU. It should be possible to drive a display trough the bridge from the Linux side, but that would be way to slow. Although I really liked the idea of the Yun, it did not fit my needs.

Teensy is here to help

Searching for an Arduino Compatible small device Google with tell you to have a closer look at: Teensy. Teensy is just an amazing piece of hardware, created by Paul J Stoffregen. Paul did an amazing job with Teensy, especially the latest version 3.1. Teensy ist very small. If you find an Arduino Nano or Micro Pro small, you will be amazed how small Teensy really is. And it’s very, very powerful. Teensy features an ARM Cortext MPU with 64 KB SRAM and 256 KB Program memory. That is a lot of space and enough to do a lot of cool stuff. What I really love about the Teensy is how bootloading it is solved. I had a few issues with programming Arduinos. Teensy features a tiny uploader software, that is either triggered by the Arduino IDE or by pressing the reset button on the device. And uploading new code always worked. I really love that. Just install the Teensy Hardware Plugin in your Arduino IDE 1.0.x (it does not support 1.5.x at the moment) and you are good to go.

(more…)

Read More

Custom LCD Controller for Printrbot Simple (Metal)

In order to print with the Printrbot Simple Metal you have to connect your computer with your printer via USB and make sure that the computer continuously sends data to the printer. If your computer crashes, your printer stops and your maybe long hour print is a piece of chunk. If your computer goes into stand by the result is the same. And there are various other reasons like energy consumption. The way to go is untethered printing.

The Printrbot Simple Metal is capable of that in two ways, both of them require a Mini-SD card inserted into the printer. The first way is to write the G-Codes generated by your Slicer, typically Repetier Host and Slicr to the SD-Card. Name it auto0.gcode, insert the card into the printer. Shut it down and on again. The printer should now start to print. But you will not know if it works for a couple of minutes as it’s first heating up. Nothing moves, etc. I tried that a couple of times and found the procedure to be very annoying.

The second method is using the Addon LCD Controller sold by Printrbot.

Getting your hands on a LCD Controller

Your Printrbot is already capable of displaying a nice LCD-Menu with all kinds of options and the option to browse the SD-card and run any print from it untethered from your PC. All that is needed is a Standard 20×4 LCD Display and a rotary encoder. A rotary encoder is a special kind of input sensor that sends signals when it is rotated.

Printrbot sells these LCDs for $65 in their store. But they still have that wood look. It does not match the Metals Design. And, as I am living in Germany you will have to wait a few days for it to arrive and you will likely have some issues regarding customs. I did not found a german distributor a few weeks ago so I wanted to built my own. A few days ago I have found 3ddinge.de selling the LCD Controller in Germany for €70. That’s a lot of money and by doing it yourself you will end up with 30-40 Euros for the LCD Controller.

(more…)

Read More