Deprecated: Assigning the return value of new by reference is deprecated in /home/nicholas/public_html/ggnew/components/libraries/cmslib/spframework.php on line 101

Deprecated: Assigning the return value of new by reference is deprecated in /home/nicholas/public_html/ggnew/components/libraries/cmslib/spframework.php on line 644
What's New? Gadget Gangster offers unique Electronic projects kits submitted by the community Wed, 01 Jul 2015 19:11:03 +0000 Joomla! 1.5 - Open Source Content Management en-gb Talking Resistor Calculator Tired of squinting at resistor color bands?  Let the Propeller "tell" you what the value is.


Even at 40, I still think of myself as a young guy, but my eyes... not so much anymore. From my electronic microscope to my Aladdin Rainbow reading machine, I've taken every step to make sure that vision isn't an issue, but sometimes reading the bands on a simple resistor is still a big pain. Is that an orange stripe or a red one?

Talking Resistor Calculator speaks to tell you what the value of your resistors..


Parts list:

  • Your favorite Propeller board. (I'm using a Quickstart w/Protoboard)
  • An Amplified Speaker
  • An Alligator clip wire
  • A MCP3208 ADC Chip (and possible socket)
  • A 10K resistor
  • A 3,3K resistor
  • A bunch of resistors that you don't want to try to read.


The Schematics


If you've got a Propeller board with an established audio circuit, then you'll only need the ADC circuit.

We'll be using Propeller pins P21, P23, and P24 with the MCP3208.
This ADC is capable of 8 channels of input, but we'll only need CH0

If you need to create and audio circuit, we'll be using Propeller P11


Using the Quickstart & QSProto Board


I've got the QuickProto board from Gadget Gangster, so I've included a simple visual instruction for making the connections as well.

Here are the connections for the top row of the MCP3208 chip.

  1. Jumper ADC pin 16 to V3.3
  2. Jumper ADC pin 16 to pin 15
  3. Jumper ADC pin 14 to Vss (Ground)
  4. Jumper ADC pin 13 to P21
  5. Jumper ADC pin 12 to ADC pin 12
  6. Insert a 3.3K resistor between ADC pin 12 and ADC pin 11
  7. Jumper ADC pin 11 to P23
  8. Jumper ADC pin 10 to P24
  9. Jumper ADC pin 9 to Vss (Ground)
Here are the connections for the bottom row of the MCP3208 chip.
  1. Insert a 10k resistor between ADC pin 1 and Vss (Ground)
  2. Add an alligator clip jumper to ADC pin 1 (CH0)
  3. Add an alligator clip jumper to V3.3

Build the audio circuit to P10 as indicated by the QuickProto instructions.


About the Software


You'll need a couple files to setup the Talking Resistor Calculator.

Download the source code as well as the Propeller Tool.

Using the Propeller Tool, send the file speakresistor.spin to the Propeller using F11 to install it on theEEPROM.

If you look at the speakresistor.spin code, you'll see three objects being loaded.

  1. The MCP3208 object handles communication between the ADC chip and the Propeller
  2. The Parallax Serial Terminal object (We'll talk about that in the next step)
  3. The Phonemic Voice Synthesizer object written by Philip C. Pilgrim

The Phonemic Voice Synthesizer speaks phonetically, meaning that when you read the source code, some of the words appear to be misspelled.  This is done intentionally to make the voice speak each word as clearly as possible.    This program is a great example of the Propeller's multi-core ability to handle several jobs at the same time.


Adding more functionality to the Talking Resistor Calculator


My version of the Talking Resistor Calculator has many of the common resistors I use all the time on my workbench.  You may want to add a few more. 

Here's how to do it.

The Propeller Tool included the program, Parallax Serial Terminal.  Start the serial terminal with a baud setting of 115200.

Connect an unknown resistor to the test leads and the program will display the detected ADC level in the terminal.

Add the following IF statement to your program to plug in a new value...

if sample > {detected value} and sample < {detected value +10}
      t.say(string("whatever oahm resistor")) 
      repeat 5000

Change the {detected value} to what was reported in PST as well as the {detected value +around 10} You'll probably see some variation in the returned number, so set your value to the lowest detected then add 10 or so for the second value.  (In my example photo I would have chosen "4064" as my lowest value and then "4078" as the high value.)

Also change the "whatever to your resistor value.   Save and reload the program to your EEPROM and it should now detect and speak the new value.

There you have it!  A Talking Resistor Calculator for your desk!

]]> (Jeff Ledger) Jeff's Shop Mon, 11 Jun 2012 01:04:29 +0000
Retro style pocket mini computer Build your own "old school" mini computer that runs BASIC and more..


Ever want to experience 70s and 80s computing without fiddling with creaky old hardware and 5.25 floppy disks?

