Alright, so I lied in the last post. It didn't work well at all. The software had a memory leak and crashed often. The software was incredibly slow. The AMD Geode PC overheats trying to run XP, and is also UNBEARABLY slow. The wireless network signal was weak, and it didn't have any kind of feedback to tell me the garage door was open or closed. It just sucked.
So I started over:
The same Velleman K8055 USB Interface board.
Used a better mini PC this time. A P4 based box with 768MB of ram. (At least it has SOME grunt)
A high power wireless bridge for network connectivity (good signal now).
An Axis IP webcam to keep an eye on things.
It has magnetic reed switches on the door connected to the K8055 digital inputs to detect when it is opened or closed.
All sitting pretty on a little shelf near the ceiling.
I wrote all new software from scratch. A web based PHP front end running on my webserver. The PHP script communicates directly with the VB program running on the PC, and gives realtime status and control of the door, webcam view, and the VB software even sends me SMS messages when the door is open, closed, or jammed!
Its pretty slick now! Commands are nearly instant, and I can see the status of the door from anywhere.
Need to add security before I can show off the front end to you guys...
Soo uh... There is a PC connected to my garage door. Is that wrong?
I saw this piece on hackaday today, and thought I'd give it a shot with a different method. I actually managed to complete it in 3 hours!
Its a Presidian PIC-1MM Personal Internet Communicator I picked up at the DI for $5. Its basically a tiny low power AMD Geode powered PC running Windows CE. I hacked the BIOS on it a while back and installed Windows XP (requires a BIOS hack to run a custom OS). It currently has a Cisco AE1000 wireless dongle for network connectivity. All running fine from a 12v 1.5amp brick.
This is a Velleman K8055 USB Interface board. It allows you to control numerous inputs and outputs via USB digitally, or analog. I built it a while back for an abandoned project, and had no use for it. The relay connected to the side is what activates the garage door opener "button". The capacitor/resistor combo just above it allows the relay to click momentarily, even if the output is constant. We don't want to hold the garage door button down.
This is a K8055 "Bridge" that runs in windows, and allows any iOS device to control the K8055 from anywhere. There is a $3 app in the iTunes store to install on the phone. Its secured with a "key" to prevent other phones from connecting.
...and thats it! It works great! I will probably eventually write my own software, as the K8055 Bridge software is clunky.
So how do you get a 25 year old Atari STM1 Mouse working on a modern PC?
Rip out these guts.
Took a Microsoft Optical USB Mouse, and hacked and glued the optical window into the "ball hole".
Trimmed the old PCB, so we can utilize the original button switches. Trimmed the new PCB so it'll fit inside.
Soldered wiring from the old PCB's buttons to the new USB PCB.
Jam it all back together... AND...
The original Atari mouse is NOT serial. its a proprietary connection utilizing the DB9 connector. So a USB/serial adapter does not work in this case.
Acquired this... Going to build something out of it. Wanna guess? Clue... its LOUD.
This project has actually been mostly completed for some time. I just haven't taken the time to rip it back down and take pictures to blog about. Well, today I did. Its different than most other NES PC's in that the PSU is integrated into the NES also. Most others use external power bricks to power. Mine uses a standard PC power cord! It also utilizes the original controller ports for UNMODIFIED NES controller awesomeness. Many others get swapped to USB ports, and they use USB NES controllers, or USB adapters. (Cheaters)
The first attempt at this build failed, and I ended up starting over. The NES enclosure seemed to not quite have enough room for both a motherboard and a PSU. This is why others end up with a external power brick. I figured out that the TOP of the enclosure actually has more room than the bottom. So I flipped the motherboard upside down, and mounted everything to the top! This is a VERY tight fit, but it works. As you can see, the NES is actually upside down in this picture. The only parts mounted in the bottom half are the HDD, switches, and controller ports. The motherboard backplate needed to be trimmed on one side to match the angles of the NES.
Below is a view of the standoffs that were cut off from other areas in the casing, and epoxied into the lid for motherboard standoffs. Much of the inside of the casings was dremeled off to make room for the good bits.
The original power and reset buttons were utilized, along with the LED. However the motherboard physically conflicted with the reset switch. I ended up removing the switch and replacing it with a much smaller one, epoxied in place. This gave the needed clearance. The original wiring was soldered directly to a section of a floppy connector, which just gets pressed onto the appropriate motherboard front panel header.
The original controller ports are fully functional. You can connect standard NES controllers, and they work great. This was accomplished via the parallel port. You can actually wire many different console controllers to a parallel port, if you use the right driver. The parallel port is capable of handling up to 5 controllers simultaneously! Right now, its just wired for 2. But maybe in the future I'll add SNES/Genesis/etc. controller ports, hidden under the NES cartridge door.
The schematics that I found online powered the controllers with the 5v+ available from the parallel port itself. This calls for 5 diodes connected to the port. I also heard issues with the lack of current LPT ports put out, especially with multiple controllers. I decided to scrap the diodes, and go straight for a 5v+ off an unused USB header on the motherboard. This gives PLENTY of current, and I didn't need the protection diodes as USB power is protected on its own. You can see the purple USB header wire in the photo below. This worked perfectly, and this makes the schematic/adapter wiring only. No parts needed! The motherboard only has a parallel header, rather than a DB25 on the rear. This actually works out perfectly. I used a hacked up section of a 44 pin laptop IDE cable/connector as it has the same pin pitch as the header on the board. The manual for the board kindly gives the header pinout, as it is different than the DB25. The following schematic assumes DB25, NOT the motherboard header
That pretty much covers the bulk of the project. Most of the time was spent dremeling the crap out of the casing. It turned out pretty clean, although I feel I could of done a better job with some of the cutouts. Ideas for the future include a slim optical drive in the cartridge door as there is enough room. Might add more controller ports for other console controllers. I need to build an autostart GUI front end for the emulator, that lets you choose the rom to play using the controllers, rather than needing a kb/mouse. The reset button should probably be rewired and mapped to reset the emulator, and not the PC. I have several times now reset the PC thinking I'm just resetting my game!
MSI Wind Board D510 Intel Atom Motherboard. Link
2GB DDR2 800
60GB Seagate 2.5" SATA HDD
FSP Flex ATX 220w PSU
Currently running XP Pro (yea yea, I should of used Linux), FCEUX for emulation, PPJoy for the parallel port controller driver.
I installed an optical drive in the NES PC. Check it out:
So today I was cleaning the garage, and I see this little cheapo 13" CRT TV sitting there. I was reminded of an old Hackaday post that demonstrated that you can reverse the horizontal deflection coil wires, and get a mirrored image (For some reason I cant find this post). I then thought, "What would it be like to play NES games backwards??"
This is a super simple hack that took me about 30 minutes, but is fun! It adds a new dimension of play to old games.
Find and swap the Horizontal deflection wires on the yoke, as shown here:
Hook up something, and test it out! It took me a couple of attempts to find what pair is horizontal, and which were vertical.
Rip open an NES controller, and cut the 2 traces coming out of the Bottom of the "Left" and "Right" buttons. Expose some copper, and swap the traces using small wire, as shown.
Re-assemble and test... That's it! You can now play with normal controls, on a reversed screen. Here's the result:
Im building up a new server with a bit more Oomph:
I havent had a dirt bike since I was a kid, and would love to dink around on one again. The guy selling it didn't even know what it was. It was listed as "Suzuki dirt bike, doesnt run". He was asking $150, but I knocked it down to $75. Its not in the greatest shape, but I've seen worse.
I noticed right off the bat that the compression was not where it should be when I turned it over. Being an old bike, I figured it just had a stuck ring from old castor oil or something. I hoped it would just loosen up on its own.
Well, it didnt.. I pulled off the exhaust and found this:
So it was time for a top end rebuild. Bottom end and wrist bearings felt perfect, so I left them alone. Found a NOS .50mm genuine Suzuki oversize piston on ebay, along with set of new rings. I did some calling around to some machine shops. Lindsay Machine Racing is the best known machine shop around for this type of work, but they wanted $90 a hole to bore! I called around to some other shops. Most wont touch 2 stroke cylinders, due to the ports. I found some guy that would charge $30, but he didnt sound very confident. Then I called a machine shop that a buddy used for his 22re head work. "Crankshaft Grinders". Very nice, knowledgeable older guy, with some younger kids working for him. $40 to bore it over. The exhaust port had some damage from the rings mashing against em, but most of that got worked out during the bore. He did an awesome job. I took a new ring, and checked the endgap from one end of the cylinder to the other, and it was spot on! I'll be re-using this guy in the future with the CB200 I have. He chamfered the exhaust port, and I chamfered the rest:
Cleaned it all up, a touch of assembly lube, and its time for re-assembly:
The bike immediately had monstrous compression compared to the way it was! It started right up after about 4 kicks:
Thats about it for now. It needs to be broken in. The bike still needs a lot of other work. Tank is rusted out, needs a chain. Tach and speedo are missing, but I dont really care about those. Oil injector is not hooked up, so it runs premix. But it has a pressurized crank oiler, so I should get that working again. Should prolly get a title too
This is the Microbike... I built this back in 2004-2005. This was just before I met Ash. I had a lot of time on my hands.
It originally was a Runt bike, which I strapped an engine to the back with friction drive... it was fun, but I wanted to go smaller. I hacked the frame in half, got rid of the rear suspension and bolted the swing arm on solid. Welded a seat mount to the remainder of the frame. Wheels are goped wheels, which fit well with spacers. Rear wheel is specifically from the Goped GSR (Chain drive model), as you can bolt a sprocket to it. Engine mount was fabricated from weldable steel from Lowes. Engine is a 31cc ryobi weedeater engine, with the covers removed. Flywheel fins were ground down to make the flywheel thin enough to fit in the mount. Front sprocket is the smallest pocket bike sprocket I could find...6 tooth. They come ready to thread onto the clutch they normally mount to on a pocket bike. The ryobi did not have these female threads to accept the sprocket, but does have a long extension off the crank. I cut male threads into the crank. I then found 2 nuts that each thread onto the crank, and the sprocket. I welded these together as straight as I could. It took a couple of attempts, but eventually ended up with a perfect adapter. Adapter screws onto crank, and sprocket screws onto the adapter. I added axle pegs to not only put your feet on, but to also protect the bike from falls. Fuel tank is off some weedeater, I don't remember... added a twist throttle, and modded the exhaust so it didn't shoot into your leg. The seat is a Harley backrest
That's about it! No brakes. No kill switch. No clutch. Direct drive... You push start it, then jump on while its moving. I takes quite a bit of practice to get it right. It is also rear heavy, and likes to wheelie over if you aren't leaning forward. It does about 20mph, which is PLENTY fast for its size. It always seems to gather a crowd when I ride it in public areas. Its also been a tough little bugger... Been wrecked MANY times by different people, and can always be picked back up and ridden again.
I submitted DoomBOX to Hackaday earlier this week, and it was accepted!
Since then, it went somewhat Viral, and eventualy made its way on TV:
Crazy! Thanks Hackaday for posting my project!