What is it

MFIOTO is a raspberry pi that is dumping it's terminal output over serial which is read by a Teensy 3.5 Microcontroller. The Teensy converts the text into analog voltages where it is then plotted on the screen of an oscilloscope that is older than some of our members. With this you can use the Terminal on the pi with the oscilloscope as the screen. We also added several obvious IoT necessities to the terminal to really make the user at home.


One of our teammates brought an oscilloscope older than some members of our team, and we thought, why not innovate and disrupt the oscilloscope industry? There hasn't been much change to oscilloscopes lately, and we were determined to change that. We want to make it easy for everyone using oscilloscopes to be able to multi-task while performing their work, as well as provide them the ultimate super-user experience.

What it does

In additional to full oscilloscope functionality, the MFIOTO is the first oscilloscope with a full operating system, allowing users an infinite range of possibilities. From text editors to running full scale programs, the MFIOTO can handle any task the user throws it. We added a special feature of integration with Twitter, allowing users to easily update their social media while performing other tasks, or on the go.

How we built it

Using a Teensy 3.5, we generated analog waveforms that was read into the oscilloscope via two channels, and we putthe scope into an xy view mode to get 2 dimensional movement. The output voltage of one channel was read into the oscilloscope as the x-values, whereas the output voltage of the other channel was read as the y-values. Although the signals being analog were continuous, we plotted discrete points onto the display in order to show text. Using a python script, we converted ASCII characters into arrays of "pixels", so that they could be populated into the display. Running the Teensy program, we then converted the pixels into analog signals using the built in 12 bit Digital to Analog Converters. Then these signals were shown on the oscilloscope monitor, allowing text to be shown and refreshed according to the user's requests. Once that was up and running, we connected a Raspberry Pi to our Teensy microcontroller, and was able to route the terminal through to the oscilloscope display. Lastly, we built a couple scripts utilizing the Twitter API, and loaded those into the Raspberry Pi.

Challenges we ran into

We all lost a bit of our souls each goal we accomplished because this thing should seriously not exist. I'm still a little mad with myself personally.

Analog voltages don't behave nicely all the time, which limited our screen resolution. It's possible with better probes or a purpose built setup we could get a higher Signal to Noise Ratio and get more resolution.

Backspace is something we took for granted, but turns out it's just an ascii string in disguise that just gets handled by the display. Oh wait, that's us! MFIOTO has full support for pressing backspace and expecting characters to actually disappear.

Accomplishments that we're proud of

MFIOTO is the first oscilloscope that has a full operating system, as well as integration with Twitter. Never in the history of oscilloscopes has technology allowed such performance and convenience available to users.

What we learned

We learned a lot about hardware programming, as well as converting analogue signals to information that could be used for useful purposes, such as displaying data. We also learned a great deal on how oscilloscopes work, as well as how to operate one.

What's next for Multi-functional IoT Oscilloscope

Our next steps for MFIOTO is to enable video replay and multi-colored representation on the display, as well as allow users to connect other peripherals to this device for increased productivity. We also want to support different types of oscilloscopes and maybe expand to something else like spectrum analyzers.

Built With

Share this project: