Category Archives: Uncategorized

N64C – 297DP Final Report

My name is Nicolas Wicker and I am in my junior year at UMass on the electrical engineering track. I decided to enroll in 297DP this past semester as I figured it would be a great opportunity to apply the fundamentals of electrical engineering that I have learned over the past few years, in an environment where I could integrate my own creative freedom towards a project I’m passionate about.

The project I decided to take on was one that both had a personal connection to me, as well as exemplified core electrical engineering skills. I wanted to take one of my favorite gaming systems, the Nintendo 64, and turn it into a handheld, portable unit that you could take with you and play games on the go and on original hardware. This project has been done by others in the past, either by using original Nintendo 64 hardware or emulation via a small computer such as the Raspberry Pi. After extensive research, I came to the conclusion that Nintendo 64 games emulated on the Raspberry Pi do not all play at 100% speed when compared to the games running on the original system. Also, having the nostalgia factor of plugging in a retro cartridge into my system seemed like a neat feature to me, thus I decided to hack up an original Nintendo 64 and use that as opposed to emulation.

After determining this, I went on to design the initial plan on how this would all come together. My criteria for the system was rather simple. It needed to be as compact as I could get it, so it wouldn’t be a far cry from other modern portable systems. It needed to integrate a battery pack, controls, audio amp with speakers, and screen, all so it could be played on the go. It needed to integrate the Nintendo 64 RAM Expansion Pack which would allow it to play every Nintendo 64 title, as some require more ram. And finally, it needed to just be appealing to me and something I would be proud of.

Based on what others have done with this project in the past, I began to think about cutting down the Nintendo 64 as small as I could get it. Thus it could go in a small form factor to satisfy that criteria point. This can be tricky because if you cut off necessary components on the board by mistake you could ruin your board and have to buy another Nintendo 64. Being so, I took extreme caution with trimming down the motherboard and got it down to a small enough form factor to where it was still functional as well. After this was done, I went on to figure out how I would integrate the expansion pack. The pack plugs into a connector on the motherboard and extends off  of it vertically. Thus, it wastes a lot of space. I decided to try my hands at cutting the expansion pack board on one side 80% of the way through, that way all of the bus traces on the other side would still be in tact. This allowed me to bend the board at a 90 degree angle and I only had to rewire one ground trace from the severed side of the board. Unfortunately, my first attempt at this failed as when I went to bend the board, some of the traces on the other side severed, rendering it useless. I feel this was a result of me not being careful enough, so I bought another Expansion Pack and tried my hands at it again. This time it worked like a charm. I now had to think about integrating the controller. I opened up a 3rd party Nintendo 64 controller I bought and began to brainstorm how I could cut up the controller board itself to save space. Being that the particular controller board I used was a single sided PCB, seeing where I could cut away was fairly easy. Most of the space on the PCB were just traces routed out to the button contacts, so these contacts could be cut off and traced back to a spot on the board closer to the center where I could solder to. I found each button’s corresponding pin on the center of the board and soldered wires directly to them. These wires would go to tactile switches on prototyping boards, which I could arrange in an ergonomic position in my design. Next up, I had to source a LCD screen that accepted composite video, as that’s what the Nintendo 64 outputs, as well as design a decent audio amplifier. The screen was straight-forward, a simple Amazon search pointed me to a 3.5″ rearview monitor for a car that happens to take in a composite video signal. This could just be spliced with the composite output pin on the Nintendo 64 motherboard, and it worked with no problem. I found a simple circuit using a lm386 for audio amplifying. I wired it up, hooked up a little piezo speaker I found in M5, connected it to the audio output pins on the Nintendo motherboard, and I was happy with the result. I also decided to route those pins to a headphone jack as well, so I would have the option of playing either way. With a integrated controller as input, a portable power supply, and a small screen and audio amp for outputs, I seemed to have everything done in terms of the electronics side of things. Next up was to design an enclosure around everything. To do this, I used SolidWorks which is a 3D CAD package I’m very familiar with to design two parts of a case that would fit around my assembled electronics. This was straight forward as well. After taking into account the measurements of all the components, all I had to do was add a bit of my own personal flair to the design and it was ready to be printed and assembled.

I am very happy with how my project came out. The final form factor matched exactly to what I set out to create, something both sleek and functionally practical. If someone were to follow in my footsteps and create a similar project I would advise highly to follow the same procedure in which I outlined in this post. Getting everything  electrically functional is a must before even thinking about your case. It goes by the old rule of thumb: form follows function. You have to have everything working and sound before you think of the design of it, otherwise you’ll drive yourself crazy trying to rearrange things to fit in the case you designed initially, and will most likely have to do all kinds of jerry rigging, which just begs for things to go awry down the road.

If I were to continue off this project, I would most likely design my own PCB that integrates all of the external components: battery charging circuit, LCD driving circuit, audio amp and speakers, headphone jack, controller circuit etc. on one PCB. Then all one would have to do wiring wise would be wire a few things from the PCB to the Nintendo 64 motherboard. Maybe this idea could then be mass produced or even sold as a kit.