In this tutorial, I'll teach you how to build and program your own pocket mini computer.

Explore micro computing with a machine which:

  • Can be successfully assembled in an evening.
  • Can be programmed in BASIC.  (and other languages)
  • Can play games and run programs.
  • Most importantly: Can be understood.

  • Pocket Mini Computer Kit
  • A PS2 Keyboard
  • A Wii Controller (Classic or ClassicPro)
  • A microSD card
  • A VGA Monitor
  • A set of computer speakers



The Pocket Mini Computer is a small and versatile computer running a full featured BASIC interpreter with 32K of ram. It will work with a standard VGA monitor and PC compatible keyboard. Because the Pocket Mini Computer has its own built in microSD memory card slot and BASIC language you need nothing more to start writing and running BASIC programs. A Wii(TM) compatible gameport as well as stereo audio output create a compelling enviroment to write programs and games.

I'm the designer of the Pocket Mini Computer.  I wanted to create a product which would give those in the younger generation a chance to see what computing was like in the early days before the PC.  I also wanted to re-create the experience as closely to the original Commodore and Atari computers so that us "old timers" could enjoy a trip back to yesteryear when we were young.

The Pocket Mini Computer has been a labor of love from board design to preparing the BASIC programming language.

You'll be able to do more than enjoy a simple "HELLO WORLD" program.  The BASIC is full featured and powerful!


About The Kit:


In the 70s if you wanted a computer of your own, you bought a kit.   These kits would take days or months to complete and if you did everything correct.   (and the parts were good!)  you had your own computer!   The Pocket Mini Computer is a simple kit that will give you a taste of creating your own computer.  It's designed around solid hardware and simple components, so you are guaranteed success!

The Pocket Mini Computer consists of two interlocking boards, A CPU board, and an I/O board. The CPU board arrives pre assembled. The I/O board is an easy-to-assemble kit which can be assembled by a beginner with minimal soldering skills  in a single evening.


Assembly: Placing the resistors:


The resistors are marked with numbers printed on the silkscreen of the I/O board.
Solder them in from the bottom side of the board.

We'll be using 5 different resistors in this build.

  • 10k resistors (Brown, black, orange)
  • 1k1 resistors (Brown, brown, red)
  • 100ohm resistors (Brown, black, brown)
  • 240ohm resistors (Red, yellow, black)
  • 470ohm resistors (Yellow, violet, brown)


Assembly: Creating the audio circuit


Step 2 in assembly is inserting and soldering the audio circuit.


  1. Insert the two 1k1 resistors (Brown, brown, red)
  2. Insert the two caps at C4 and C4.
  3. Insert the two electrolytic caps at C2 & C3.

Important!  The two electrolytic caps must be inserted with proper orientation.  The negative side of each cap should be facing away from the plus sign on the board silk screen.  Follow the image below and you'll be fine.


Assembly: Adding the ports


Step 3 in assembly is inserting and soldering the I/O ports to the board.


  1. Insert the VGA connector and solder.
  2. Insert the PS/2 keyboard connector and solder.
  3. Insert the Audio Jack and solder.

If the jacks are loose and want to fall out when you flip the board over,
simply use a piece of scotch tape to hold them in position while you are soldering.


Assembly: Adding the 40pin connector


Step 4 in assembly is inserting and soldering the 40pin connector.

The next step will install the 40pin connector which connects the I/O board to the CPU board.

An easy way to do this is to insert the 40pin connector into the CPU board as shown in the picture,  then place the top board in place and solder.  You may have to hold onto the board to make the first couple of connections.

Assembly: Installing the microSD module:


Finally, you need to assemble and install the microSD header.

  1. Insert the 2 pin headers into either of rows on the microSD card and solder them into place.
  2. Insert the assembled microSD into the I/O board and solder it into place.
  3. Cut the long pins on the bottom of the board when finished.

The microSD header provides us the "mass storage" for our Pocket Mini Computer.
Old timers will remember using 5.25 floppy disks and some seniors will remember paper tape!
You'll want a 2gb microSD card to take advantage of this option.

You don't have to install this for BASIC to work, but you will want it to LOAD and SAVE files.


Installing the BASIC firmware:


Congratulations!    You've assembled you own "old school" Pocket Mini Computer!

Now it's time to install BASIC on it!

Download all of the files from:

Using your PC, copy the two files, basic.bin and basedit.bin to the 2gb microSD card.

The additional files are the source code to both BASIC (already loaded on the CPU board) and it's full screen editor. These files are MIT licensed and are free for you to modify and distribute.


Using the Pocket Mini Computer:


Time to play!

Connect your Pocket Mini Computer to a standard VGA monitor, a PC keyboard, (Speakers & Wii Classic Controller if you have them!)
Connect the USB cable and power supply to power it up!

