Hacklet 73 – Parallax Propeller Projects

In 2006, Parallax, Inc wasn’t new to the electronics business. They’d been around since 1987. Still, for a relatively small company, jumping into custom chips is a big leap. Parallax didn’t just jump into some cookie cutter ASIC, they made their own parallel multi-core microcontroller. Designed by [Chip Gracey], the Parallax Propeller has 8 cores, called cogs. Cogs are connected to I/O pins and other resources by a hub. The Propeller saw commercial success, and continues to have a loyal following. This week’s Hacklet is about some of the best Propeller projects on Hackaday.io!

wozWe start with retrocomputing prop star [Jac Goudsmit] and L-Star: Minimal Propeller/6502 Computer. [Jac] loves the classic 6502 processor. Inspired by [Ben Heckendorn’s] recent Apple I build, [Jac] wanted to see if he could replicate an Apple I with minimal parts. He built upon the success of his Software-Defined 6502 Computer project and created L-Star. The whole thing fits on a Propeller proto board with room to spare. The project uses a 6502, with a Propeller handling just about everything else. The system takes input from a PS-2 keyboard, and outputs via composite video, just like the original Apple I. As you can see from the photo, it’s quite capable of displaying Woz in ASCII. [Jac] has expanded the L-Star to support the Ohio Scientific C1P and CompuKit UK101, both early 6502 based computers.


bbotNext up is [Mike H] with B-BOT. B-BOT is a balancing robot. [Mike] used B-BOT to learn about designing with the Propeller and programming in SPIN, the Prop’s built-in interpreted language. While slower than assembler, SPIN was plenty fast enough to solve the classic inverted pendulum problem. B-BOT’s primary sensor is a Pololu AltIMU-10. This module contains a gyro, accelerometer, compass, and altimeter all on one tiny board. Locomotion comes in the form of two stepper motors. Command and control is via X-Bee radio modules. All the parts live on a custom PCB [Mike] milled using his CNC router.


xynq[Antti.lukats] created Soft Propeller, his entry in the 2015 Hackaday Prize. Soft Propeller doesn’t use a hardware Propeller at all. The core of the system is a Xilnx Zynq-7 chip, which contains an FPGA and a Dual Core ARM A9+ processor. Back in 2014, Parallax released the Verilog HDL code for the Propeller core. [Antti] has taken this code and ported it over the Zynq-7. With 256Kb of RAM, 16 MB of Flash and an LED, the entire system fits in a DIP package smaller than a stick of gum.


pipmanFinally, we have [Christian] with Pipman GPS Watch. There’s just something about the Pip-boy from the Fallout video game series. This Personal Information Processor (PIP) has spawned hundreds of projects from cosplayers and electronics hobbyists alike. [Christian’s] version uses a 4D systems TFT LCD to display those awesome graphics. Input comes through a 5 way navigation switch. A GPS and compass module provide all the navigation data Pipman needs. At the center of it all is a Parallax Propeller programmed in SPIN. [Christian] has a working prototype on his bench. He’s now working on modeling a 3D printed case with Blender.

There are a ton of Propeller projects on Hackaday.io. If you want to see more, check out our Propeller Project list! Did I miss your project? Don’t be shy, just drop me a message on Hackaday.io. That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

The Self-Balancing Sideways Segway

[Jason Dorie] has been hard at work on his two-wheeled, self-balancing skateboard. He calls it the Sideway.

Similar to the Segway, it relies on the user shifting their weight to control the speed at which it will run. A Wii Nunchuk controller is used to steer, which varies each wheels output, which allows for some tight maneuvering!

Under the deck is a pair of 24V 280W (about 1/3HP each) scooter motors which are driven by two 32A Sabertooth speed controllers. They’re run off a pair of 3 cell 5Ah LiPos which get him about 40 minutes of use — not too shabby! To handle the control algorithm for the IMU, he’s using a Parallax Propeller with custom software.

To demonstrate, he takes us of a tour of one of his favorite stores — Michael’s.