M5 was a invaluable resource for me throughout this entire process. With instant access to all tools I needed, as well as electrical components, it was very easy to work on things once I acquired the few things M5 could not provide such as the Nintendo 64 and such. One thing M5 could possibly change would be the hours of operation, as having access to these resources late at night were sometimes a necessity to me, as that was the only time I could work on my project in the midst of classes.

In conclusion, I am very happy with how my project came out, as well as the learning experience that came with it. 297DP was a great course that allowed me to receive credit for a self-assigned project that I was passionate towards throughout the whole process, and I cannot commend the course enough for that.

Circuits & Code 2017

This weekend, members of the ECE 297DP class presented their semester projects in M5.  The projects consisted of various different projects within engineering and technology subfields.

Wayne Hobby constructed a Fourier Transform Fan with led strips on the blades that interpreted the surrounding sounds, and dispersed them as different colors along the radius of the fan.  The greater the frequency, resulting in a higher pitch, and the louder the noise, the further outward the fan would light up.  He demoed his project using Coldplay’s Scientist, where it was able to follow the rhythm of the piano and the sudden changes in the singer’s voice.  To do this, Wayne used a Teensy 3.6, a microcontroller similar to an Arduino, an Electret Microphone Amplifier and LED strips on each of the fan blades.

                                                   

Sophomore CSE student Zac Little created a homemade set of drum pads by using an Arduino Nano, Codec + MicroSD Breakout – MP3/WAV/MIDI/OGG Play + Record, and piezo sensors.  He made the pads out of old DVDs with the piezoelectric disks in the middle, and assigned each of the sensors to a designated port on the bread board. One improvement he hopes to make is to allow the drums to be able to play two or more of the sounds at the same time.  Because of the code he used, the system thinks linearly and can only process the input of one of the sensors at a time.  Since when using a drum set, you often combine the different instruments, he plans to alter the coding so he can successfully make this change.

There were many other projects from the class that were on display.  One project consisted of a robot that reacted to the sound of the environment and looked in your direction.  Each “ear” contained a sensor to detect the level of noise in the environment, and if the noise was above a certain threshold, it would send a signal back to the microcontroller to move the head in whatever direction the noise came from.  Another project was an LED Clock that uses a timer to keep track of the time, and then displays the numbers in respective colors based on a color code.

                                  

If you are interested in working on a project like this next semester, you can enroll in ECE 297DP with Professor Baird Soules.

Dr. Seuss Interactive Exhibit Project: Circuits and Code Preview

Coming into this semester, a group of five Electrical and Computer Engineering students had some ordered parts to create an exhibit for the new Dr. Seuss Museum in Springfield, and went from there.  The idea was to develop an interactive exhibit composed of an audio system that would be triggered by museum goers, just as companies hire Professional Engineering companies do.  However, Jack Kenney, Eric Lee, Jason Sproviero, Sean Sproviero, and Tim Zhang were up for the challenge.

First they had to decide what they were going to use to control the audio system, and went with the Adafruit Audio FX as the sound board. Tim Zhang explained that they went this because “the Adafruit soundboard provides a simple, reliable, and cost effective solution for enabling us to play audio without the need for a microcontroller or more advanced systems”.   This seemed to be the best choice because it was the cheapest and most reliable based on the minimal functions needed within the system.

Next, the group had to determine what type of triggering mechanism they wanted to use for the system.  They wanted to make the exhibit interactive for people of all ages, but also keep in mind cost.  Three different ideas were experimented with, including arcade-style button, capacitive touch, and infrared sensors.  After testing, they decided to go with X-Arcade Buttons because they were cheaper, more durable, and have a lifetime of 10,000,000 Cycles.

         

After all of the hardware was figured out, the group had to fine tune exactly what the exhibit would do and what sounds it would trigger.  The exhibit involved sound for the Seuss Brewery, Mulberry Street Band, and many more “Seussical” sounds.

Throughout the process, the students realized the challenges of “real world” projects, compared to projects they may work on in their own free time.  Here at M5, students can work on their own projects, but this practicum gave students the ability to have a client, and work with them to create a project.

Instead of calling upon a company, the developers looked towards the ECE students with the same standards to provide the same quality product.  In this circumstance, you have to take into considerations and factors that you may not have to when working on an individual project.  Because of the time constraint of having one semester to develop, prototype, and have the final product, the exhibit had to have a simplified design.  They also had to consider cost, but still wanted to have a reliable finished product that contained as little parts as possible.

 
Overall, all students really enjoyed the experience and it gave them an opportunity to put what they learn in all of the engineering classes to practical use.  They had some mentorship from professionals in sound and engineering, and learned a lot about future careers in the field.  Jason Sproviero shared that he was hesitant to partake in the practicum at first, but the experience has been extremely beneficial: “I was afraid that I would get left behind, but now that I am immersed, I am really learning”.  It was a once in a life time chance for all students, and they are excited to share their work with the community at Circuits & Code!

Altium Designer Workshop Slides by Daniel Travis

Daniel Travis says:

