So I’ve been neglecting my own projects lately while I’ve been working on competitions for my hackerspace.
Here’s on of the finished products, the Hammer Slammer for Red Bull Creation contest.
So I’ve been neglecting my own projects lately while I’ve been working on competitions for my hackerspace.
Here’s on of the finished products, the Hammer Slammer for Red Bull Creation contest.
So I finally made some time late at night to work on my ord bot. First thing I did was try to true up some of the brackets, make sure everything is straight and tight.
Next I went ahead and soldered the stepper headers onto the azteeg x3, I decided this look was cleaner than going with the screw terminal approach.
Finally it was time to wire up the power supply. I just chopped up an old IEC cable and screwed the terminals down.
A quick power on test of the azteeg.
A little bit of wire twisting, some electrical tape and I loaded up Marlin firmware sketch, tweaked the values a little to match the azteeg x3. From here I ran into an issue where the board went into failsafe block mode because I don’t have any of the thermocouples hooked up it thought it was frying its self, so I disabled those in the firmware. Try #2, I was getting steps, but not good steps. I adjusted the stepper current using a meter and a small screwdriver on the pots, but still odd movement. I finally realized that I hadn’t put any jumpers on the microstepping selector and was doing full steps. After setting that it was moving like butter!
Here is a video of me just playing with the motor back and forth.
I’ve been using Dip Trace at home for making personal PCB’s for a few years now, it’s price and usability is pretty decent. So I thought I’d start by jotting down some tips for newcomers. This tip is dealing with reference designators, like U1, U2, R1, R2, etc… you know those markings that help you assemble your PCB.
First off you can change the font, size, and properties of a layout by going to View->Pattern Marking->Font. From there you can change to a True Type font, font size, and choose between bold and normal. It will apply to all ref’s in the current design.
The second one is to move the refdes. By hitting F10 while working, or going to View->Pattern Marking->Move Tool, You can then select your refdes and move it somewhere you can view it better. You can also rotate it while selected by hitting the ‘r’ key. These are handy when you have a lot of parts tightly squeezed together and want to be able to see the markings.

I’ve gotten a few requests for more info about my kit. So here is some more info until I finish writing the documentation:
Let me know if there is anything else I can comment on.
Here’s a quick video showing the streaming functionality. Right now there is no GUI on the host side, just a command line program that reads .ym files and streams them to the chip at 50hz.
I decided to dust off a project that I’ve been working on-and-off for over a year now. Just to introduce it really fast… I’m taking a vintage sound generation chip, the YM2149F or AY-3-8910 and giving it a modern upgrade. First thing I did was see how hard it would be to add a MIDI interface to it. I was able to create a USB MIDI stack, and map notes of the chip to MIDI notes, then I thought it would be cool to add hardware MIDI as well. I’ve created most of the things in the MIDI world to equivalents on the chip. Most of the noise generation and ADSR envelope filters are implemented as CC commands. Pitch-bend works, velocity is toggleable via DIP switch (and just really does a volume, I personally don’t like velocity implemented this way). And volume works. I’ve been able to use fruity loops to create some cool retro sounding music. Then it dawned on me that I didn’t even implement the most obvious feature! Streaming old chiptunes! With the help of The Leonard Homepage I used his open source emulation app to hack into my device and just stream the registers to the chip, producing really awesome music!
I’m looking to make this a kit for other people to experience, so I was going over the assembly instructions last night. I need to work on documentation, some code fixes, and to order a buncha parts first so its not quite ready but… soon enough. I’ll see if I can throw a video up soon.
I’ve been working on this project that needs data streamed to the serial port, and I’m working on making it cross platform. That’s at Windows/Linux … I’m sure if I get Linux working an OSX port would be easier. I have to say MinGW is an great environment. Teamed up with Eclipse, (other than my normal gripes with Eclipse) I’m pretty satisfied I must say. I’m able to take my project over to Linux and compile just the same.
Now dealing with serial ports in Windows/Linux still needs some abstraction, I thought the MinGW lib’s would actually help more on this, but they seem to work fine for Linux but the process is slightly different in Windows, thus I still had to make wrapper functions for open/close/write/read and a few #if directives. Not too bad, I just thought this is something simple enough that would have been built in already. Oh also had to macro define sleep for a delay. I should try to figure out how to compile for both environments with 1 compiler, maybe use crosstool. For now I’m ok just having the same code and building on both environments.