Three Axis Position Indicator with Digital Calipers

[Malte] just finished a little project for his Wabeco F1200 milling machine: a compact external display for three digital sliding calipers (Translated from German). As you may have already guessed, [Malte] was lucky enough to be able to fit disassembled calipers onto the machine and use them for positioning. Before embarking on this adventure, he noticed that there were similar projects present on the internet, but all of the calipers used had different data interfaces and protocols. The calipers that [Malte] bought have a mini USB connector, even though the interface itself isn’t USB. As he couldn’t find any information on that interface, he turned to his oscilloscope to decode the protocol.

[Malte] then built an AVR-based platform that reads out the three calipers and shows the position data on the dot matrix LCD shown above. The AVR firmware is written in a mixture of Basic and assembler language. The source code, schematics, and other resources can be downloaded from the project’s web page. We are impressed on the professional aspect of the final result.

Continue reading “Three Axis Position Indicator with Digital Calipers”

Cheap electronic dartboard hacked to use Android for scoring

[Dan] took a $13 electronic dartboard and made it work with an Android device. The idea behind it is that these cheap electronic models feature a very sparse display. At this price that doesn’t surprise us. He wanted to add the features you’d find on a coin-op model like the ones found in bars. So he added some hardware that lets him use Android as the scoreboard.

To do this all he needs is the ability to detect when a dart has hit the board and what value was registered. The board is really nothing more than a 62-button input device organized as an 8×8 matrix. He soldered jumpers between the pins and a DIP socket. After the work was done he programmed his Cordium BASIC microcontroller, a 28-pin chip, and dropped it right in. It communicates with a serial Bluetooth module which provides the connectivity with an Android phone. You can see a very quick clip of the app embedded after the break.

This would be just perfect if you’re using an Android set-top-box on a TV near the dart board.

Continue reading “Cheap electronic dartboard hacked to use Android for scoring”

Try out your assembly and BASIC skills with a ZX Spectrum project

It can be really hard to warm up to coding in Assembly. But this tutorial looks to make it understandable and (almost) easy. It focuses on programming a game for the ZX Spectrum. But you won’t need the hardware on hand as you can just use the ZX Spin emulator as you work your way through the code.

Ostensibly this is a 30-minute tutorial but that’s a gross underestimate. We finished a cursory read of the tutorial and the building blocks are certainly clear and easy to understand. But we like to make sure we understand every line of code and plan to spread that out over the coming weekend.

The first chapter eases us into machine code by combining it with a bit of BASIC. You’ll see how to manipulate the ZX Spectrum memory and then pluck that value back out into the BASIC program. But once chapter 2 hits it’s pretty much all assembly from there on out. The nice thing is that as you go along you learn how the hardware works and there are quite a few references to pages in the manual so you can do some extra learning along the way.

[Thanks Mathilda]

Programming an ARM with BASIC

For those of us old enough to remember the beginnings of the microcomputer revolution, we can look back fondly on ‘the programming environment is the OS,’ a ton of BASIC programs, and typing in small programs found in the backs of computer magazines. It’s a whole new world now with cell phones and Linux computers the size of credit cards, but some companies still remember the beginning.

Coridium is releasing an ARM microcontroller in the vein of old fashioned microcomputers updated for the 21st century. Based on the LPC1114 Cortex M0 ARM microcontroller stuffed into a DIP28 package, the Coridium ARM BASIC provides a programming environment in the firmware.

The ARM BASIC is a complete system on a chip, with Rx and Tx connections to connect to a serial terminal. To get this BASIC microcontroller up and running, all you’ll have to do is connect 3.3 Volts of power. Then, it’s a simple matter of plugging in an FTDI cable and pretending it’s 1989.

Coridium is planning on giving away a few hundred of these ARM BASIC chips to makers in a few days. I’ll put up the announcement of free microcontrollers up in a few days, but [Bruce] at Coridium is sending me one very shortly. Hopefully I’ll be able to do a demo before the stock of free chips is completely depleted.

Cheap wooden hexapod frame greatly reduces cost

[Balline] really wanted to play with a hexapod but found the cost to be prohibitive. Being a mechanical engineer, he was able to fairly quickly come up with a stable 3 servo design that would allow him to experiment with the platform. He chose to use wood as the construction material to help reduce costs even more.  As you can see in the video after the break, his design gets around fairly well.  His cost for the whole thing, including the 3 servos, the basic stamp hobby board, the recycled batteries, and the frame, was under $100.

This is a great system to start with, though he unfairly compares the cost to the dancing ones he had seen in the past. C’mon, your bot ain’t no [Lou Vega]. It is still pretty cool though.

Continue reading “Cheap wooden hexapod frame greatly reduces cost”

BASIC for some beefy AVR chips

klBASIC is a BASIC interpreter written in C for AVR microcontrollers. [Karl Lunt] developed the project based on an assembly language BASIC interpreter for 68HC11 chips written by [Gordon Doughman]. The transition from assembly to C bulked up the code, so you’ll need a beefy AVR chip in order to store all of it.

The idea is that one AVR chip can run BASIC with just a serial monitor. But like this Arduino BASIC interpreter build, it would be a snap to run this with a keyboard and small LCD screen. We see binaries available for several different AVR devices including ATmega128, ATmega1284, and Xmega128. They range from 1.5k to 16k of program memory. We didn’t find a link to the source code (just these precompiled files) so we inquired with [Karl] to see if that is available. He’s reluctant to release the code because it’s “pretty much a mess” and doesn’t live up to his normal standards. If he codes for a living we can see how that may be embarrassing. If you’d like to lend a hand cleaning up the code, let him know by leaving a comment here and maybe he’ll release it for that purpose.

We find this interesting, but it’s tough to get excited about building one of our own. If this has inspired you, we’d love to hear some of your plans in the comments after the break. Perhaps we’d be prodded into another programming adventure based on your enthusiasm.

Arduino BASIC interpreter using LCD, keyboard, and SD

This Arduino BASIC interpreter will make a really fun one-day project if you’ve already got the parts on hand. [Usmar A. Padow] put together an Arduino Uno, SD card, four line character LCD, and PS/2 keyboard. but he’s also included alternative options to go without an LCD screen by using a computer terminal, or without the SD card by using only the Uno’s RAM. As you can see in his demo after the break, this simple input/output is all you need to experiment with some ancient computing.

It’s hard for us to watch this and not think back to an orange or green monochrome display. Just like decades past, this implementation of BASIC has you start each line of code with a line number, and doesn’t allow for character editing once the line has been input. The example programs that [Usmar] shows off are simple to understand but cover enough to get you started if you’ve never worked with BASIC before.

Last August we saw another hack which ported Tiny BASIC to the Arduino. You may want to take a gander at that one as well.

Continue reading “Arduino BASIC interpreter using LCD, keyboard, and SD”