software

STEVE – New chassis, 3D printing, fresh electronics!

IMG_20151122_133544Plenty has happened since our last post, and most of it can be summarized with the following picture.

Yup, lots of wires. New body, too. With my 3D printer back in service, cases were printed for the electronics, along with new wheels all around. These new wheels add around an inch of ground clearance, and better off-road traction.

As well, the first shipment of new parts has arrived: a USB WiFi adapter, an ultrasonic range sensor, H-Bridge motor controller, 9-DOF IMU and a temperature probe.

There are a lot of really cool developments in this post; let’s dive in.

› Continue reading

Tags: , , , , , ,

Saturday, December 12th, 2015 3d printing, electronics, networking, software, steve No Comments

Meet STEVE

20151103_223737He may not look like much right now, but STEVE is an evolving project I’ve been wanting to start for quite some time. He is a robot, into which I will combine software, hardware, and mechanical design.

Currently STEVE is an AVR microcontroller and LM298 dual motor driver, strapped to a circa 1985 remote control car. Over the last few days, I began laying the foundation with serial communication, motor control, and power. In the next few weeks, I should receive the first order of parts to give STEVE senses.

Initial Sensors:20151103_223750

  • Ultrasonic range sensor
  • 9-Degrees-of-freedom Intertial Measurement Unit (with compass)
  • DS18B20 Temperature Sensor
  • USB WiFi Adapter
  • LM298 Motor Driver (a better unit)

Once progress is made with these first parts, I also plan on including these additional sensors:20151103_223743

  • GPS
  • Servo (to pivot ultrasonic range sensor)
  • Current Sensing
  • Webcam

This is a great wish list, but without the software to tie it all together, not very useful. Therefore, I’m assigning my Raspberry Pi 2 B+ as STEVE’s brain. My vision is for the Pi to do all the heavy processing such as navigating, making 20151103_223817decisions, and hosting the user interface for mission planning. That way, the AVR is only a hardware controller that manages Input/Output, and communicates bi-directionally with the Pi.

Snapchat-9001727698458437431

Over the last week the project has evolved very rapidly, and a new body is in the works. My 3D printer has some serious overtime coming up, as I begin designing and printing STEVE’s mechanical components. The ability to print new wheels, mounts, gears and body components is critical to the success of this project, and will also mean I can be very flexible with how everything is implemented.

I have a lot of freedom to do really cool things with this, and I look forward to posting regular updates on STEVE’s progress here!

Tags: , , ,

Sunday, November 8th, 2015 electronics, projects, software, steve No Comments

Bell Aliant FibreOP with a DD-WRT Router

This has been a long time coming. To summarize, Bell Aliant’s FibreOP Internet service includes a wireless router that has proprietary, limited firmware. It tends to suffer from latency and WiFi issues. So, I sought to replace it with my own wireless router! I ended up first building an overpowered but very functional pfSense Linux Firewall/Router.

Downstairs

Despite my monstrous UPS, I was not happy with the 1 hour run-time. The whole reason for the pfSense router was that FibreOP “hides” its Internet on a VLAN, which means a standard, consumer router will not be able to access the Internet. And from some forum posts I had read, it seemed DD-WRT was also incapable of it.

Finally, today, I pushed through and realized it takes only 4 simple steps to connect a DD-WRT router directly to the FibreOP modem.

Upstairs AP

› Continue reading

Tags: , , , ,

Saturday, November 16th, 2013 computers, networking, software 33 Comments

Making Bell FibreOP Work With a pfSense Router

Atlantic Canada is very fortunate to have access to Bell Aliant FibreOP Internet. It is a legitimate Fibre-to-the-Home (FTTH) service, in the same price range as cable and DSL offerings. Speeds start at 50/30 (download/upload in Mbps) for $70/month without any promotions.

FibreOP Plans

As great as the Internet itself is, the wireless router they include is the bottleneck. It is an Actiontec R1000H. Our biggest headaches with it were low WiFi throughput and frequent WiFi drop, but the interface was a little lacking in advanced features.

Actiontec

The logical solution is to use another router. Unfortunately, Bell has configured the service in a way that simply swapping in a new router will not work at all!

Through some research and my own trial and error, I was able to install pfSense to a spare computer, and take control of my Internet.

Disclaimer: Do not follow these steps if you have Bell’s IPTV service, as it will no longer work. There are other sites that describe how to keep those services working, but mine does not. As well, though there should be no impact, I advise against doing this if you have FiberOP Home Phone and rely on it for emergency communications.

This is not an easy task. It requires a very good understanding of computer networking, basic understanding of Linux networking terminology, and availability of network equipment (switches, wireless access points, cables, NICs). Chances are you found this page because you meet some of that description. Just know that if it isn’t working out, you can plug in the Actiontec and pretend it never happened.

› Continue reading

Tags: , , , , ,

Friday, August 23rd, 2013 computers, networking, software 18 Comments

Happy Pi Day!

Indeed, Pi day (3/14, March 14th) is upon us once more. Last year I had the fortune of being the first person to recite many digits of Pi at our college’s celebrations, and this year I have worked on remembering additional decimal places.

In doing so, I remembered a javascript my friend made in junior high school that would check Pi digits, and with his permission I have embedded it below (or download it.)

