Week 12: Networking and Communications

Assignment: Design and build a wired &/or wireless network connecting at least two processors

This week, we had to build a network using some sort of processor. I figured I would try using the Bluetooth modules since I was hoping to integrate Bluetooth into my project if I have time. Unfortunately, this was a bit of a low bandwith week for me since we had a demo to prepare in my lab so it was all hands on deck. But I wanted to try playing around with some of the modules regardless.

I thought I would start by milling a Fabduino. I wanted to have a modular and open-ended board to play with ideas for my final project and thought the Fabduino would be a decent place to start. Theoretically, I could get that working and use that and one of the HM10 chips to set up my network. Perfect plan right?… No.

Making a Fabduino ended up being the worst struggle ever. I milled three different boards and failed at each of them. I ended up asking Amanda, Eric, Sam, and Brian for help to debug the respective boards but no one could find anything wrong! I felt like I tried EVERYTHING, but kept getting the dreaded orange light on my programmer Here is some debugging/lessons learned from the Fabduino debacle in case it helps anyone.

  • Do not use the 168 ATMega, use the 168A
    • I also tried with the 328P but had the same orange blinkey light problem
  • Try on different operating systems — Running the same bootloader command gave me slighty different outputs on Linux and Mac. Linux gave me more info on what could possibly be wrong and was easier to debug
  • Programmers aren’t always right! I was fixating too much on the orange light. Sam told me to go past that and just try programming anyway. Unfortunately it still didn’t work. Then we realized the programmer might be broken since it was giving an orange light on every board. Turned out it was broken, but I still got the orange light on a new programmer 🙁
  • Use the copper braid to clean up the microcontroller pins after. Its easier with the 328 and 168 to do the “make a mess and clean it up” approach then getting each pin right perfectly

Since I had already wasted a ton of time trying to make this work this week, I figured I would ditch the effort for the time being and work on prototyping a Bluetooth network using one of Neil’s demo boards and playing with an Arduino. Not ideal, but I figured it would let me learn some useful skills!

I managed to get the Bluetooth module working pretty quickly thanks to some help from Randi and some great documentation on the HM10. I downloaded the HMSoft app for iPhone for the module and it worked pretty well to connect. Unfortunately it was a bit difficult to get the commands to work on the iPhone app so I tried on an Android device instead which seemed to work a lot more effectively. This webpage was super helpful in getting the basics covered.

I figured I would try making testing the same thing on my own “Hello World” boards and connect via Bluetooth. This tutorial was super helpful in explaining the basics. Board shown on the right!

Ideally, I would like to integrate bluetooth into my project so I can have an app to turn the individual box lights on and off. Hopefully I will have enough time to make this happen!

  • debugging the fabduino

    debugging the fabduino

  • arduino prototype circuit

    arduino prototype circuit

  • HMSoft App

    HMSoft App

  • hello world boards

    hello world boards