Continue reading “The Self-Balancing Sideways Segway”

DIY Punch Card System Despite Hanging Chads

Sometimes you just have parts lying around and want to make something out of them. [Tymkrs] had a robot paper cutter, so naturally they made punch cards. But then, of course, they needed a punch card reader, so they made one of those too. All with stuff lying around the shop.

The Silhouette Portrait paper cutter is meant for scrapbooking, but what evokes memories of the past more than punchcards? To cut out their data, rather than cute kittens or flowers, they wrote some custom code to turn ASCII characters into rows of dots. And the cards are done — you just have to clean up the holes that didn’t completely cut. These are infamously known as hanging chads.

The reader is made up of a block of wood, with a gap for the cards and perpendicular holes drilled for LEDs and photoresistors. This is cabled to a Propeller dev board with some simple firmware. We would have used photodiodes or phototransistors, because that’s what’s in our junk box (and because they have faster reaction time), but when you’ve got lemons, make lemonade.

OK, now that you’ve got a punch card reader and writer, what do you do with it? Password storage comes to mind.

Continue reading “DIY Punch Card System Despite Hanging Chads”

Hacklet 38 – 6502 Projects

The 6502 CPU is probably the most famous of all the 8-bit processors out there, whether in the form of bare chips for homebrew computers, or as slightly modified derivative chips found in everything from the C64, the NES, and the BBC Micro. For this edition of the Hacklet, we’re taking a look at all the 6502-based builds on hackaday.io.

6917521396192751941There aren’t many transistors on a 6502, making it perfect for implementing on an FPGA. [Michael A. Morris] has an Arduino FPGA shield, and his soft-6502 project is called Cameleon. There’s a bunch of SPI Flash and FRAM on board, and the 128kB of (parallel) SRAM on the board is more than enough to handle any computational task you can throw at it.

Since the Cameleon is built on programmable logic, [Michael] thought it would be a good idea to put some of those unused opcodes to use. There are instructions for coprocessor support, and a bunch of instructions specifically designed to make the Forth implementation easier.

4244551421640813832Maybe programmable logic isn’t your thing, and you’d just like a simple computer like the Ohio Scientific or the Apple I. The L-Star is for you. That’s [Jac Goudsmit]’s build featuring a 6502, a Parallax Propeller, and little else.

The Parallax Propeller is a powerful (multi-core!) chip that’s easily capable of handling video out, keyboard in, and serving up the ROM and RAM of a computer. [Jac]’s build does it all beautifully, and if you’re looking for the easiest way to run code on a 6502, this is how you do it.

6502s were found in just about everything, and while poking around at the local e-waste recycler, he stumbled upon something rather interesting. The case badges screamed, “BS medical device”, but after poking around a bit, he figured out this was an MTU-130 system, a machine that was apparently the top of the line in its day.

There’s some weird stuff going on in this machine – 18-bit addressing and 80kB of RAM. So far [Eric] has managed to dump the ROM, and he’s taking a look at the floppy controller board to see if he can figure out how it’s mapped. It’s one thing to figure out what’s broken on an Apple II or C64; those are well documented machines. It’s another thing entirely to figure out a machine very few people have heard of, and we tip our hat to [Eric] and his efforts.

4000511410347834190Here’s a build that both does and doesn’t have a 6502 in it. [BladeRunner]’s SheMachine is a single board computer that has a 65c816 in it. The ‘816 is an interesting beast that operates as a standard 6502 until a bit is flipped in one of its registers. After that, it has a 24-bit address space for addressing 16 Megabytes of memory, 16-bit registers, but is still completely backwards compatible with the 6502. Yes, it does have weird interleaved address pins, but we can only imagine what the world would be like if this chip came out a few years earlier…

[BladeRunner] is designing the SheMachine with 1MB of SRAM – more than enough, really – and is mapping all the memory through a CPLD. That’s how you should do it, anyway.

Improving the Parallax Propeller in an FPGA

The Parallax Propeller is an interesting chip that doesn’t get a lot of love, but since the entire chip was released as open source, that might be about to change: people are putting this chip inside FPGA and modifying the binaries to give the chip functions that never existed in the original.

Last August, Parallax released the source for the P8X32A, giving anyone with an FPGA board the ability to try out the Prop for their own designs. Since then, a few people have put some time in, cleaning up the files, unscrambling ROM images, fixing bugs, and all the general maintenance that an open source microcontroller core requires.

[Sylwester] has grabbed some of the experimental changes found on the Parallax forum and included them as a branch of the Propeller source. There is support for a second 32-bit port, giving the new chip 64 I/O pins, multiply instructions, video generators, hard-coded SD card libraries, and a variant called a microProp that has four cores instead of eight.

You can grab all the updated sources right here and load them up on a DE0 Nano FPGA board. If you’re exceptionally lucky and have the Altera DE2-115 dev board, you’ll also be able to run the upcoming Propeller 2.

Hackaday 10th Anniversary: Jon McPhalen and the Propeller

[Jon] came out to our 10th anniversary mini-con to talk about the Propeller, and judging from his short introduction, his hacker cred is through the roof. He has a page on IMDb, and his first computer was a COSMAC. Around 1993, he heard of a small company introducing the BASIC Stamp, and like us with most new technology was incredulous this device could perform as advertised. He tried it, though, and for a few years after that, he was programming the BASIC Stamp every single day.

Having a lot of blinky light project under his belt, [Jon] was always struggling with interrupts, figuring out a way to blink an LED exactly when he wanted it to blink. A lot has changed over at Parallax since 1993, and now they’re spending time with the Propeller, an 8-core microcontroller where interrupts are a thing of the past. He showed off a huge, 10-foot tall bear from League of Legends, all controlled with a single Propeller, using 1000 LEDs to look like fire and flames.

[Jon] shared the architecture of the Propeller, and the inside of this tiny plastic-encapsulated piece of silicon is wild; it’s eight 32-bit microcontrollers, all sharing some ROM and RAM, controlled by something called a Cog that gives each micro access to the address, data, and IO pins.

When the Propeller was first released, there were a few questions of how the chip would be programmed. C isn’t great for multicore work, so Parallax came up with a language called Spin. It’s written for multicore microcontrollers, and from [Jon]’s little session in demo hell, it’s not that much harder to pick up than Python. Remember that hour or two where you learned the syntax of Python? Yeah, learning Spin isn’t a huge time investment.

Even though you can program the Propeller in C and C++, there’s a reason for Spin being the official language of the Propeller. It isn’t even that hard, and if you want to dip your toes in multicore microcontroller programming, the Propeller is the way to do it. It’s an open source chip as well so you can give it a try with an FPGA board.

The Thurber Feeder 5000 Helps to Slow Fido Down

Does your dog eat too fast? [Thurber] does, and he even chokes occasionally while snarfing down the kibble — naturally this worried his owners, so [Jason] stepped up to the challenge to slow him down. Introducing the Thurber Feeder 5000.

[Jason] is a seasoned maker, and has built a few CNC machines in his day — he’s even automated an Etch a Sketch with stepper motors. Making the Thurber Feeder 5000 was a piece of cake. He designed the entire thing in 3D CAD and then used his home-made CNC machine to cut out all the parts, 3D printing a few of the more complex mounting brackets.

It’s a fairly simple device consisting of a food hopper (seal-able to keep Thurber away), a stepper motor and an auger bit borrowed from a chocolate fondue fountain. The stepper goes through a 6:1 belt pulley ratio which gives it a whopping 200 oz-in of torque to push those kibbles and bits through the feeding pipe. The speed is adjustable by programming the Parallax Propeller, so once they found an acceptable eating speed [Jason] set it as default. A single button turns it on, and while the machine is running it lights up — turning off when little [Thurber] is done.

Continue reading “The Thurber Feeder 5000 Helps to Slow Fido Down”