Category Archives: Embedded SW

Portable temperature, humidity and light ambient datalogger

UPDATE: Here’ the BOM file, I forget upload it: BOM_PIC_DATALOG_V1.0_WEB

UPDATE: Also in Adafruit’s blog. Thanks!

Hi all! I’m continuing here with the last board I design and now I’m continuing testing. It’s a battery-powered small datalogger based on a PIC18F2620 microcontroller. The idea comes a few months ago, talking with a friend. He needs something to  monitoring temperature and humidity inside a sea container, for a three weeks travel from Spain to China. Low consumption is important, in order to have maximum autonomy with a small battery. I use a HDC1050 temperature and humidity sensor, and a TEMT6000X01 ambient light sensor. The collected data is stored on a micro SD card. Also the board has a RTC for timestamp, a Li-Ion battery charger, user pushbuttons and leds, and a MCP2221 USB bridge to communicate with the board and configure some parameters through software. Let’s see the board in detail!

Continue reading

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon

Hacking a LAMPAN Ikea lamp

UPDATE: This project appears on Hackaday’ Blog. For me it’s an honor, I only can say tanks!!!

This project starts a few weeks ago. My six years old daughter usually sleeps with a light on in her bedroom. Talking with her, we decide to hack her LAMPAN Ikea lamp to make some improvements, including a manual RGB controller to set the light colour, a timeout to turn off the light after 30 minutes without changes and a bluetooth connection to control the lamp with a smartphone or tablet. So, if you continue reading  the post, you’ll see what we develop! Continue reading

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon

SIM900 Breakout Board

After some months out, I come back with my last board, the SIM900 Breakout Board. It’s a board based on the popular SIM900 GSM modem, and I design to work with the DSETA board I develop previously. Also, the board can be used without this board, I try to design it in the way that can be used with any microcontroller. From here, I want thanks to Ioannis Kedros from Embedded Day his support in the design of the battery charger, and to Sonia Muñoz, FAE from EBV, a great professional and a better friend, she always helps me when I need. So, let’s go to see what’s inside the board! Continue reading

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon

DSETA board, a CPU based on the Atmel AT89C51RE2

In my last projects, I always use the same CPU. DSETA board, I say in the posts. Well, here it is, a CPU based on the AT89C51RE2 microcontroller from Atmel. I develop this board for some reasons. The first and main one is because I want to have a small board with a great (an known) 8-bit microcontroller, ready to use and with many of the peripherals I usually use. The other reason is that I want to test the PCB service from Seeedstudio, a PCB manufacturer from Shenzhen, China. Here are the results. Continue reading

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon

How to interface 8 LCD displays and 24 leds with only two wires

A couple of weeks ago, I just post a review of my MCP23017 breakout board. As the board configuration allows to connect up to 8 of these boards, I decided to do it and see that it really works. My goal is interface 8 LCD displays with two wires: SDA and SCL from an I2C bus. With direct IO`s of a microcontroller, you need at least 48 lines to control all the displays. With this option (and a little of software, of course), you can do this with only two lines.

Continue reading

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon

MCP23017 Breakout Board

I develop this MCP23017 Breakout Board to interface a 2×16 LCD display with any microcontroller using a standard I2C bus. Typical 2×16 displays needs at least 6 lines to work (when working in 4-byte mode); in some cases, this will be prohibited for some microcontrollers. With this board, you can control it with only two lines (I2C bus) and, by the same price, obtain a few more IO’s. I use the MCP23017 I2C expander as a bridge. This integrated circuit provides 16 IO’s over a standard I2C bus. All the pins can configure as inputs or outputs independently, and supports high speed I2C (up to 1,7MHz). Also, this device has three hardware address pins that allow connecting up to 8 devices in the same bus. The rest of the features can be seen in the datasheet.

UPDATE: Dominic Amann shared this board on OSH Park, you can order here: https://oshpark.com/shared_projects/KNHdhwLN Continue reading

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon

Components I Usually Use (I): DS28CM00 – I2C Serial Number

I want to start a serie of brief articles describing the components that I usually used in my electronic designs.The first one is the DS28CM00 I2C serial number. This device is an electronic registration number that gives you an unique 64-bit serial number over I2C or SMBUS interface. This 64-bit serial number is  factory lasered, so there aren’t  two devices with the same number.

I use this component in a railway application, to identify the PCB’s mounted in the system. The pinout and the typical connection of this device is shown here:

DS28CM00 I2C Serial Number

Continue reading

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon