4 Orlando Makerspaces You Don’t Want to Miss #makerspace #orlando

Atlanta Maker Faire 2016

When my family lived in Macon, GA, our Macon makers community helped start one of the first makerspaces in Middle, GA: SparkMacon.com. A makerspace is a community oriented and operated workshop with tools to support a broad range of art and technology projects. At SparkMacon, we had tools for woodworking, physical computing, music recording, laser cutting, 3D printing, and art projects. In this season of life, I had the opportunity to witness the awesome benefits of a makerspace community. SparkMacon was founded to support local technology startups and inspire the growth of makers young and old. In general, makerspaces encourage grass-roots learning environments where makers learn from each other. I love the cross-functional nature of makerspaces too. It’s amazing the things you learn when you have different types of engineering, business minds, science, computer geeks and art people in the same room. Many makerspaces also support the mission of seeding the startup ecosystem of a city.

I’m looking forward to engaging in a makerspace community in Orlando at some point. I wanted to share a few makerspaces that you might enjoy exploring.

FamiLAB: As we were building SparkMacon, I gained a lot of inspiration from this makerspace community. I believe that this makerspace was the first makerspace community for Orlando. They consistently have diverse set of events and learning experiences. I’ve enjoyed taking my kids to their Raspberry Pi Jam sessions. The scale and variety of tools is amazing. (laser cutting, 3D printing, metal working, DIY biology and more). I specially find the DIY biology sub-community interesting since my wife teaches microbiology. ( very similar to http://biocurious.org)

Website: https://familab.org/

Melrose Center: I love seeing the makerspace movement move into other community and education organizations. If you live in Orange county in Orlando, you have a really nice benefit: Melrose Center. The Melrose Center, associated with the Orlando downtown library, provides makerspace services for the cost of a library card. If you don’t live Orange county, you can access many of the services for a nominal cost. The Melrose Center provides a nice spectrum of professional development workshops, family STEAM workshops, and community meetups. Some of my favorite meetups including ONETUG, Google Developers of Central Florida, and the Data Science and Machine Learning group of Orlando meet there. The makerspace offers tools like 3D printers, podcasting recording studios, music recording space, Adobe products lab, virtual reality lab, and more.

Website: https://www.ocls.info/locations-hours/melrose-center

MakerFX: The MakerFX makerspace, located in South Orlando, have an impressive community of makers. Like all makerspaces, they offer an impressive range of tools and educational programming. If you’re interested in visiting this makerspace, they offer an “open house” every Friday. You can “drop in” and sample the community and tools. While this makerspace has equipment to serve advanced makers, they seem to have a cool collection of beginner content including Arduino workshops, 3D printing, laser cutting, electronics, and more. On the more advanced end, you can learn about beekeeping, parametric design, PCB layout with Eagle, and combat robotics. This makerspace is the home of the Maker Effect foundation. ( http://www.themakereffect.org/ ) This foundation support STEAM education efforts in the city, connecting the makerspaces of Orlando, and coordination of the Orlando MakerFaire. (one of my favorite events every year!)

Website: http://www.makerfx.org/

Factur: I wanted to give a quick shout out to the makers at Factur too. While attending Orlando MakerFaire in 2017, I saw some impressive projects from this community. This makerspace community has entrepreneurial tone since the makerspace also serves as a co-working space in downtown Orlando. They seem to have a great buzz. You can learn more about their culture, tools, and events here: http://factur.org/

To our readers, make sure to mark your calendars for Nov 10 and 11 for Orlando Maker Faire. It truly is the greatest “show and tell” of the city. The art, projects and creativity will blow you away! And you get to see all of these makerspaces in action! 🙂  It’s a great event for the family.  Make sure to check it out!

 

 

Remotely Control IoT devices using NodeJs, Firebase, and Johnny5

Hello, makers!  In our blog post today, I wanted to share a simple way to remotely control IoT devices using NodeJs and Google Firebase.  Let’s say you’re trying to remotely control a small lego crane like this.  You’ll notice there are two servo motors connected to an Arduino.  You can learn more about how you can build this in our post on Arduino and Lego motor control.   For the scope of this blog post, let’s say we wanted to remotely control the servo motor at the bottom from any place in the world.  How would we do that?

Lego Crane

Firstly, check out Johnny 5,  a very nice NodeJs library for controlling IoT devices like Arduino’s, Raspberry Pi, and more.  I really appreciate the clarity of their documentation and API.  You can do a lot with a small amount of javascript.

I started to wonder if we could connect Johnny 5 to the real-time database of Firebase.   What’s a real-time database?  In a traditional relational database like MySQL, you need to declare database tables and structures.  You can make a database table to store a list of persons and their addresses (see sample code here).   After doing that, you can insert data into that table.  In this traditional database world, you can’t listen for inserts into a database table and easily write code to reach to that event.

The Firebase real-time database organizes information in a tree structure.  You can store information in that tree any way that you want.  Other users who have access to the database can listen for data changes at various locations in the tree and write code to react to that event.  Check out the following video to learn how the Firebase Real-time database works. Especially listen to how the value change event works.

This link review the details of getting started with FireBase on the web or NodeJS: https://firebase.google.com/docs/database/web/start

So, let’s explore the code for moving a single servo motor using Johnny 5 and Firebase.

At the top of the JavaScript file, we import johnny-five and firebase-admin. We start our firebase
database session by calling “initializeApp.”

On line 9, we create a “Board” object. I have my Arduino connected to my computer by a serial cable. Johnny5 handles this situation by default.

Once the board enters “ready” state, we create an instance of a servo motor connected to pin 10.

On line 14 and 15, we connect to a storage location called ‘servo_angle.’ Using the servo_angle “on value” event, we listen for changes to this location and
set the angle of the servo. And that’s it!

To write values into “servo_angle”, check out the following code.

In this script, we connect to the Firebase database in the same way. On line 10, we accept an angle from command line arguments. On line 16, we write that angle to ‘servo_angle’.

It’s a very simple pattern for making internet connected robots or home automation.

We love to hear from our readers. Leave a comment below if you get other ideas for internet connected robots, toys or devices.

Related Blog Posts

Building Chat Bot Apps with Google Actions

r2d2

In science fiction, we have dreamed about the days when we’ll talk to our computers to make things happen. In Star Trek, crew members can talk to the Holodeck computer to “program” and explore amazing virtual experiences. Tony Stark(aka. Ironman) constantly gets situation awareness from Jarvis during battle by simply talking to his device. We’re still a long way away from Holodecks, R2D2, and Ironman. As developers and makers, we can explore the potential of voice interactions with mobile devices today.

The Google Actions toolkit enables you to integrate your services into the voice command interface of a Google assistant. This technology touches millions of devices including phones, cars, and assistant devices. You can also integrate into services provided by Google or third party services.

This past weekend, our local Google developer group of Central Florida organized a hackathon to explore applications of voice user interfaces and Google Actions. We enjoy getting to organize community workshops like this. Love seeing our community come together. It’s always a great opportunity to learn, meet people, and generate new ideas.

Google Actions Hackathon

In general, Google actions work well in three major use cases. Users on the go. People starting their day. People relaxing at the end of the day.   For my Google Actions app, I tried to think of an application of Google Actions that would support our leadership team for our GDG. We recently adopted a Trello board to help us organize tasks for our club. If you’re not familiar with Trello, it’s simple a task management system popular with Agile teams. ( see a screenshot below )  As a busy Dad and professional, I typically think of stuff that needs to be accomplished for the GDG while I’m driving.

Trello board

I decided to create a simple Google Action to enable me to collect a task and share it on our leadership Trello board. I tried to explore this task in three phases.

1. Get to know the Google Actions API: I used a variety of resources to get to know the Google Actions interface. I, however, found this code lab very helpful.  After doing this code lab, I was able to slightly elaborate on the tutorial to create my own stuff.

https://codelabs.developers.google.com/codelabs/actions-1

2. Build Trello integration code to add a task to a list: On my local laptop, I started playing around with a few options for adding task information to a list.  I found the “node-trello” package for NodeJs worked really well.

https://github.com/adunkman/node-trello

3. Integrate the Google Actions API and the NodeJS code together

Here’s a quick tour of the Google Actions conversation setup. Using Dialogflow, it’s really cool that you can create conversational interface actions with almost no code.  JavaScript code becomes necessary if you need to integrate services or databases together.   Let’s focus on one intent: adding a task.   In general, intents enable you to accomplish a focused interaction on your Google assistant.   In my case, the user calls my action by doing the following:

  • Ok, Google.  Let me talk to GDG tasks
    • The system replies with a greeting and a prompt for a command
  • The user can reply “add task.”

In this intent, we can configure the system to respond to similar phrases to “add task.”

Add task

At this point, the intent collects two pieces of information.  (task name and task details).  We configure the intent to fulfill the conclusion of the intent with custom code.

Hope this code sample helps you understand the experience of building a Google Actions application.

Here’s a few more resources and ideas to help you write your own Google Actions app.

  • https://developers.google.com/actions/templates/
    • These are great tutorials for “non-coders” and programmers.  These templates are designed for teachers, educators or people curious about chat bot building.   The tutorials are designed to be very short.