Archive for the ‘projects’ Category.

An open source LED grid clock

So your analog wall clock breaks… What do you do about it? Make a digital clock, of course. Lumitock is an “LED grid” clock, where the time is represented by the number of lit LEDs within a segment of the clock.

Lumitock is based on the Arduino platform, specifically using an Arduino Pro Mini 328 (socketed, I have commitment issues). It also uses a DS1337C RTC for time-keeping, and TLC5940 LED drivers to keep track of all that light. I used BatchPCB to fab some boards for it, and they turned out great. Very solid, and such an easy service when time isn’t much of a factor.

It is open hardware and software, available on github. The Arduino project as well as Eagle CAD project files are included.

Beware! The current version (tag version-1) has a fairly nasty issue with the PCB layout, the TLC5940 sockets were drawn as .4″ wide, not .3″. Not fun to solder that up, you can see the kludgey fixes in the images. I will be updating the PCB as well as making a SMT-only version to slim things up.

The video cannot be shown at the moment. Please try again later.

Images

Some Airsoft Turret play

Been toying with the idea of making an Airsoft Gun controller wirelessly via Wii Remote.  Inspired by a previous DefconBots challenge.  Just managed to get control of 2 servos via a ATMega8, serial link to a PC and a Wii Remote talking to said PC via BlueTooth.  Pretty hacky but it works, and it’s way easier than grokking BlueTooth on the MCU for now.

First video is of 1 servo working with really jittery input.

Second video is 2 servos on X and Y axis with smoothed input.  Much nicer.

Using libwiimote on the host side for Wii Remote interfacing.

Mr. Baybus 3 Preview

Yet another digital baybus.  The original Mr. Baybus, then Mr. Baybus 2, and now this one with PC control and a graphical LCD!

Never really completed this project. It is archived on GitHub for posterity.

Screen Images

Splash screen

Splash screen

Fans

Fans

Lights

Lights

Temperatures

Temperatures

Application Screenshots

Main Menu

Fan Controls

Lighting Controls

Temperatures

Mr. Baybus 2

After such a good response to Mr. Baybus, I decided to up the ante. I wanted temperature sensing and light control, as well as a more refined interface. I also wanted a chance to write much, much better code as Mr. Baybus was most definitely a kludge. This led to the design of Mr. Baybus 2.

Mr. Baybus had a few problems I wanted to take care of. One being price, it cost way too much compared to its utililty value, which is normal for projects like this, but still…

Mr. Baybus 2 uses a much more sophisticated microcontroller, a PIC 16F870. This is a 28-pin SDIP style chip, lots more I/O pins, an onboard UART, and even an ADC. This little guy also has twice the instruction memory, so I had more freedom to make the interface somewhat more sleek, and add more features. The benefit of more pins is CHEAPER LCD. The previous serial LCD ran about $42 shipped, which is semi-high for a serial LCD in general, but it was a CrystalFontz so at least it was high quality. Anyways, now I can move to a simple HD44780 based parallel LCD (by CrystalFontz, of course). These run around $20 shipped, and even less from other places selling generics.

Features

  • Three On/Off Fan controls
  • One 12V Light control (Neons, etc)
  • Two centrigrade temperature sensors
  • 20×2 screen (any HD44780 compatible will work)
  • Simple, menu-driven style interface
  • Stores fan status in non-volatile memory

Display Images

Splash screen

Fan status

Fan status

Fan status w/selection

Fan status w/selection

Lighting status

Lighting status

Temperatures

Temperatures

Unit Images

High view of the front

High view of the front

High view of the back

High view of the back

Back view

Back view

Underneath

Underneath

Version 2.1

A slight update to the original. I decided I wanted to re-write it in C as an exercise. While I was at it, I figured I’d add a feature or two.

Pretty basic, a complete re-write in C, Hi-Tech PICC to be exact. It’s a great compiler for the PICs and gave me opportunities to re-write the LCD, ADC and DELAY libraries in C.

New Features

  • New program-loop idea, worked well
  • Strobe mode for Light output
  • Temperatures in Celcius or Fahrenheit

Downloads

All files for Mr. Baybus 2 are available at GitHub.

Mr. Baybus

Mr. Baybus is a microcontroller-based fan control system. It is a completely stand-alone unit, with no computer-control whatsoever.

Control comes from momentary switches on the front panel. You have 4 switches to toggle your fans on/off, and a brightness/contrast button, which switches you into a screen to alter those settings. Another press gets you back to the fan status display.

All settings are saved in EEPROM memory on-chip. So when you shut your system down, then power back up, your fans will be running the same as they were before, and your brightness and contrast will remain unchanged as well.

The display is a CrystalFontz 16×2 Serial LCD. This unit is EXCELLENT. It supports SPI transfers which is what Mr. Baybus prefers!

The fans are switched by power MOSFETs. IRL3102’s to be exact. They are rated to handle up to around 7A for a 12V circuit like this. This is of course far beyond anything I would ever want to throw at it, but it’s nice to know you have the room to expand.

Connections to the system are made via a small 4-pin connector. This facilitates 2 fans per circuit, 4 circuits in all. The connector is the same as the CD-Audio connector on your CD-Rom’s so it’s quick and easy to remove the fans.

The brains of the system come in the form of an 18-pin microcontroller. A very basic PIC16F84a. At 4MHz this little guy is going way faster than this system needs but hey, if you got it, why not. All 912 lines of code were written in assembly over the course of a few nights.

Full source code, schematics and PCB layouts are available on GitHub, enjoy!

Screen Images

Startup Splash

Startup Splash

Main Screen

Main Screen

Options

Options

Unit Images

Blank PCB

Blank PCB

Mr. Baybus

Mr. Baybus

Labeled Close-up

Labeled Close-up

Front view, installed

Rear view, installed

Rear view, installed