My Prototyping Boards

Development Boards

With the arrival of the BE boards (aka 9$ Arduino from Indiegogo) I decided to showcase all the prototyping/development boards I own, or as my friend Alex calls it  “a  useless post”. They are the MSP430 Launchpad, Tiva C Series TM4C123G LaunchPad, Arduino Uno, BE board, Freescale FRDM-KL25Z and the Rasberry Pi.

  •  MSP430 Launchpad

msp430

This was my first board and my favorite. Its price was 5$ from the Texas Instruments on-line shop including worldwide shipping.

Its features may vary depending on the MCU you use from the Texas Instruments Value Line, but the board has built-in emulation for programming and debugging,  a 14/20-pin DIP socket, on-board buttons and LEDs.

One of the best things about this board and its Value Line MCUs is that we can put our projects on a breadboard or pcb with very few external components (a resistor and button on the reset pin), and the microcontrollers are available in several flavors from the Texas samples store.

43oh is a great forum featuring projects, news and a store with some BoosterPacks (Shields), and there are several development softwares such as Code Composer Studio and the arduino like Energia.

  •  Tiva C Series (Stellaris) TM4C123G LaunchPad

Stellaris

Another realy cheap board from Texas Instruments that has a ARM Cortex-M4F, and that means we have loads of I/Os and enough power to run an RTOS or some more complex tasks as USB 2.0 implementations.

It supports floating point and runs at 80MHz, with 256K  flash, 32K RAM, and several control and communication interfaces sutch as UART, SSI, I2C, CAN, USB and ADC.

This board uses the same development evironments as the MSP430 Launchpad.

  • Arduinos UNO & Leonardo

BE board

The Arduino UNO (blue one on first picture), was my first Arduino.

The Leonardo, it´s in fact a compatible board called BE Board ( Borderless Eletronics Board) aka 9$ Arduino and I got it on an Indiegogo campaign. A great deal considering I got 3 kits for the price of one single Arduino. I can now have some distributed sensors/actuators arround to do some monitoring/control arround my house (future project).

I always had love/hate feelings about the Arduino: it is a great fast prototyping board and a great teaching tool, but it isn´t suitable for more professional solutions and some people tend to forget that.

  • Freescale  FRDM-KL25Z

Freescale_FRDM

This one is one has low price, a   ARM® Cortex™-M0+ processor (MKL25Z128VLK4 MCU – 48 MHz, 128 KB flash, 16 KB SRAM, USB OTG), a capacitive touch slider, accelerometer, rgb LED and mass storage device flash programming interface (upload your programs by copy them into an mass storage device on your computer).

I have this one to try out Freescale products and compare them to Texas Instruments, and its development evironments:  IAR Embedded Workbench, KEIL MDK uVision, CodeWarrior Development Studio and mbed on-line compiler.

  • Rapsberry Pi

RPI

The Rapsberry Pi doesn´t need any introductions and I´ve implemented a web server, MPD server, CUPS server and some monitoring python scripts I wrote myself. It has little power consuption so it´s always on and connected to the internet. I have so many projects in my mind that can use him….but as always so little time!

SD84 + Python

During the last school semester I had to work on a robotics project that used the SD84 board. This board is an 84 channel servomotor controller that receives commands over the USB bus. Each one of the 84 channels can be a Digital Input, Digital Output or Servomotor Output. Additionally, 36 of the channels can be 10-bit Analogue inputs.

SD84 board

SD84 board

These features were used to control a 10 degrees of freedom robotic arm, that also had distance sensors along its lenght to avoid obstacles. I wrote a very specific code for that aplication using Matlab ( just the interface between Matlab and the board, direct and inverse kinematics were made by Alex and Pedro ), thus not implementing all the capabilities of the SD84.

That being said I wrote some Python functions that do all the board features, but some of them are untested because the semester is over and I had to return the SD84 to the school before testing them…but they will work, I´m sure!

The scheme below explains how the code should be implemented just in case the example that comes with the functions isn´t explanatory enough.

SD84_scheme

You can download the file on the link bellow. Change its extention from .txt to .py .

SD84 (321)

 

Please share any new features you add to the code , and your projects done with the SD84 board!

Weather – O – Matic

This one is a small project meant to be done in one weekend but ended up to last much more.

analog looking digital weather station

 

In essence this is an “analog” looking weather station that displays the current temperature and weather state as well as the minimum and maximum temperatures (and general weather) for the day and for the two days after.

This was done using two servo motors, one to indicate the weather and the other the temperatures, information of the day being displayed and any errors that may occur.

The microcontroller used to control the servos was the MSP430G2553 on the LaunchPad evaluation board, which communicates with a PC via UART. A python script fetches the weather data from the internet and loads it to the microcontroller.

As all home made projects this project is not yet finished, so here is the to do list:

  • There are weather states yet to be classified on the python script;
  • Make a custom PCB to hold the microcontroller and connect it the Raspberry Pi GPIO”s, servos and power source;
  • Hide all electronics;
  • Periodically run the script on the Pi;
  • Have the MSP430 tell the python script if any error occurred;
  • Minor details.

Here is an explanation video:

Note that HOJE==TODAY, AMANHÃ==TOMORROW, DEPOIS==AFTER.

So the python script loads the data into the microcontroller, and it is shown to the user when he wants. New data is load every time the script runs.

This project was made with the MSP instead of an Arduino because of the price, and for the ability that the MSP as an internal clock which enables it to work without any external components. That makes the future implementation on a PCB much easier.

Edit: This project was featured on Hack A Day!

Lost in the Maze

Codebits is an anual programming and tecnology event hosted by Sapo reserved to 800 atendees. I was fortuned enough to be selected for the first time! During the three day event, the group I was part of (Me, Alex & Fábio) developded a servo driven maze controled by any Smartphone without having to install any 3rd party software.

How we did it:

The maze was made out of cardboard and underneath the midle of it we installed 2 servomotors oposed to eachother by 90 degrees.

These servos where then controled via Arduino witch receives position values from a Raspberry Pi hosting a webserver.

The site on the server could be accessed by scanning a QR code and then the phone acceleromenter values would be collected to drive the motors, and Start and Finish sensors on the maze were used to time the player solving time.

The end result can be seen on this video:

With this project we won the 5th place from an universe of 84 projects. Here we are receiving the trofy:

image