Share

cover art for Designing an Escape Room Gadget with Arduino, Eagle, Fusion 360: RFID Part 1

Gears of Resistance

Designing an Escape Room Gadget with Arduino, Eagle, Fusion 360: RFID Part 1

Like escape rooms? Wanna know how to make an RFID puzzle gadgets for escape rooms? In this video series, we will look at the tools and steps to create the electronic hardware, firmware, and mechanical components for an RFID-powered escape room gadget. For more information check out Green Shoe Garage guides at http://greenshoegarage.com/projects/oser/

The post Designing an Escape Room Gadget with Arduino, Eagle, Fusion 360: RFID Part 1 appeared first on Gears of Resistance.

More episodes

View all episodes

  • Green Shoe Garage @ Consumer Electronics Show 2020

    00:00|
    My company, Green Shoe Garage, made it's long-awaited CES debut this year. Along with partners Mouser Electronics, Digi, and Medium One; launched TANKFULL: An IoT Experimentation Platform. An excerpt: “Tankfull consists of two water tanks equipped with submersible liquid pumps and liquid-level sensors. The demonstration platform enables an operator to control the flow of water between the two tanks. Digi Connect Sensor+ continuously monitors four parameters. The first two parameters are the liquid level of both the two tanks.” Read more at Mouser’s Bench Talk Blog: https://www.mouser.com/blog/tankfull-iot-experimentation-platform The post Green Shoe Garage @ Consumer Electronics Show 2020 appeared first on Gears of Resistance.
  • Lessons Learned from Building a Tradeshow Demonstration Device

    00:00|
    Recently I got to work on a project that was destined to serve as a table display at a major U.S. tradeshow. Complicating matters was that I would not be traveling to the tradeshow myself so the contraption had to be shipped and set up by those who would not see the hardware in person until the day it was delivered. Furthermore, while I was the hardware guy with a limited software background, the smart folks setting it up were software engineers with limited hardware background. One last background fact, the project was built to showcase the services and capabilities of three separate companies who were teaming up for this specific effort. Also, one of the major components was a given so we had to work within the constraints of the hardware and firmware of that device. I learned quite a few lessons about building a project that was more than a prototype and less than production-ready. It was also a rather physically large contraption (relative to what I typically work on) coming in at 36” (L) x 18” (W) x 12” (H). And as I mentioned before it had to be shipped across the country and set up by others with my support only possible over the phone.This blog is meant to serve as a quick and dirty debrief of those lessons in case you find yourself in a similar predicament.First, let’s look over the top-level requirements for the project: Two tanks that move liquid between them while monitoring the water levels with alerts when either tank becomes full.Send tank and pump telemetry to the designated IoT cloud service.Minimize hardware complexity since the demonstration is about the Cloud and softwareQuietDesktop size  (Estimated Overall Dimension: 30” (L) x 18” (W) x 12” (H)Lightweight so to be easily transportableConstraint: x4 4-20mA or 0-10V sensor inputsConstraint: x5 Open Collector Output, 200mA; selectable 3.3, 5, 15, 24 VDC In short, it was a rather straightforward demonstration of an industrial process meeting the Internet of Things (IoT) in a small, demo-sized form factor. Lessons Learned Do not permanently mount any component that might need to be replaced or is fragile enough that it may need to be shipped separately. Ensure that any mounting is easily swappable.  Consider magnets, velcro, or universal mounting systems such as DIN rail. Screws and adhesives should be used only if absolutely necessary.Use lever-nuts connectors to connect wires between components. Do not solder or use other permanent connectors between wires.Use quality 20 or 22 SWG solid core wires for breadboarding. 18 AWG stranded wire for routing wire long distances or with lots of bends. Establish q wire color code (e.g black for ground, red for power, yellow for clock signals, white for data signals)Use colored heat shrink to indicate the purpose of grouped wires in a wiring harness.Use zip ties or hot glue around cables when they go external from an enclosure to provide strain relief.Always tin the ends of wires before joining two wires together.Use  ¾” standoffs to raise up project off the table.  It gives enough clearance to route wires without being too tall.  It also adds some ruggedness during shipping.When cutting a hole through plastic use a step bit, go slow, and coat with dish soap. Use a piece of tape to indicate which bit step to stop at.Ensure that you are not using oddball components in your project. Being able to source components quickly and cheaply relies on using common parts. Octoparto’s Common Parts Library is a great source to find which electronic components are easily sourced.  When it comes to screws, #6-32, #4-40, and #2-56 are among the most common with common lengths being 1”, 3/4”, 1/2”, 3/8” and 1/4”.Don’t invent the wheel if not needed. Breakout boards of components are your friend. Do not create your PCB if not necessary.When inserting switch in series with external battery pack, cut positive cable and insert a switch/button in seriesMeasure power consumption on the low side, between load and ground.Use a “#define DEBUG” macro to easily toggle whether or not the microcontroller is printing debug messages over the serial connection.Know the difference between const int, static int, and the #define preprocessor directive.Know the difference uint_16 vs intKnow the difference between delay functions, interrupts, timers, and schedulers.Follow PEP8 naming conventions for variables:variable and function names use lower_case_with_underscoresclass/struct names use CamelCase,constants/DEFINE use CAPITALS_WITH_UNDERSCORESbyte RfidReaders[] = {RFID_READER1_CS};_VarName for private variablesenum PuzzleState {Initialising, Running, Solved}; The post Lessons Learned from Building a Tradeshow Demonstration Device appeared first on Gears of Resistance.
  • The Importance of the Maker

    00:00|
    Like most of us, I wear many hats. Engineer, ethical hacker, author, and artist. Second only to dad, the hat I value most is that of maker. For me, the title of maker is a powerful one because it contains in itself so many important concepts. A maker is someone who thinks, who designs, who engineers, who innovates. But they also create with their hands. They balance the cerebral and mechanical. They value working hard and working smart. They like to tinker. Not every project has to have a goal. They make sometimes just for the sake of making. Making is almost a spiritual act. However, when they do make for a specific reason, they have the endstate always in mind. And still they aren't afraid to change the goal or the path to get there as they learn more and their skills improve. They value sustainability and elegant, user-centered design. They eschew complexity. They don't invent everything from scratch because they know they don't have to. They aren't afraid of the good enough. They value speed and iteration in their design process. They know the first attempt is just a first attempt but aren't afraid to share it with the world. They look at problems in an inherently multi-disciplinarian manner. Makers value creativity. They are inquisitive. They are passionate. They are explorers of the world and of the mind. They constantly learn new skills, refine existing ones, and apply something new to every project. Science. Technology. Engineering. Design. Art. Mathematics. All subjects they value. Their passions are diverse. They are humanists. They seek to improve the human condition. They never quit. They listen. And perhaps most importantly they are both students and teachers. They are fervent learners and passionate educators. They willingly and openly share their knowledge. They don't hoard information to make themselves self-important. They recognize that teaching others is the highest aspiration for an individual. They improve themselves, their fellow makers, and the world. The post The Importance of the Maker appeared first on Gears of Resistance.
  • Designing an Escape Room Gadget with Arduino, Eagle, Fusion 360: RFID Part 2

    00:00|
    Like escape rooms? Wanna know how to make an RFID puzzle gadgets for escape rooms? In this video series, we will look at the tools and steps to create the electronic hardware, firmware, and mechanical components for an RFID-powered escape room gadget. For more information check out Green Shoe Garage guides at http://greenshoegarage.com/projects/oser/ Part 2 focuses on the software of the puzzle. The post Designing an Escape Room Gadget with Arduino, Eagle, Fusion 360: RFID Part 2 appeared first on Gears of Resistance.
  • GoR 89: Chirps, Sims, and Scrambled Routes

    00:00|
    Gears of Resistance #89 for September 16, 2019 http://greenshoegarage.com/podcast/GOR/2019/GOR_0089_16SEP19.mp3 This week we cover: Open Source Escape Room: RFID Gadget Sticker Sensors Chrip Comes to Arduino; Transmit Data With Sound Circuit Express Simulator for VS Code C Playing Nicely With Micropython BLE Central Support Comes to Arduino Virtual Panel for Arduino EAGLE 9.5 Launches Arduino IDE 1.8.10 Launches SparkFun Qwiic $40 Pulse Oximeter and Hear Rate Monitor [Download] For more DIY/Maker, OSHW, FOSS, CyberSec, and STEAM news follow along on Twitter, Facebook , or our YouTube Channel. Or listen to the audio only version at iTunes, Stitcher or Google Play. Music by Halloween, available at http://freemusicarchive.org/ Copyright: Attribution-Noncommercial-Share Alike 4.0 United States Logo courtesy of Avi Odenheimer Artwork: Free stock photos from pexels.com Today’s podcast is brought to you by audible.com. They have over 180,000 titles to choose from for your iPhone, Android, Kindle or mp3 player. Get a FREE audiobook download and 30 day free trial at www.audibletrial.com/steampowerpodcast Interested in advertising with Gears of Resistance?  Let's talk! arduino, iot, adafruit, nano, ble, python, circuitpython, escape room, rfid, nfc, eagle, cad, sparkfun, gui, C, C++, wearables, medical, energy harvesting, chirp, sound The post GoR 89: Chirps, Sims, and Scrambled Routes appeared first on Gears of Resistance.
  • GoR 88: Of Clouds and Certifications

    00:00|
    Gears of Resistance #88 for July 24, 2019 http://greenshoegarage.com/podcast/GOR/2019/GOR_0088_24JUL19.mp3 This week we cover: Arduino Create Maker Plan Launches Adafruit.io Plus Arduino Nano 33 Boards | IoT | BLE Sense Arduino MKR GSM 1400 Arduino Fundamentals Certifcation | Guide PyBadge CircuitPython Gumroad [Download] For more DIY/Maker, OSHW, FOSS, CyberSec, and STEAM news follow along on Twitter, Facebook , or our YouTube Channel. Or listen to the audio only version at iTunes, Stitcher or Google Play. Music by Halloween, available at http://freemusicarchive.org/ Copyright: Attribution-Noncommercial-Share Alike 4.0 United States Logo courtesy of Avi Odenheimer Artwork: Free stock photos from pexels.com Today’s podcast is brought to you by audible.com. They have over 180,000 titles to choose from for your iPhone, Android, Kindle or mp3 player. Get a FREE audiobook download and 30 day free trial at www.audibletrial.com/steampowerpodcast Interested in advertising with Gears of Resistance?  Let's talk! arduino, iot, adafruit, nano, ble, gsm, certification, python, circuitpython, gumroad The post GoR 88: Of Clouds and Certifications appeared first on Gears of Resistance.
  • Writing Arduino Code using Visual Studio and Visual Micro

    00:00|
    In this video, we look at jumping up from the standard Arduino IDE and take a stab at programming use Microsoft's Visual Studio Community Edition 2017 and third-party extension Visual Micro. We also look at how to put our code under source code control using GitHub. Some of the tools we use: Microsoft Visual Studio Visual Micro GitHub Arduino IDE For more tech news and how-to’s check out our YouTube Channel. Looking to reach an an engaged audience of embedded professionals and enthusiasts? Advertise with Gears of Resistance and find your audience. Music is “Computer Control” by Tom Woxom, available at http://freemusicarchive.org/ Michael Parks, P.E. is an engineer and security researcher at Green Shoe Garage, a custom electronics design studio located in Southern Maryland. He also blogs (and occasionally podcasts) at Gears of Resistance, a site dedicated to raising public awareness of technical and scientific matters. Michael is also a licensed Professional Engineer in the state of Maryland and holds a Master’s degree in systems engineering from Johns Hopkins University. Most importantly he gets to be a dad to his daughter Hailey. The post Writing Arduino Code using Visual Studio and Visual Micro appeared first on Gears of Resistance.
  • Bus Pirate and the MCP4725 DAC via I2C

    00:00|
    Bus Pirate and the MCP4725 DAC via I2C.  Wow.  What a mouthful.  Following up on one of the most popular posts (SparkFun DAC Breakout Board Tutorial) in this guide we will take a look at controlling the MCP4725 DAC via the I2C protocol using a Bus Pirate from Dangerous Prototype.  Before we get started let's take a look at this video to see where we're going: In short, we are going to drive an LED with varying voltage to control its brightness.  We are going to drive the LED via the MCP4725 digital-to-analog converter.  In turn, we will use the Bus Pirate to communicate to the MCP4725, and we will talk to the Bus Pirate via a serial connection and using the ZTerm terminal application.  Obviously, this is a lot of work to turn an LED on and off.  That's only partly the point.  When developing prototypes it can be a real pain to work with a lot of different microchips and the various communication protocols.  This is the legwork to prepare to integrate a DAC into another project, where instead of using a Bus Pirate to drive the DAC chip, we will eventually use a Raspberry Pi.  This will help us to make sure we know the I2C address of our MCP4725 chip and that it is working before we integrate into a larger and more complex project.  Without further adieu, let's get started.  First a wiring diagram (color of the wires between the Bus Pirate and DAC are based on the color of the probe cables): I am using 220-ohm resister and normal LED.  There are many great tutorials on setting up the Bus Pirate for the I2C protocol, be sure to start here.  Some things that can trip you up.  1) Make sure you have the correct probe cables connected to the correct pins on the DAC.  2)  Make sure the VPU probe for the pull up resistors is driven by the same power source driving the Vdd pin on the DAC.  I am also assuming you know how to run a serial communication terminal software (TeraTerm or Putty or ZTerm).  If not, again, there are many great tutorials already out there such as this one for ZTerm.  There are various settings you need toensure in the terminal software such as not setting the baud rate to 115200 or not turning off settings such asXon/Xoff.  Once you get everything connected, you should see the following on the terminal screenHiZ>Meaning we are in high impedance mode which is a fairly safe mode, from a hardware perspective you will have less likelihood of frying a chip.  Next we needto setup the Bus Pirate forI2C mode.  Note that this is a based on a certain hardware revision and firmware version of theBusPirate.  If you are reading this after a few years, the commands may have changed.HiZ>m 1. HiZ 2. 1-WIRE 3. UART 4. I2C … (1)> 4 Set Speed: 1. ~5KHz 2. ~50KHz 3. ~100KHz 4. ~400KHz(1)> 3 Ready I2C>W Power supplies ON I2C>P Pull-up resistors ON I2C>(1) Searching I2C address space.  Found devices at: 0x00(0x00 W) 0xC0(0x60 W) 0xC1(0x60 R) The above does the following: 1)  Puts the Bus Pirate into I2C protocol mode 2)  Sets the communication speed to 100KHz 3) Turns on the power supply to the DAC 4) Turns on the pull-up resistors on the I2C bus 5) Finds the address of theI2C devices connected to the bus pirate. In the case, 0xC0 for writing to the DAC and 0xC1 for reading from the DAC. Now to turn on the LED to full brightness enter the following: I2C>[0xC0 0x0F 0xFF] And in turn, the LED should go to full brightness and the serial terminal should display: I2C START BIT WRITE: 0xC0 ACK WRITE: 0x0F ACK WRITE: 0xFF ACK I2C STOP BIT To partially illuminate the LED enter: I2C>[0xC0 0x08 0xFF] Your mileage will vary based on the type of LED, resistor value, etc.  You will have to tinker around a bit, but overall, this should get yourMCP4725 talking to the Bus Pirate.  Next up, having the Raspberry doing the talking theMCP4725 DAC.  For reference here is a waveform of I2C courtesy of the fine folks at intrepidcs.com The post Bus Pirate and the MCP4725 DAC via I2C appeared first on Gears of Resistance.