Monthly Archives: December 2009

Handy Link: bpython

{lang: 'en-GB'}

bpython is a Python interpreter interface on steroids! It’s main features are:

  • Syntax Highlighting
  • A save function (to save code you’ve entered to a file)
  • Auto-intending (we all know how important correct indenting is when you’re writing python scripts!)
  • Auto-Completion which displays suggestions for any built-in functions, helping you to get the syntax for a statement spot-on without having to dig through reference manuals. The auto-completion feature also helps with import declarations, showing you a list of available modules as you type.

Installation in Ubuntu is as painless as typing sudo apt-get install bpython Other packages are available for Debian, Fedora and OpenSUSE as well. You can also obtain the source code from here and compile it yourself if need be.

If you need any help with using bpython, then check out the project’s webpage. Hope this is useful to someone.

Happy new year!


From hackedgadgets: Drink Mixing System

{lang: 'en-GB'}

How’s this for a class project!  Based around a PIC32 Microcontroller and sporting a touchscreen interface, it allows the user to custom mix their own drinks or select one of the preset options programmed into it.

There’s also some clever use of RFID technology here as well. RFID tags embedded in the cups are used to match up users with their selections. Faster than you can say “Same again please, Bar Tender.”  It’ll whip up your usual based on your previous choice.


Handy Link: “Invent with Python”

{lang: 'en-GB'}

Need an accessible guide to learning Python that won’t send you to sleep? “Invent with Python” is just what you need!

Invent Your Own Computer Games with Python, 2nd Edition (to give it its full title) is a book written by Al Sweigart.  It is available for free on-line in both HTML and PDF format. You can download the PDF format from here.

The book is released under a Creative Commons licence and is aimed at people who are completely new to programming.

Comprised of 19 Chapters (at the time this post was written), it guides the reader through the basic concepts (Installation of Python, use of the Python interactive shell, Variables, functions, etc) and some of the more advanced stuff as well.

The coding examples in the book are all games (so you can actually have some fun with what you create as you go through the book!), which increase in complexity as the chapters progress.

There is also a Blog related to the book, so you can keep up with any future additions that are made to it.


Handy Link: Using the AVR EEPROM in GCC-AVR

{lang: 'en-GB'}

EEPROM memory can be extremely useful in Microcontroller projects, either as a fail-safe mechanism (to stores the state of your outputs so you can restore them if power is lost) or as a non-volatile storage area for data gathered via sensors.

This tutorial from AVR Freaks explains how to read from and write to EEPROM memory using AVR-GCC. Hope its useful to someone.


From alan-parekh.com: Single Button Code Entry System

{lang: 'en-GB'}

Forget keypads and RFID tags, the guys over at alan-parekh.com have come up with the simplest possible user interface for a code entry system: a single button. Sold in kit form via their online store and incorperating a PIC 16F628A microcontroler and relay, this kit allows you to program and input a four-digit code using only one button.

Details and a video explaining how the kit works can be found here.


Simple LAN Controlled Stereo Audio Switch

{lang: 'en-GB'}

Audio Switch (Main Board)

I needed an idea that I could use to teach myself about using a relay with Microcontrollers and solve that age old problem: Switching between speakers and headphones on my PC without having to actually get up and mess around in the rats nest of wire’s behind it.

The solution: Use a 5v DPDT relay, a few 3.5mm stereo sockets and an Ethernet-capable Arduino to create a simple audio switch which would allow me to switch one audio source (my PC’s Soundcard in this case) to one of two outputs (headphones or speakers) via a web interface running on the Arduino from the comfort of my web browser.

Continue reading