Circuits & Code! Saturday, 7 Dec 2019

Circuits & Code is here again!!!

Circuits & Code is the all-ages, end-of-semester, free student project showcase at M5, the UMass Amherst Makerspace for Solid-State Electronics and Computing Machinery.

Students will be demonstrating projects they created this semester. Bring yourself, your friends, and your family to interact with all manner of tech projects.

Circuits & Code will take place on Saturday, 7 December 2019 at M5 from 1 to 4 p.m.

M5 is a 5,000 sq. ft. makerspace located in the lower level of Marcus Hall, 100 Natural Resources Road, Amherst: 

There are multiple parking lots behind Marcus Hall that are available on the weekend. The lots that comprise Lot 65 are nearest M5.
Google maps:

We hope to see you at Circuits & Code! Tell your friends. Bring your friends.


Baird Soules and your friendly M5 friends who help humans make machines, friendly machines

Baird Soules
Sr. Lecturer
Director of Experiential Learning
Department of Electrical and Computer Engineering
University of Massachusetts Amherst
soules       at

event graphic by Otto Benson ’21

Stephen Collins ’81 on Cloud Engineering

[ NEW LOCATION: Integrative Learning Center, Room S331 (South 331) ]

Opportunities In Cloud Engineering
by Stephen Collins

Principal Consultant, 1024tm
UMass Amherst, 1981
B.S. Computer Systems Engineering, Summa Cum Laude

4 p.m., Wednesday October 2, 2019
Integrative Learning Center, Room S331 (South 331)
University of Massachusetts Amherst

>>> In addition to this 4 PM talk, we are excited to announce that Mr. Colliins is available to meet with students, faculty and staff at lunch and dinner on the same day. If you would like to submit a request for lunch and/or dinner with Mr. Collins please complete this Google form:

Since about 1980, there have been four successive waves of unprecedented technological innovation that have reshaped our world. It began with the PC revolution in the 1980’s, the Internet explosion in the 1990’s, mobile smartphones in the 2000’s and the rise of cloud computing this past decade. Amazon, Apple, Facebook, Google and Microsoft are building out massive hyperscale data centers delivering cloud-based applications and services to billions of users worldwide. These industry titans are creating a radically new generation of cloud-scale computing infrastructure, capitalizing on technological advances in merchant silicon, off-the-shelf hardware, software-defined networking, distributed computing software and Big Data analytics.

While these impressive cloud computing achievements boggle the mind, there is still a tremendous amount of engineering work to be done. Over the next decade, cloud-scale infrastructure will be deployed in support of mission-critical use cases spanning business digital transformation and real-time machine-to-machine communication for industrial IoT, environmental sensing, healthcare IT, smart cities and autonomous vehicles. Technology is advancing rapidly across such a broad front that even the most dedicated researchers and practitioners strain to keep pace. Graduating students step into a bewildering world in which their academic training barely scratches the surface.

This talk will take a brief look at the evolution of “the cloud” and then break down the full stack of cloud-scale infrastructure, layer by layer. How is technology innovation driving breakthroughs at different layers? What are the outstanding engineering challenges for ensuring scalability, performance, security and operational efficiency? What are possible career opportunities for new graduates in computer engineering and computer science? Why will a life long approach to learning be so important?

Stephen Collins is principal consultant at 1024tm, providing business strategy and product marketing services to startups, emerging growth companies and other technology-driven organizations. He has almost four decades of experience in networking and telecommunications, spanning many segments of both the enterprise and service provider markets.

Over the course of his career, Stephen has served in a wide range of executive, managerial, engineering, consulting, analyst and advisory roles and has a proven track record introducing new products and solutions into rapidly evolving markets.

Most recently, Stephen worked as a networking and telecom industry analyst, creating and leading ACG Research’s practice in network visibility and analytics. Prior to that, he served as VP of product marketing at Active Broadband Networks, VP of marketing at Acme Packet, VP of marketing and business development at Tatara Systems and VP of marketing at Sonus Networks.

In the late 90’s, Stephen cofounded Spring Tide Networks, which developed a new class of IP service switch, and was acquired by Lucent Technologies for $1.5 billion. He began his career in 1981 at Bell Labs developing data communications systems and then was first exposed to IP networking and the original ARPANET while at BBN Communications.

After BBN, Stephen joined Wellfeet Communications as founding engineer and served as software engineering manager and then director of product management, bringing two generations of multiprotocol routers to market. After Wellfleet merged with Sypoptics, he served as director of product marketing for Bay Networks.

Stephen is an active blogger, frequent speaker at industry conferences and has authored numerous articles for trade publications. He holds an M.S. in Computer, Information and Control engineering from the University of Michigan and a B.S. in Computer Systems Engineering, Summa Cum Laude, from the University of Massachusetts, Amherst.



