Cyrozap's Tech Projects

Computers. Circuits. Code.

My Current 3D-Printing Status

Hardware upgrade: After wiring the 8-pin CPU power connector to go to the relay board and connecting my Cupcake's new PSU, the machine no longer skips steps in the Z-axis nor in the extruder and the heated build platform and extruder nozzle heat up in a more timely manner. My reasoning for wiring an 8-pin CPU power connector to the relay board was to ensure that the heater elements would have enough power and not take it from the steppers. I'm pretty sure this works because the CPU power is on a separate rail from the normal connectors, but it may also just be because everything isn't running off the same strand of connectors any more. It really is a nice power supply and I can really appreciate the engineering and industrial design work that went into it. Anyways, to finish up, I just need to cut a large hole or a series of holes in the bottom of the Cupcake's wooden "PSU shelf" so when I put it in, the power supply will have a way to draw in air for cooling. Then, I'll be able to close up my Cupcake for a while.

Software upgrade: I'm still on ReplicatorG 34 because it's what I'm familiar with and is the latest supported by my Gen3 electronics, but that doesn't mean I can't improve the slicing speed! Just today I managed to install PyPy, a really fast python interpreter that has been shown to make slicing go 4-5 times faster. For instance, Brainy Walt now slices in only 6 minutes on my Core i7 MacBook Pro where before it would take around 30-45 minutes. This is really great because now I can try out new settings without having to wait forever for Skeinforge to re-slice things.

Here's a tip for those of you trying to install PyPy and tkinter-pypy on OS X Mountain Lion (and possibly Lion): If you get any ld errors about missing tk8.4 or tcl8.4, just find the "setup.py" file in the tkinter directory you're installing from and change the versions to 8.5 for both of them. Also, if you get any errors similar to that regarding X11, first make sure you have XQuartz installed, then run ln -s /opt/X11/include/X11 /usr/local/include/X11 in a terminal to symlink the X11 includes so the setup.py script (or whatever else) can find them.

RepRap status: Now that I've pretty much fully repaired my Cupcake, I can work on my Prusa Mendel without any guilt. All I need to do with it is figure out some temporary wiring scheme to test out the electronics and steppers, then I'll fit the heated build to the Y-axis plate and start trying out Slic3r.

Python is Fun

Usually, I don't do much programming because it's always taken a lot of work to do even the simplest of things. However, since I've discovered Python, I've been having a blast. Just yesterday, I wrote a command line tool to upload files to Box.com. While I could have used somebody else's libraries to do the heavy lifting, I wanted to roll my own code. I thought it would be both more fun and more educational that way, and it was. My initial purpose for writing this program was that I could use it in a cron job to perform server backups. Now, because server backup was my primary goal and I can encrypt the backup archives before uploading, security wasn't much of an issue. Because I wasn't very concerned with the security of the transfers, I didn't bother to do things like check for SSL/TLS certificate validity. Additionally, I put my API key right in the code, so I can't just distribute it and let people see that. If you want it, I've posted it below (with my API key removed, of course).

Upgrading the Kyocera KR2 With the CradlePoint MBR1000 Firmware

This is the first post in my quest to get my Kyocera KR2 running some more modern firmware. For those of you who don't know, The CradlePoint MBR1000 3G/4G wireless router is essentially a rebranded Kyocera KR2 with different firmware and no PCMCIA slot. Internally, the hardware is exactly the same (except for the PCMCIA card slot). The MBR1000's firmware is more up-to-date than the KR2 firmware with support for more 3G and 4G cellular cards, so I wanted to see if I could upgrade the firmware. If I do eventually get this to work, I'll probably lose the PCMCIA card slot functionality, but it will be worth it.

Here's what I have so far:

Power Supply Perils

After 3 years of faithfully supplying power to my MakerBot Cupcake, the power supply has finally died. Every time I switched it on, it would turn right off. That's not bad for 3 years of use, especially considering that I probably started using too much power when I switched to a stepper extruder with power resistor heating with the MK6 upgrade. I've already found an amazing new power supply for it, but it has an air intake on one of its larger sides, so I'll have to cut a hole (or drill a bunch of tiny holes) in the MakerBot's bottom panel. This is in addition to the work I'll have to do on the back panel to get the power switch to fit.

MakerBot is Growing Up

Disclaimer: This is just, like, my opinion, man. Also, I won't be discussing whether MakerBot has done anything illegal or not; I'll only be explaining what I think is going on at the company.


Introduction:

