Monthly Archives: November 2012

Catarina Mota on Open Hardware

The TED Blog posted an interesting interview with Catarina Mota on open hardware. She talks about how she came to be involved with open hardware, why it’s a good thing for us be in control of our hardware, and why some people still see open source and open hardware as a bad thing. She also talks about hackerspaces and their contributions to the open source and open hardware communities.

Electronics and Embedded Design Books

Here’s a quick status update on the site. I’ve started revising the old resource pages, beginning with the Books and References page. Most of the books listed were out of print or old editions, so I’ve started replacing them with comparable books that are currently available. The list is pretty short at present, I’d love to get some input on recommended books you’d consider essential for an open hardware designer. Post a comment below and let me know what to add. Some CC or GFDL licensed ebooks would be really nice if anyone knows of any.

Also, I’ve put up a poll to get some input on what sort of Open Hardware project readers are most interested in seeing. This first poll is to find a general direction for a project and once we get enough input, I’ll put up another to narrow down some features. You can find the poll in the right column of page. If you haven’t picked an option yet, please do.

Olimex OLinuXino: Fast and Open

The PCWorld website posted an article about the open hardware Olimex OLinuXino single board computer. The article compares it to the Raspberry Pi, noting that the while Raspberry Pi hypes their board as open hardware, they have not released their CAD files or complete schematics yet and utilize components that are not available in small quantities. Olimex designed the OLinuXino board to address some of these concerns. All CAD files and complete schematics are available and they use an easy to find CPU. They use the Creative Commons Share-Alike license for all hardware and the GNU GPL license for all software associated with the OLinXino. The board uses a faster CPU than the Raspberry Pi and runs Android, debian, and other GNU/Linux distros. They also tout the board as being noise immune and working in industrial environments with a temperature range of -25 C to 85 C. The OLinuXino uses the standard nano-ITX form factor. The board is priced at 45 Euros (about $57). One point where we’d have to say the Raspberry Pi wins is on the name. It’s unclear how to pronounce OLinuXino, which can’t be good from a marketing standpoint.

So what about the actual specifications?

  • A13 Cortex A8 processor at 1GHz, 3D Mali400 GPU
  • 512 MB RAM
  • 6-16VDC input power supply, noise immune design
  • 3 + 1 USB hosts, 3 available for users, 1 leads to onboard pinout
  • 1 USB OTG which can power the board
  • SD-card connector for booting the Linux image
  • VGA video output
  • LCD signals available on connector so you still can use LCD if you diasble VGA/HDMI
  • Audio output
  • Microphone input
  • RTC PCF8536 on board for real time clock and alarms
  • 5 Keys on board for android navigation
  • UEXT connector for connecting addtional UEXT modules like Zigbee, Bluetooth, Relays, etc
  • GPIO connector with 68/74 pins and these signals:
    • 17 for adding NAND flash;
    • 22 for connecting LCDs;
    • 20+4 including 8 GPIOs which can be input, output, interrupt sources;
    • 3x I2C;
    • 2x UARTs;
    • SDIO2 for connectinf SDcards and modules;
    • 5 system pins: +5V, +3.3V, GND, RESET, NMI
  • Optional low-cost 7″ LCD with touchscreen

How Open Hardware will Take Over the World

Nathan Seidle of SparkFun gave an interesting talk at TEDxBoulder about the open hardware business model SparkFun has and offers it as a better model than the innovation-stifling models that rely on patents to suppress competition. It’s a great example of a successful business based on copyleft principles, showing that it’s possible to make money while still protecting the user’s freedoms.

Extended list of 8-bit AVR Micro-Controllers, easily programmable with the Arduino IDE

via Wolf Paulus » Embedded

A couple days back, I wrote about ‘The $3 Arduino‘, how to leave the Arduino board behind and program an ATmega168 Micro-Controller directly, still using the Arduino IDE but with the AVRMSPII programmer. Of course, the ATmega168 isn’t the only MC available for something like that. In fact, I have quite a few 8-bit AVR Micro-Controllers in a small box right here, next to my desk.
Let’s minimize the ‘Minimal Arduino’ even more, for instance by using the tiny ATtiny85 Microcontroller. Just like we did with the ‘BareBones’ definition, we add board definitions for the Mircocontrollers that the Arduino IDE doesn’t support out-of-the-box. Board definition for the missing MCs can be found here and after moving the attiny folder into the ~/Document/Arduino/hardware folder and restartig the Arduino IDE, the IDE should now know about the new MCs. More details about this can be read here.

Minimizing the Minimal Arduino

Now that the Arduino IDE knows about the really tiny ATtiny85, we can set it’s internal clock to 8Mhz and flash a small program.


To flash the chip, we use the SPI (MOSI/MISO/SCK) Pins like shown here:

  1. RSET -> ATtiny85-Pin 1
  2. GND -> ATtiny85-Pin 4
  3. MOSI -> ATtiny85-Pin 5
  4. MISO -> ATtiny85-Pin 6
  5. SCK -> ATtiny85-Pin 7
  6. +5V -> ATtiny85-Pin 8

Switching the Internal Clock to 8MHz

Using the Fuse Calculator we can find the proper ATtiny85 fuse settings, to use the internal RC Oscillator and setting it to 8Mhz.
The avrdude arguments look something like this: -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
Avrdude is one of the tools that the Arduino IDE deploys on your computer. You can either execute Avrdude with those arguments directly, like so:

avrdude -p t85 -b 115200 -P usb -c avrispmkII -V -e -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

or just execute the ‘Burn Bootloader’ command in the Arduino IDE’s Tools menu.
While this will NOT burn a bootloader on the ATtiny85 chip, it will set the fuses appropriately. Either way, this step needs to be performed only once.