Altium Designer is the absolute best PCB design software available today. It is jam packed with advanced features that make designing your very own PCB easier than ever. Two weeks ago I hosted an Altium workshop for ECE students here at UMass, and now I’m back to share the workshop with you! This Altium Tutorial link will take you to a folder on Google Drive which contains the following: PowerPoint presentation, schematic, custom libraries, my completed schematic file, my completed PCB file, and additional links to more tutorials. These resources should provide you with everything you need to get started on a PCB design today.

Circuits and Code 2016S

Denizens of M5 and other interested people – rejoice!

Another exciting term at UMass is coming to a close, and with it three amazing prospects:

  • SDP Demo Days – Senior Design Project extravaganza (about which see http://www.ecs.umass.edu/ece/sdp/sdp16/),
  • summer vacation, but, most importantly,
  • Circuits and Code! People that have been making stuff at M5 – especially students in the Design Projects course ECE297DP – will be presenting their work on Saturday, April 23, from 1 to 4, in Euler’s Good Room at M5 in the Marcus basement. Community members will be welcome to come and see the projects, and there will be refreshments available.

If you’ve been working on something cool and want a forum wherein you can brag about it, Circuits and Code is just what you’ve been looking for!

Chuck Malloch

mbed Discussions and Workshops

M5 is hosting discussions during the Spring 2016 term addressing mbed-enabled ARM-based microcontrollers. On Wednesday afternoons at 2:30 we will be working with STM Nucleo microcontrollers and will address hardware and software issues. More details and a reading list are posted at http://umassamherstm5.org/spring-2016-mbed-discussions. For more information, visit the link or contact Chuck Malloch (CBMalloch / engin.umass.edu)

Academic credit for tech explorations

chuck-malloch6 Feb 2016

Dear ECE students:

Here is yet another fantastic opportunity for you to expand your tech knowledge (and land those amazing internships and jobs): Chuck Malloch, ECE-lecturer-extraordinaire, is offering you, the lucky ECE student, the opportunity to get support and academic credit for extra tech work/play: ECE 297DP, 1 credit, pass/fail. Obviously. add/drop is over but Chuck can late-add you if you act FAST… by FAST I mean you must meet him at M5 today, Saturday, 6 Feb 2016 (2:30-4:30)… or, at the very latest, on Wednesday, 10 Feb 2016 (2:30-4:30). 

>>>>>> You will find Chuck’s announcement below. Please read it carefully as it explains the difference between his Wednesday and Saturday sections. 

Cheers, Baird

Baird Soules
ECE…M5

…………………..Begin forwarded message: ……………………

From: Charles B. Malloch, PhD
CBMalloch at umass dot edu

2016 Spring Term — M5 According to Chuck

I (Chuck Malloch) will be available at M5 on Wednesdays and Saturdays this term. My core hours will be 2:30-4:30, but I will usually be here by 1 on Wednesdays and by 2 on Saturdays.

The ECE297DP course is offered as always for individuals with interest in completing independent projects. In addition, I will be hosting a workshop series on Wednesdays, exploring the ARM mbed initiative.

What is the ARM mbed initiative, you ask?

Look at www.mbed.com for the official details. The short version is that these folks have identified a bunch of microcontroller boards that can be used in the development and deployment of embedded systems. Think automotive, industrial, instrumentation, and medical systems, for example. Also Internet of Things. The mbed idea is to provide a simple path to programming all these different systems with portable tools and code.

What will we be doing with mbed?

The Wednesday time slot will be primarily a workshop series for the mbeds. We’ll start by looking at the STI nucleo 32-bit boards and programming them using the on-line tools. Next, we’ll set up the freeware Eclipse development environment on our PCs and using that to work with the Nucleos, making up various tasks as homework exercises. While I will be emphasizing high-level programming techniques, we will most likely address many hardware-level concerns as well.

So how will ECE297DP be run this term?

As I indicated above, the Wednesday section will be workshop. Students in this section will be expected to attend that session each week, and do homework assignments in between. Nucleo development boards will be made available to the students enrolled in this section.

The Saturday section will be devoted to students with independent projects, as usual. Students will be expected to attend each weekly session and to make consistent effort on their projects.

All students will be expected to spend at least two hours each week on project work outside of the session meeting time.

 Students enrolled in ECE297DP will be required to prepare and deliver a 5-minute lightning talk (exactly 20 slides, exactly 5 minutes, auto-advance) at the mid-term point, present their finished project at Circuits and Code (the Saturday afternoon coinciding with SDP days), and submit a final report describing their project and their adventures in working on it.

See more soon on the M5 web site! C’mon down and join the fun. We’ll be looking at 32-bit mbed microcontrollers, Eclipse, SPI communications, C++, and will be having planned and ad-hoc adventures in all these areas.

       Chuck Malloch

Charles B. Malloch, PhD

Department of Electrical and Computer Engineering

M5, 5 Marcus Building

University of Massachusetts / Amherst

Win an internship at CERN

If you are a monster coder, you might be interested in this contest to streamline code used in a project to simulate the human brain. CERN and Intel are putting on the competition; whoever submits the fastest equivalent code will win either a visit or an internship at CERN. It’s not directly ECE, but I know some denizens of M5 who are mighty good codeslingers. http://hackaday.com/2015/09/23/win-an-internship-at-cern-openlab/