Recently, the MakerBot Replicator 2 was announced as a closed-source device. This didn't really surprise me. In fact, I'm more surprised they didn't do this with the original Replicator. Yes, they're a company we've all come to know and love, but I've felt that for a while now that they've been becoming less and less relevant to the community of 3D printing tinkerers.

Totally not a "tech project" post.

For this blog post, I'm going to analyze Apple's success because I'm totally qualified to do that. Also, if you're an Apple hater, you might not like reading this.

I noticed something interesting I regarding the differences between Apple advertisements and advertisements from other smartphone and tablet manufacturers. Let's see if you can spot the differences, too:

Almost there...

All I have left is to wire up the power supply and attach the heated bed!

Debian Linux + ReplicatorG

Recently, I have been trying to get rid of my MacBook Pro so I will be able to upgrade my iPhone in the Fall when the new one is supposed to come out. Up until now, my MacBook had been my MakerBot-controlling machine. Now that I have a nice, speedy Linux laptop with an average of 7 hours of battery life and become more proficient with Linux, I've been using the MacBook less and less. Today, I decided I was going to print more parts from the Mendel-Inspired Lowrider. To do this, I needed to install ReplicatorG. Well, I got it running fine, but it wasn't detecting my serial port (I plan on using the physical RS-232 port on my laptop instead of the USB-TTL convertor). As is the norm with Linux, I figured it was a permissions problem and, lo-and-behold, I was right! This article got me up and running rather quickly. Basically, I just had to sudo chmod a+rw /dev/ttyS0 and I was good to go.

An interesting thing I noticed: for some reason, Skeinforge works a lot faster on my Debian Laptop than my MacBook Pro even though they have the same processor (T7300) and RAM speed (DDR2 667 MHz).

The thought just occurred to me that maybe my Debian Laptop's Skeinforge is faster because the Debian Laptop has an SSD.

The Peeks have arrived!

Update 3/29/12: Peek's OS has been open-sourced! The new dev site is here: PeekLinux.com

Well, I just received my casepack of 30 Peek devices (it was originally supposed to be 20...) and I have nothing to do with them. I'll be hanging out in #peekdev (##peek is no longer used) on Freenode IRC as cyrozap, so spread the word about the IRC channel and join in so we can collectively figure out how to make this awesome device better! Code to help get started has been posted to http://peekhack.posterous.com. http://elinux.org/Peek has some good info on how to flash the device.

Oh, and thanks to Sam Aarons for letting me know that Peeks were being given away! I still have no idea why that news hasn't reached Hack-a-Day yet...

Update 2/29/12: For those of you wondering, this is how you wire up a normal micro-USB cable to an FTDI cable for use with a Peek. Sorry for the poor photo quality; my iPhone's case has plastic covering the lens that likes to diffuse light. :|

Cable Wiring

From FTDI -> USB, the connections are: Black -> Black, Red -> Red, Orange -> Green, Yellow -> White

My Enhancement Request to Apple (and Verizon, AT&T, et al.)

I just sent this Enhancement Request to Apple. I've reproduced it below:

Unlocked Verizon iPhone 4S To Work On U.S. GSM Carriers

This may be more of a problem with Verizon, but I really would love it if an unlocked Verizon iPhone 4S could be permitted to work on any GSM carrier in the world—including the United States. Currently, it only works on Verizon in the U.S. and GSM carriers internationally, but not AT&T, T-Mobile U.S., nor any other U.S. regional GSM carriers. I was going to buy an iPhone 4S, thinking that this was the dawn of the age of easy migration between wireless carriers, but upon learning about this crippling of the iPhone's enormous hardware potential, I have resolved to not purchase one. I also find it absurd that Verizon will not let an Apple-unlocked iPhone 4S be permitted on its network. This stifles innovation and reeks of monopolistic practices. If iPhone owners got fed up with AT&T's lack of expansive 3G coverage, they could switch to Verizon. If they got tired of Verizon's slow 3G data speeds, they could easily switch to AT&T or T-Mobile. If consumers were allowed to freely flow between carriers, the superior carrier would have more subscribers by nature and not by force. I'd prefer it if companies would bring about this change by themselves instead of legislation forcing the change. Either way, it must happen eventually. Apple has the power to protest these anti-competitive habits by allowing the activation of U.S. SIM cards in unlocked Verizon iPhone 4S's. I don't know if this request will actually do anything, but it makes me feel better to know that someone will see this and might even stop a moment to think, "What if..."

Go to http://www.apple.com/feedback/iphone.html to send your own Enhancement Request.