We have a large scanner / copier / printer at the office. Large and rather expensive, it carries out some basic tasks. One of my favorite features of this oversized beast is that it can scan documents and sending them to me over email. Great for expense reports!
Now you can do this using your Raspberry Pi and an old scanner instead. Eduardo Luís has come up with a solution with a single button for scan-and-email and a pair of LEDs for the status. Seems like a very convenient solution to me. All that is missing to replace the big scanner here would be a printer and a way to select where the scan would go (to who or to the printer). Still, it is 35$ and an old scanner – and it takes up less space than the office style scanner / copier / printer.
Ken Shirriff has been working hard lately. In two great reads, he presented details from the classic CPUs 6502 and 8085. Basically, what he does is that he picks apart the overflow flag of the 6502 and the ALU of the 8085 in very, very, very great detail. For the 6502, he actually shows the wires and junctions on the silicon.
All the information comes from the Visual 6502 project, but the interpretation and explanation is all Ken’s. Great read, and nice to see that a full CPU really only consists of the basic components everyone can grasp.
As fun as bitbanging might be, hardware implementation of wire-level protocols can be really handy. Hackaday writes about Louis Thiery‘s and Brian Hensley‘s work towards enabling SPI on the Raspberry Pi.
They both show how to get SPI working on the RPi, and then Louis continues to show how to interact with it from Python. This opens up a whole world of cheap peripherals that can be connected to the RPi. Before you go shopping though, a word of caution. The RPi is not very fond of 5V on the GPIO pins. It is recommended that you get a level shifter before you play.
One of the problems when 3D printing is the cost of filament. Especially since you tend to improve designs incrementally and end up with lots of intermediate step test prints that you need to scrap.
The Filabot team wants to change this. They want to enable you to take your scrap plastic and turn it into filament again. They also want to let you take your plastic items in your home and turn them into filament. Basically, they want to let you make your own filament from whatever you have laying around.
Earlier we wrote of an OS for FPGAs. Today, we turn our attention for a real-time operating system for TI microcontrollers: TI-RTOS. The good part: it is a complete RTOS with support for USB, TCP/IP and FAT filesystems. The less good part: the license limits the OS to be used for TI devices.
The PICnDuino is an open source hardware platform with dual micro controllers. It is compatible with both Arduino and Amicus18 – a PIC based board inspired by the Arduino. This means that you can play with both the Arduino through the usual C-inspired sketch language, and the PIC through the Amicus BASIC language.
To be more specific, the board is carries an Atmel Atmega 238P and a PIC18F25K20. Four user-controllable LEDs, 44 I/O pins sporting digital, analog, SPI, I2C, PWM, IRQs and USART. Just like the original boards, the board is powered and interfaced over USB, so it is easy to bring along and hack with.
The price? Just over 15 EUR (AU$19), including worldwide shipping. And it comes in multiple colours!
We recently wrote about BORPH, a Linux version that could launch hardware processes on configurable hardware systems, i.e. FPGAs. The question that always pops up is what kind of process you would like to run in hardware. By pure coincidence, Secworks released a great example yesterday.
They have a great article (in Swedish, Google Translated here), describing the problem and the need in detail. But to summarize, the problem is hash functions. Hash functions ideally convert a linear time look-up to a constant time problem. That is, unless you have a hash sum collision, i.e. two key values generating the same hash value.
The bad and the smart guys know this and they can bring down powerful web servers by generating hash collisions for the trivial hashing functions commonly used today. The answer to this threat is more complex hashing functions, but they require more number crunching power from the servers. To improve performance here, Secworks has implemented a SipHash algorithm using Verilog so that you can run it in configurable hardware. They have released the source on Gitorious as siphash_core. The result – a faster way to generate hashes through an algorithm that makes it as hard to cause collisions on purpose as it would be to read an encrypted mail (it is based on similar maths).