Practice your Pi here! (Refresh if it didn’t load.)

Tags: , , ,

Wednesday, March 14th, 2012 life, software No Comments

Final Project – Menu System!

Over the winter break I didn’t do any work on my third year project, though I told myself I should. So, when the semester began, I was at the same stage as before the break:

  • Real-Time Clock functional
  • Relay triggering functional
  • Changeable target temperature with buttons
  • Status display on LCD

A menu system is completely necessary for a thermostat of this complexity; options to change backlight colour, configure the time, modify schedule, and others, can only be practically configured through a menu.

This was the result of an hour or two of work:

Look past the break to also see a video demo of the menu interface!

› Continue reading

Tags: , , , , , , ,

Tuesday, January 24th, 2012 electronics, final project, projects, school, software 2 Comments

GPS Hacking – Magellan 1424

Modern day GPS devices are essentially miniature computers. Many have a compact version of Windows, called Windows CE, installed, and the GPS software runs over top of it. However, GPS manufacturers often lock out this extra functionality. There are different packages and ways to unlock your GPS, however because there are so many different brands, it isn’t always one-size-fits-all.

I Googled for information on unlocking the Magellan RoadMate 1424 (the GPS I have) but the only information I found was a couple of people who couldn’t do it. Not deterred, I set off and entered the unknown. Read on for my story (spoiler: it ends in success).

› Continue reading

Tags: , , , , , , ,

Saturday, February 5th, 2011 electronics, projects, software 46 Comments

Font Gone Missing: Arial

The other day, while helping a friend set up his new computer, I came across a bizarre and irritating problem. I installed Google Chrome, and was on the internet, and noticed that everything was in italics. It was difficult on the eyes. I tried to change some settings in the Page Font menu in Chrome, but to no avail. I found other people had this problem, and after digging in the system’s Fonts folder, I found the issue.

› Continue reading

Tags: , ,

Tuesday, January 4th, 2011 computers, life, software 2 Comments

Nostalgia: Windows 98

Last weekend I tried to install Windows 98 on the oldest laptop of mine. It didn’t work, it gave an error, “Insufficient system memory”. Funny, I had 2GB of RAM…

Windows 98 Setup

Drivers

Computer Type

After all, it is a laptop. Why doesn’t Windows XP ask these questions? Maybe it just knows.

Web TV for Windows

I wonder if it’s any better than Justin TV?

Dial-up Server

Dial-up server!!!

Country Selection

Time Remaining

23 minutes remaining, no, I mean, 14 minutes, no, I mean, 3 hours 27 minutes!

NOSTALGIA

I miss this… Sort of, not really. It’s so much nicer to have it all shut down on its own.

I’ve got a video of it trying, and failing, to boot, however, bad quality, and not all that important.

Tags: , ,

Saturday, January 9th, 2010 computers, software 3 Comments

Rockband Drums with Reason

The other day, I figured I should try to hook up my playstation 2 Rockband drums to my computer, to use with Reason, so that when I record my drum tracks, I can use something that actually looks similar to a drum set, instead of a keyboard. The keyboard is good for certain off-beat timed riffs, but the real drums are better for rhythm, and are more satisfying to play.

I spent plenty of time on the internet, and tried out one other method before finding this one that works the best so far. The first one I tried was something like this: Using Joy2Key, I converted the Drum Kit’s button presses to keyboard keys. Then, because Reason doesn’t support using a computer keyboard to play notes, I used another program, Live Midi Keyboard which then interpreted computer keyboard presses as not presses on an onscreen piano. Then, using MidiYokeNT, I created a virtual MIDI interface, allowing Live MIDI Keyboard to output to a virtual MIDI cable, and I set Reason to accept input from this virtual input. This worked, but with two major flaws:

  1. Major latency issues (too many conversion steps, keyboard repeat delay problems).
  2. Cannot hit two notes at the same time. Probably has to do with keyboard limitations.

Now, I have a solution that actually works, and though there still is a bit of lag, it is much better than the last setup. Unfortunately, real time playing is very difficult, requiring you to play the note before it is supposed to be heard. But, when I record music, just lowering the BPM does the trick.

The post that showed me this setup is here. It uses two pieces of software, one, MIDI Yoke NT, and another, called Rejoice. Rejoice converts the joystick signals to midi, allowing assignable notes, volumes, delays, and velocities (however, I don’t believe the program is velocity sensitive, as the controller doesn’t seem to be either).

I have it hooked up, and it makes recording music so much more fun and intuitive. Playing the music on an instrument that resembles the real thing makes coming up with a new riff a lot easier, and it requires pushing yourself to actually make it sound good. Does anyone else have a better setup, with no latency, for Windows? I found one for Mac OS X with no latency, but, that’s Mac, not PC.

Comments about Windows 7

I received a comment below from someone who installed Rejoice on his Windows 7 machine. I wrote this article while using Windows XP, but when I switched to 7 I noticed the same issue he is having – missing ocx files. You can fix this by locating the missing files, and copying them into your Program Files\Rejoice folder. I am hosting a zip with all the files here.

Tags: , , ,

Saturday, November 14th, 2009 computers, music, projects, software 4 Comments