Imhuff.jpg
FA user icon.svg Angle down icon.svg User data
Name Ian Huff
Interests Programming/Software Development, OSHE, Mechatronics
Groups OSHE
Email imhuff@mtu.edu
Links linkedin.com
github.com
Registered 2021
Impact 535
Contributions BREAD Text To Speech Slice
BREAD Servo Motor Control Slice

I'm a recent graduate from Michigan Technological University with a Bachelor's in Computer Engineering. I've contributed to and created open source projects as a member of the University's Open Source Hardware Enterprise, and examples of my work can be found below.

Interests[edit | edit source]

Electronics Open Source Robotics Automation
Arduino Software Programming Embedded Systems 3D Printing

Experience[edit | edit source]

  • I've worked on several small, independent programming and electronics projects.
  • I built a computer that I currently use as a server.
  • I took a course and gained a certification in cybersecurity principles.
  • I was a member of Michigan Tech's Open Source Hardware Enterprise for two years.
  • I've completed courses in networks, concurrent computing, systems programming, computer organization, and embedded systems programming.

Open Source Hardware Enterprise[edit | edit source]

Semester 1: Fall 2021[edit | edit source]

BREAD: Servo Controller Slice

This semester, I worked on overhauling the code for the BREAD Servo Motor Control Slice. The original code was fairly simple, and only allowed users to input a command that would set the positions of the motors in all 5 channels at once. I developed a new version of the code, which now takes in a number of different commands, allowing a user to individually set each motor into one of 6 different speed modes and additionally control each motor individually. I also wrote documentation for my code, which details the command structure and includes examples for its use.


Lasersaur

At the beginning of the semester, I initially set out to work on fixing the Lasersaur laser cutter that currently resides in DOW901. However, the most work that I ended up completing, beyond a bit of reading and research, was designing and 3D printing the part pictured below, which was intended to connect to the debris removal tube. Following this, I pivoted to working on the servo controller slice detailed above.

Semester 2: Spring 2022[edit | edit source]

BREAD: Text-to-Speech Slice

This semester, I worked on my own brand-new project: the BREAD Text To Speech Slice. The goal of this project was to create a Slice that is capable of taking received text input data and generating audio that can be played back in real time.

After finding that TTS IC chips are relatively inaccessible currently due to the chip shortage, I decided on using a Raspberry Pi Zero and the open source software eSpeak to implement this functionality. However, again thanks to the chip shortage, procuring a Pi Zero is also difficult, so development was done on older Pi hardware.

The planned final product will consist of a board that:

  • Has a Raspberry Pi Zero mounted on-board, in addition to the standard Arduino Nano
  • Receives text data from an external source via I2C on the Nano
  • Routs that data from the Nano to the Pi Zero via Serial
  • Produces speech audio, to be played on a speaker connected by the Pi's GPIO

As of the end of the semester, the project exists as a fully-functional mockup that simulates the planned functionality of the final board:

  • I currently only have one Raspberry Pi to work with, so my Pi is serving as both the "external" data source and a substitute for the final board's Pi Zero
  • The audio is currently sent via the Pi's 3.5mm jack, an interface that the final version's Pi Zero will not have.
  • The amount of text to be sent in one transmission is currently limited to 32 characters. Further research will be done on the best way to mitigate this limitation.

Semester 3: Spring 2023[edit | edit source]

BREAD: Text To Speech Slice

After taking a semester off for my internship, this semester I created a fully working BREAD Slice using my previous prototype as a starting point.

More information about the final version of the project can be found on its Appropedia page or in my report on the OSHE website.

The download for this project's files, including documentation, hardware, and firmware, can be found at the project's OSF repository.

Other University Projects[edit | edit source]

Spring 2023: ROS - BREAD Integration[edit | edit source]

This semester, myself and a small team of Computer Engineering students at MTU will be researching and developing a solution that will integrate the Robot Operating System (ROS), an open-source software/firmware platform designed for custom robot hardware, with BREAD, an open-source hardware platform developed by MTU's Open Source Hardware Enterprise.

Personal Projects[edit | edit source]

RGB Crystal Light:

Over the summer of 2020, I built a desk light that illuminates a crystal, pictured below, using an Arduino and some addressable RGB LEDs. The circuitry inside and the interface panel on the outside both utilize blank PCBs that I soldered wires and components to. In addition to having the Arduino's USB port accessible for power and firmware updates, the base is split into two parts that are held together with neodymium magnets, which allows for easy access to the internals for maintenance and modification.


Soda Can Coffee Table

Over the summer of 2021, I built a coffee table, pictured below, which contains a variety of aesthetically-pleasing soda cans. It is made of stained plywood and hardwood, and the top and sides are made of clear polycarbonate.


Paintball Game Management System

In summer 2022, inspired by Houghton's local laser tag establishment, I designed a system that will allow me to implement more complex "game modes" for paintball that would otherwise be impossible without some form of computerized game management. The system is run on a Raspberry Pi, is powered by a USB battery bank, is housed in an old ammo box, and features a character LCD display, RGB LEDs, arcade buttons, a speaker, and a numeric keypad.

Currently available game modes include King of the Hill, simple point defense, and a Counter-Strike style bomb defusal game, with some variants that involve inputting a code on the system's numeric keypad. The system's lid can even be closed and latched so that it can be carried around my its handle as a part of these games.

My code for the system and some further details can be found here.

Future plans for the system include an external power switch and a cleaner wiring setup inside to make maintenance easier.

This was also my submission for the 2023 Superior Maker Fest!


Laptop Rehousing

Despite having some decent specs, my brother's poor old laptop had become nearly unusable due to the state of disrepair of its plastic casing. To remedy this, in the fall of 2022, I stripped away everything but the bare essentials, and built a new desktop-style case out of MDF for the parts that were left over.

The system is intended to take over the home server duties of the system that I originally built for that purpose, as I was looking to upgrade that machine into a new daily-driver desktop system.

For now, the case is in an unfinished but functional state. It runs a fresh installation of Windows 10 and works quite well as a media streaming machine. I will be applying veneer to the sides of the case in the future in order to provide a cleaner and more professional appearance.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.