Here’s a brief book report from the Adafruit forums covering the recently published Ham Radio for Arduino and PICAXE edited by Leigh L. Klotz, Jr, WA5ZNU, a book featuring a number of projects, and in many places pointing back to resources at Adafruit.
“Ham Radio for Arduino and Picaxe” Edited by Leigh Klotz WA5ZNU ISBN: 978-0-87259-324-4. Available from http://www.arrl.org.
Frankly I did not have high hopes for this book as the ARRL seems to mostly favour projects using PIC processors and I am an Arduino person. But received my copy in the mail today and my first browse through has left me very impressed. There are four PicAXE projects, two ATTiny projects, and 14 Arduino projects, serious, useable, real world projects. Anyone who thinks microcontrollers are toys should be made to read this.
The book opens with letters from Dave Sumner, K1ZZ, the head of the ARRL, Dave Dougherty from MAKE magazine, and the editor. That’s followed by a discussion of Amateur radio, and the history of Hams and microcontrollers. Each project is then presented in separate chapters. Theory, Construction, and source code are all discussed in great detail. I only wish we had software this well documented at my job. Each chapter ends with a long list of related URLs, (many of which point to Adafruit) and links to appropriate source code.
Ray showed us his project SquareWear on the Show and Tell!
Last year I helped my school with several wearable electronics workshops. They were great success: the students had a lot of fun sewing LEDs and sensors onto clothes, and many women students came to attend the events. We used Lilypad Arduino, which is a popular microcontroller board designed for wearable computing projects. It’s a very nice design, but using it for a 40-student workshop presented a few challenges. First is the cost. Lilypad itself costs about $20, which is ok. But to program it, you need to get an external FTDI cable, which costs another $15. We want students to take the gadgets with them after each workshop. But since we had a small budget, we couldn’t afford to buy one set for each student. So we had to let every 2 students share a set. Not everyone was happy about it. Second is FTDI driver issues. You would think this is easy, but it turned out that at the beginning of each workshop, we had to spend 30-40 minutes just to help everyone install FTDI drivers. Students were using all sorts of operating systems and having all sorts of unexpected problems. Some were even using pre-beta version of Windows 8 64-bit… Anyways, it was not fun. What I really wanted is a board that does not need any driver installation. Whether you are using Windows, Linux, or Mac, the system should recognize the device automatically. Next is the number of external components required. Many students started designing beautiful LED patterns that involve a lot of parallel LEDs, only to find out later that the LEDs looked really dim. Why? The standard microcontroller pin can only source or sink 25mA of current. If you have a string of 20 LEDs, they will not look bright because of the current limit. The better solution is to use a transistor or mosfet to allow switching higher amount of current. Because switching LEDs is very common task in wearable electronic projects, it would be nice to have mosfets as built-in components on the board. Similarly, some students wanted to include push-buttons to their projects, but the push-button on Lilypad is only for reset, not for general-purpose function. Lastly, it would also be nice to have an on-board coin battery option, because coin batteries are cheap and easy to find in local stores.
So these experiences motivated me to develop my own wearable electronics board, and here comes the SquareWear!
This weekend at MakerFaire, I ran into my friend Rick Anderson. Rick is a founder of FUBAR Labs, a New Jersey hackerspace. For the past few months he’s been working with Brian Schmalz (the EE behind the original EggBot controller) to create Fubarino, a PIC32 dev platform. The first Fubarino board to be released is the FubarinoSD, shown above, top. The bottom picture shows it connected to our NFC shield. Rick writes:
The Fubarino SD board brings affordable, breadboard compatible high speed computing power to the Arduino-compatible chipKIT/MPIDE platform. It is able to run almost all Arduino sketches right out of the box at a great price, and includes more memory, speed, and I/O pins than a typical Arduino or clone. And it includes a microSD card slot for easy sketch access to huge file storage.
If there is enough interest we’ll make a new version called the FubarinoRetro for running embedded BSD Unix.
Even cooler are the upcoming bootloader changes. Sketches can be loaded off of the SD card on the fly with a virtual programmer button.
The standard FubarinoSD uses the 256k-Flash PIC32MX440 chip. As he mentions above, the first 100 boards have 512k due to an initial surplus from another project, and these will run RetroBSD.
Brian has done a beautiful job with the layout on these boards, and I’m looking forward to hacking around on mine when I get it. You can pick up your own fully assembled FubarinoSD at the SeeedStudio Bazaar for $32USD.
I discovered the digilent basic I/O shield on their site while I was searching for information on how I could wire up my OLED to the chipKIT Max32. While I was checking it out, I noticed that it had a 128×32 OLED already on the board. A closer look revealed that the display is an SSD1306!
At first I looked at the schematic for the shield, but I couldn’t figure out how it was wired up. Mostly likely it was me that was reading it wrong. So I turned to the libraries and looked at the defines to see what pins were being used. After matching up the ports/bits with a table showing all available on the Max32, it was a snap.
And the sweet thing is, the libraries do not need any modification. Not even the example demo sketches. I modified the message text for this post of course. Also included with the libraries is a graphics support. Lines, circles, blocks, etc. Lots to play with!
I tied CS to ground via a 10k resistor as it is in the basic I/O shield schematic. I also connected the grounds, and Vin to 5v out on the Max32, thinking it would brighten the display but it didn’t. 3v3 works just as well.
More when I code it. At least now I know it works. Sweet!
Monochrome 128×32 OLED graphic display. These displays are small, only about 1″ diagonal, but very readable due to the high contrast of an OLED display. This display is made of 128×32 individual white OLED pixels, each one is turned on or off by the controller chip. Because the display makes its own light, no backlight is required. This reduces the power required to run the OLED and is why the display has such high contrast; we really like this miniature display for its crispness!
The driver chip SSD1306, communicates via SPI only. 4 or 5 pins are required to communicate with the chip in the OLED display.
The OLED and driver require a 3.3V power supply and 3.3V logic levels for communication. To make it easier for our customers to use, we’ve added a 3.3v regulator and level shifter on board! This makes it compatible with any 5V microcontroller, such as the Arduino.
The power requirements depend a little on how much of the display is lit but on average the display uses about 20mA from the 3.3V supply. Built into the OLED driver is a simple switch-cap charge pump that turns 3.3v-5v into a high voltage drive for the OLEDs, making it one of the easiest ways to get an OLED into your project!
You can download our SSD1306 OLED display Arduino library from github which comes with example code. The library can print text, bitmaps, pixels, rectangles, circles and lines. It uses 512 bytes of RAM since it needs to buffer the entire display but its very fast! The code is simple to adapt to any other microcontroller.
NEW PRODUCT – The chipKIT uC32 is an open-source hardware prototyping platform that adds the performance of the Microchip PIC32 microcontroller. The uC32 is the same form factor as the Arduino™ Uno board. It features a USB serial port interface for connection to the IDE and can be powered via USB or an external power supply.
The uC32 board takes advantage of the powerful PIC32MX340F512 microcontroller. This microcontroller features a 32-bit MIPS processor core running at 80Mhz, 512K of Flash program memory and 32K of SRAM data memory.
The uC32 can be programmed using the Multi-Platform Integrated Development Environment (MPIDE), an environment based on the original Arduino IDE modified to support PIC32. It contains everything needed to start developing embedded applications. In addition, the uC32 is fully compatible with the advanced Microchip MPLAB® IDE and the PICKit3 in-system programmer/debugger.
The uC32 is easy to use and suitable for both beginners and advanced users experimenting with electronics and embedded control systems.
The uC32 provides 42 I/O pins that support a number of peripheral functions, such as UART, SPI, and I2C ports and pulse width modulated outputs. Twelve of the I/O pins can be used as analog inputs or as digital inputs and outputs.