You should see a boot screen like the one pictured.


Your first BASIC program:


If you grew up in the 90's you might have never had the opportunity to program in BASIC on an early computer.  If you are a few years older, then you'll probably remember BASIC.

BASIC stands for B(eginner's) A(ll-purpose) S(ymbolic) I(nstruction) C(ode).

In the 70s, 80s and early 90s, all computers come with BASIC built-right-in and simply turning them on meant that you were ready to start using your computer within 2 seconds!   (My how things have changed.)

See the READY. prompt?  Good!  You are "Ready" to type in your first BASIC program!

Type the following and press ENTER after each line.

20 GOTO 10

Now type RUN and press ENTER.


Your second BASIC program:


So you've got a bunch of HELLO WORLD's scrolling down the screen.

Hit the ESC key (the break key) to make it stop.

Type NEW and press ENTER.   It's time to type into something a little more interesting.
You'll need to grab a Wii Classic or Wii ClassicPro Controller for this program.  Plug it in and reset the power on your mini computer.

Type each line below and press ENTER after each one.

10 REM ** Wii Controlled Drawing in BASIC **
15 COLOR 111,0
20 CLS
30 C=222
40 A=50
50 B=50
70 IF JOY = 64 THEN A=A+1
80 IF JOY = 256 THEN A=A-1
90 IF JOY = 2048 THEN C=C+10
100 IF JOY= 128 THEN B=B-1
110 IF JOY= 32 THEN B=B+1
200 PLOT A,B,C
210 GOTO 60

Type RUN and press ENTER.

Draw on the screen with the controller's DPAD.  Change colors with the A button.

The BASIC included on your Pocket Mini Computer is fully featured!
Be sure and read the BASIC Manual.pdf for all of it's features!


More cool programs!


Because your Pocket Mini Computer is based on the Parallax Propeller CPU, you can run other binary programs as well!

Grab a few programs from this archive!

Your Pocket Mini Computer can be programmed in C, Spin, and Assembly.  To find out more about the processor powering your machine visit the following forums and websites:

Propellerpowered Forums

Parallax Propeller Forums


]]> (Jeff Ledger) Jeff's Shop Thu, 07 Jun 2012 19:26:38 +0000
Quickplayer Extreme in stock! Quickplayer "Extreme" available with more horsepower than before.

I won't lie. Propeller gaming is one of the biggest personal addictions I have with the Propeller.   For the last few years, I've been on the quest of creating "the perfect" Propeller board for retro-style gaming, and now with the opportunity to work with Gadget Gangster designs, I can share that with you.

The original Quickplayer featured TV video, audio, and a single Wii compatible controller port.  It's proven to be a popular product, but we couldn't help ourselves, we wanted more...

Nick insisted that we find a way to squeeze in a second player connection.  Naturally, since were in design mode, we figured on adding another audio connection for stereo SIDcog and wav playing, but then it hit me... Why not add another optional feature for SPI SRAM?   Thanks to an Appnote by Andre' LaMothe, SRAM is painless to use, adding 32K of extra ram.

Quickplayer Extreme Features:

  • TV Video Out
  • Right/Left Audio Out
  • Two Wii Controller Connections
  • Optional SRAM socket
  • Optional microSD connection

Quickplayer Extreme is an easy-to-build kit, perfect for the beginner, providing a lot of entertainment, while learning about the Propeller.  It's the board I wanted on my own desk, and I'm sure you will too.

Quick Player Extreme: $13.99

Spin on!


]]> (Jeff Ledger) Jeff's Shop Tue, 22 May 2012 21:58:26 +0000
Bananaphone: A Touch Capacitance Synth Turn your Quickstart and Eight Bananas into a Synth!


I was recently inspired by a Kickstart project which used Bananas as sensors to control a video game on a PC.  I've done some video game controls using the Propeller in the past, but I thought this would make an interesting synthesizer project.

Introducing: Bananaphone: A Touch Capacitance Synth

Parts List: 

  • Your favorite Propeller board.  (I used a Quickstart board w/Terminal Module)
  • A couple packs of alligator jumper wires. (Radio Shack)
  • Nine Bananas (8 notes & 1 to snack on)
  • A 220ohm resistor (Radio Shack)
  • An amplified speaker w/connector
  • The spin source archive







Make a connection from each of the Propeller's P0-P7 I/O pins to the stem of each banana using the aligator clip jumper wires.

I used a Gadget Gangster QuickTerminal to make my connections to the Propeller Quickstart, but you could just as easily plug jumper wires into the Quickstart's P0-P7 I/O.

You'll also need to hook a 220ohm resistor to P11.  This will become our audio out connection to the amplified speaker.   Connect one side of the speaker to the 220ohm resistor, the other side to Ground.  Using a single resistor as an audio output will be a little noisy, but will work fine for the purposes of this project.