With the microcontroller still connected to the AT-AVR-ISP2 programmer, a simple program can be quickly uploaded:

int p = 3;                // LED connected to digital pin 13
void setup() {
  pinMode(p, OUTPUT);      // sets the digital pin as output
}

void loop() {
  digitalWrite(p, HIGH);   // sets the LED on
  delay(100);              // .. for 10th of a sec
  digitalWrite(p, LOW);    // sets the LED off again
  delay(1000);             //  waits for a second
  digitalWrite(p, HIGH);   // sets the LED on
  delay(500);              // .. for 1/2 a sec
  digitalWrite(p, LOW);    // sets the LED off again
  delay(500);              // .. for 1/2 a second
}

ATtiny2313 ($2.00)

The high-performance, low-power Atmel 8-bit AVR RISC-based microcontroller combines 2KB ISP flash memory, 128B ISP EEPROM, 128B internal SRAM, universal serial interface (USI), full duplex UART, and debugWIRE for on-chip debugging. The device supports a throughput of 20 MIPS at 20 MHz and operates between 2.7-5.5 volts.
By executing powerful instructions in a single clock cycle, the device achieves throughputs approaching 1 MIPS per MHz, balancing power consumption and processing speed.

ATtiny84 ($3.00)

The high-performance, low-power Atmel 8-bit AVR RISC-based microcontroller combines 8KB ISP flash memory, 512B EEPROM, 512-Byte SRAM, 12 general purpose I/O lines, 32 general purpose working registers, an 2 timers/counters (8-bit/16-bit) with two PWM channels each, internal and external interrupts, 8-channel 10-bit A/D converter, programmable gain stage (1x, 20x) for 12 differential ADC channel pairs, programmable watchdog timer with internal oscillator, internal calibrated oscillator, and four software selectable power saving modes.

ATtiny85 ($1.00)

The high-performance, low-power Atmel 8-bit AVR RISC-based microcontroller combines 8KB ISP flash memory, 512B EEPROM, 512-Byte SRAM, 6 general purpose I/O lines, 32 general purpose working registers, one 8-bit timer/counter with compare modes, one 8-bit high speed timer/counter, USI, internal and external Interrupts, 4-channel 10-bit A/D converter, programmable watchdog timer with internal oscillator, three software selectable power saving modes, and debugWIRE for on-chip debugging. The device achieves a throughput of 20 MIPS at 20 MHz and operates between 2.7-5.5 volts.

ATmega8 ($2.00)

The low-power Atmel 8-bit AVR RISC-based microcontroller combines 8KB of programmable flash memory, 1KB of SRAM, 512K EEPROM, and a 6 or 8 channel 10-bit A/D converter. The device supports throughput of 16 MIPS at 16 MHz and operates between 2.7-5.5 volts.

ATmega168 ($4.00)

The high-performance, low-power Atmel 8-bit AVR RISC-based microcontroller combines 16KB ISP flash memory, 1KB SRAM, 512B EEPROM, an 8-channel/10-bit A/D converter (TQFP and QFN/MLF), and debugWIRE for on-chip debugging. The device supports a throughput of 20 MIPS at 20 MHz and operates between 2.7-5.5 volts.

ATmeaga328 ($5.00)

The high-performance Atmel 8-bit AVR RISC-based microcontroller combines 32KB ISP flash memory with read-while-write capabilities, 1KB EEPROM, 2KB SRAM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counters with compare modes, internal and external interrupts,serial programmable USART, a byte-oriented 2-wire serial interface, SPI serial port, 6-channel 10-bit A/D converter (8-channels in TQFP and QFN/MLF packages), programmable watchdog timer with internal oscillator, and five software selectable power saving modes. The device operates between 1.8-5.5 volts.

MC Flash (KB) SRAM (Bytes) EEPROM (Byte) SPI I2C UART ADC Chnnl (10bit) PWM Chnnl Timer RTC
ATtiny2312 2 128 128 2 1 1 4 2 No
ATtiny84 8 512 512 1 1 0 8 4 2 No
ATtiny85 8 512 512 1 1 0 4 6 2 No
ATmega8 8 1024 512 1 1 1 8 3 3 Yes
ATmega168 16 1024 512 2 1 1 8 6 3 Yes
ATmega328 32 2048 1024 2 1 1 8 6 3 Yes

Welcome Back to FreeIO.org!

Today marks the official relaunch of FreeIO.org’s website! When Marty founded the site back in March of 2000, he envisioned it as the center of a community interested in hardware freedom. He contributed to that community by developing some of the early free hardware designs and releasing them on this site under the GNU GPL. Marty’s designs were perhaps best know for his unique penchant of naming each board after a different breakfast treat.

Marty passed away on October 25, 2007. But before he lost his battle with pancreatic cancer, Marty passed on all his hardware prototypes, development gear, and this website to me. I’m Steve, better known as Steevithak online. I’ve kept Marty’s original FreeIO.org website intact and online since then, while I pondered what to do with it.

The time has come to get things rolling again and I’m starting with a relaunch of the website. Marty’s free hardware designs are still here and hopefully we’ll find volunteers to work on new hardware projects to add. I’ll also start updating the resource pages to make them more useful again. Meanwhile, I’ve decided to make the site more immediately useful by aggregating all the free hardware and open hardware news, so members of the open hardware community can have one central place to find out what’s going on.

We’re tracking news from the Open Source Hardware User Group, the Open Source Hardware Association, the Open Source Hardware and Design Alliance, and Open Collector. I’m also following blogs for major open source hardware projects like Arduino and Raspberry Pi. To round it out, we’ll have postings of general interest to hardware hackers such as application notes and new product releases from component vendors. If you can think of any cool free/open hardware blogs or news sources we should add, post a comment below. In fact, comments of any sort on how we can make the website more useful to the community are welcome.