This technical talk is presented by the
Department of Electrical and Computer Engineering
University of Massachusetts Amherst

201 Marcus Hall


You are invited to Circuits & Code, Sat Dec 8th 1PM-4PM


Come to Circuits & Code, the M5 end of semester showcase, on Saturday, December 8th from 1PM to 4PM!

Students will be demonstrating projects they created this semester. We’ll see projects from ENGIN112 “Fresh Design Project,” ECE297DP “Design Project,” IA-0016 “Creative Electronics,” and other groups and individuals!

Bring yourself, your friends, and your family to interact with projects including robot arms, animatronic reindeer, DIY synths and keyboards, and much, much more!

Directions: This event takes place in M5. M5 is located in Marcus Hall, on the lower level. Marcus Hall is located at 100 Natural Resources Road, Amherst, MA 01003. There are multiple parking lots behind Marcus Hall that are available on the weekend.

Are you a student with a project to show off? Join us for the showcase! Email and share a little about the project you’d like to bring!

For our planning purposes we do ask you to register and obtain your event ticket on eventbrite, but an event ticket is not required for admission. Come whether or not you have an eventbrite ticket. However, if you do get an eventbrite ticket and you print it out and drop into our special ticket box at Circuits & Code before 3 PM you will automatically be eligible for a seriously cool door prize. We’ll have five door prizes: Five different miniature 3D prints of significant sculptures from around the world. Details below. There must be a name and valid email address on the ticket in order to win! (M5 staff ineligible for door prizes. No more than one prize per household.)

We have printed the following five works, in miniature, to given as door prizes:

1. Michelangelo’s Pietà, detail of Mary

2. Colossal bust of Ramesses II / Ozymandias

3. Moses by Michelangelo

4. Nefertiti

5. A Terracotta Warrior

We hope to see you soon. Tell your friends. Bring your friends.

See you there!


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.

Some Thoughts on Power Supplies

I’ve been working a lot with two single-board computers recently: the Raspberry Pi 3 and the ESP-8266. Both of these include (and that’s why they’re so attractive to me) WiFi hardware.

WiFi devices, because they’re broadcasting a radio signal, use a fair amount of power. Higher-power processors, such as those on the Raspberry Pi, also can consume a lot.

Cheap power supplies, such as most wall-warts, come in two varieties. Unregulated power supplies might produce two or three times the rated voltage when the load is drawing very little current, while they generally produce quite a bit less than the rated voltage when the load draws a lot of current. Regulated power supplies do a bit better – they generally don’t produce a lot more than their rated voltage. However, my recent testing indicates that they don’t generally hold their rated voltage at their maximum rated current.

The way to test a power supply (or a battery, or a radio transmitter) is to use an electronic load. These can be programmed to draw a fixed current, for example, regardless of the voltage. If it slowly (in steps) increases the current draw, and at each step measures the voltage provided by the power supply, one can look at the graph and see the performance of the power supply.

The following link provides a little more detail and some examples. It also links to a very good vlog by Andreas Speiss – he has a ton of interesting material on his YouTube channel.

EBD-USB+ Electronic Load – Testing Power Supplies and Batteries

Circuits and Code is coming

If you are a participant in the ECE297DP class, or if you are an individual contributor planning to have an exhibit at Circuits and Code next Saturday (29Apr), here is a PowerPoint template to use as you create a poster for your exhibit. The printed size will 8 1/2 x 14″ (legal paper size).

We need to get these to Professor Soules by Thursday noon so he can get them printed and have them for you on Saturday.

Saturday promises to be a very fun day!

M5 IoT Server is Here!

I have wanted for some time for there to be a wireless hotspot at M5 specifically for hosting Mosquitto, an internet of things information broker which implements the MQTT protocol. I think I have finally crossed all the technical hurdles. I put the server up for a couple hours last Wednesday and tested it, and it seemed to be working perfectly. I have now put it back up, and plan to leave the server up permanently.

The server creates a local WiFi network with DHCP and access to the mosquitto port 1883, but not through-access to the internet. Mosquitto will also be available to the campus network (including eduroam). Talk to Chuck to get the url – I don’t want to post it here!

This service will allow interconnection of IoT objects all around M5; sensors, switches, actuators, simple displays, lights, etcetera. A data source sends (in MQTT terms, publishes) a message to the host (the broker), labeled by a topic name; any device that has subscribed to that topic will receive notification of the new value, and can then act on it as necessary.


  • The home page for the MQTT protocol
  • The mosquitto software home page
  • Installing the mosquitto MQTT server onto a Raspberry Pi, in case you want to try it yourself