Theory of operation:

The Propeller measures the R/C time constant determined by the resistor (internal on the Quickstart)  and the capacitance on the connection point.  When you bring your finger close to the connection point (the banana), the capacitance increases and therefore the R/C time constant increases.

The circuit is called: R/C Decay.

Resistor / Capacitor discharge circuits are an easy way to read resistive & capacitive sensors.

Here's how the circuit works; flip the propeller pin to an output to charge up the capacitor. Then flip it to an input and count how long it takes for the capacitor to discharge. The time it takes to discharge is relates to the position of the potentiometer.

Here's what the discharge looks like



R/C decay is an easy way to read sensors that vary resistance, like photoresistors, potentiometers, thermocouples, gas sensors, and force sensors. A few devices vary capacitance (touch sensors, some humidity sensors), so you can read them by keeping the resistor constant and putting the sensor in the place of the capacitor.




Open the file, "bananaphone_synth.spin" from the archive and send it to the Propeller using F10.

Depending on the length of your jumper wires, and the ripeness of the bananas, you may need to adjust line #36

Buttons.start(_CLKFREQ / 7000)

If you hear tones without touching the "keys", simply increase the 7000, stepping by 1000 until your Bananas respond correctly.


This is a fun afternoon project that my kids loved playing with,

 but what could you do from here?

Here's some ideas:

  • Replace the bananas with Playdough
  • Replace the bananas with cups of water
  • Replace the bananas with conductive paint

Instead of controlling an audio synthesizer,  the propeller can easily control a connected computer, or even devices in the home.

]]> (Jeff Ledger) Jeff's Shop Wed, 16 May 2012 21:25:06 +0000
Bluetooth Howto How to use those inexpensive Bluetooth modules with your Propeller.


In this article, I'll teach you how to install and use a Bluetooth module with your Propeller.

I'll demonstrate several examples of interacting with the module:

  • Interacting with the Propeller using a simple terminal.
  • Controlling devices connected to the Propeller over Bluetooth.
  • Creating a simple Windows application to control the Propeller.
  • Interacting with the Propeller using an Android.

]]> (Jeff Ledger) Jeff's Shop Wed, 02 May 2012 23:00:41 +0000 QuickPlayer: DIY pocket game console Using QuickPlayer to create your own animation & video games.


Have you seen those Direct-to-TV game devices that hook to your TV and play video game classics.

]]> (Jeff Ledger) Jeff's Shop Tue, 27 Mar 2012 22:55:57 +0000 Easy game controls for your Quick Module Wii Classic Controller: Plug and play with the Quick Adapter Module

This will probably read a little like a Wednesday project, but I've been spending some quality time with the new Quick Adapter Module, and discovered a nifty (and easy) way to add some game controls without almost no effort.


A while back I brought a couple of these Wii Nunchuck adapters from FunGizmos.  There seems to be a trend to go toward the Wii Classic controller in new board designs, so I fished this little adapter out and started looking at the Wii Classic Controller object.

The Quick Adapter Module doesn't employ Propeller I/O 16-19 for SD card connection, freeing those pins for use.


Plugging the adapter straight into pins 16,17,18, & 19 as shown makes the Controller fit nicely, but what about Vcc/Vss?  

Download the object and open the file TestClassic.spin.  Make the following adjustments to PUB Init:


We're doing a little of the same cheating we did in the Pumpkin project, setting pins 18 & 19 as our power supply, then opening pins 16 & 17 for communication.

Fire up Parallax Serial terminal once you've uploaded the program to the Propeller and Enjoy!

Spin On!


]]> (Jeff Ledger) Jeff's Shop Fri, 21 Oct 2011 15:33:03 +0000
Digital steering solution. Practical example using the 3 Axis Accelerometer.


Update on the Outrun Arcade Project: {Using a Propeller as a serial joystick to read the analog controls from the arcade machine and send the data to the PC over the programming connection.}

Wednesday, I reviewed Ray's 3 Axis Accelerometer.  Discovering some real problems with both the potentiometer and gears inside the arcade, I switched to this easy solution for reading precise steering data.

]]> (Jeff Ledger) Jeff's Shop Fri, 14 Oct 2011 19:54:53 +0000
Jeff's Shop Outrun arcade project starts to take shape.


Just a quick snapshot today.   The Outrun arcade project is starting to take shape with the monitor installed, the audio circuit connected (foreground on the PC) and the steering control circuit (Propeller Platform in the background).  Visitors are starting to get excited to see an arcade machine back in town again.


]]> (Jeff Ledger) Jeff's Shop Fri, 07 Oct 2011 18:59:19 +0000