ECE297DP – Come get your hands dirty at M5! Saturday afternoons

Your ECE education at UMass is quite remarkable. You will graduate very well prepared with the theory and computational skills you will need to start useful work in the real world.

To have a *really* well balanced education, though, (as well as great stuff to put on your resume!) you should have hands-on experience building projects. M5 is the place for making things – electronic, mechanical, audio, RF, and more – or breaking things to find out how they work(ed), or fixing things. The M5 team is eager to help you with project ideas and pointers.

ECE297DP offers you one course credit, pass-fail, so you even get some academic credit for coming and having fun. You also get résumé cred with all the cool projects you’ve done.

Also – if you have a team project in mind, you can take ECE497DP as the mentor / project leader, and get even more resume cred!

Chuck Malloch is especially interested in distributed sensor systems and home monitoring. He has experience with ESP8266, NeoPixel strips, Node-Red, MQTT, Mosquitto, UDP, Python, Perl, and X-10 system components and would love to work with you on projects to monitor building systems and environments and provide assistive technology to the elderly and disabled. Come talk to him at M5 to talk about project ideas you might have or to develop a project idea based on your interests.

Chuck will be in the Pi Room at M5 every Saturday at least from 2:30 to 4:30, and usually will be there much earlier. Come on down. Also, check out the M5 web site at for additional course details.
The course requirements, all of which must be fulfilled to pass the course, are:
o preparation of a project proposal and having it approved by Professor Soules or myself.
The proposal needs to describe what you plan to do, what the necessary resources are, the main concept (that you will demonstrate mid-term), and what cool thing you’re going to do with that concept for Circuits and Code. Don’t delay on this – it needs to be to me or TBS in time to get approved during the add/drop period!
o perfect attendance during the class sessions (one per week), with one pre-excused absence and one unanticipated absence allowed.
o two additional hours each week spent working on your project
o preparation and delivery mid-course of a 5-minute “lightning talk” describing your project, your progress, and your intentions
o exhibition of your completed project at Circuits and Code just before finals
o preparation and submission of a final report

Chuck is also very interested as a musician and a software engineer in working with a programmable audio effects box. See the this post for more details on that action.

Also note that Chuck has a blog now, and it’s intended to explore and serve as an example of project logging and documentation. Unsurprising hint: such documentation can come in very handy for students looking for a job. ‘Nuff said.

See you Wednesday or Saturday!

ECE297DP Saturday Sounds / Firmware discussions

Let’s make noise! (Spring 2018 version)

The effects boxes are here and available for students enrolled in the Saturday section of ECE297DP. This term, we’ll be spending about an hour each week discussing the process of developing firmware within the constraints of existing hardware.

We’re also exploring Pure Data (Pd), a graphical programming language particularly well suited to synthesizing, playing, modifying, and generally honking around with audio. The concepts from Pd will largely transfer to the programming of the effects boxes.

So come down and play! We have some open seats on Saturday afternoons, 2:30 – 4:30, in Euler’s Good Room. Bring your laptop.

Here are some interesting links:


Other interesting links:


I have been developing a blog site using the UMass Create service. I intend to explore its usefulness as a build log tool and as a way to document project efforts. The service is available to anyone in the UMass community, and I encourage students to use it to create a web presence that will show prospective employers the breadth and depth of their work!

See you on Saturday!

ECE297DP Saturday Sounds!

Let’s make noise!

The effects boxes haven’t arrived yet, but we aren’t letting that stop us. We’re exploring Pure Data (Pd), a graphical programming language particularly well suited to synthesizing, playing, modifying, and generally honking around with audio. The concepts from Pd will largely transfer to the programming of the effects boxes.

So come down and play! We have some open seats on Saturday afternoons, 2:30 – 4:30, in Euler’s Good Room. Bring your laptop.

Here are some important links:

Download Pure Data (Pd)
Pure Data tutorials – cheetomoskeeto
Pure Data cheat sheet
Chuck’s Github work on the OpenEffects box
Chuck’s PureData patches for this class, including (in externals) the output~ abstraction

The OpenEffects Project – from whence our open effects boxes will come
The boxes are powered by Teensy microcontrollers from Paul Stoffregen
… and use the same chip found on the Teensy Audio Shield
The Teensy audio effects are programmed graphically using a web tool

Other interesting links:

Onyx Ashanti – beatjazz performer with self-built audio processing
Gordon Reid’s Synth Secrets

It looks like the audio effects boxes will be delayed in arriving, so I’ve ordered some Teensy Audio Boards to use in the meantime. They should be here by the time we have our next meeting (which, you should know, will be September 30)