Hello again, dear reader.

It's been a quiet week so far - we're still waiting on the boards mentioned in our last post to arrive, so we're going to take a moment to talk about the open source hardware and software that's making MoNet possible.


Languages & Platforms

Image courtesy of Wikipedia Commons

Arduino is first up.

All of our hardware's code is written in Arduino. It's a variant on the C++ language, used to program microcontrollers - something we mentioned in a previous post.


Image courtesy of Nodejs.org
Image courtesy of GitHub

So what's the language of choice for MoNet on the server side? JavaScript. Nothing fancy there. Specifically, we're using Nodejs and Express.js.

To get even more specific, MoNet's JavaScript code is running on a NodeJS server. Express is giving us a framework to use for the MoNet website and the robot server code. We're using Ghost for the blog (as the footer points out) which is also running off of Nodejs.

What does that mean though?

Remember back in the beginning when we discussed MoNet's 3 layers? Node is the back end environment holding those 3 layers, while Express is being used to build the MVC architecture.

Got it? Let's get physical then.


Hardware and Libraries

NodeMCU & Arduino Core for ESP8266.

This is an open source development kit that we're using in our web enabled microcontroller - it's based on the ESP8266 WiFi system on a chip. Outside of MoNet, it's used in creating other devices and connecting them to the Internet of Things (IoT.)

Adafruit I2C PWM Driver & Library & OLED Display Library

In last week's post we mentioned Pulse Width Modulation and shared a screenshot of the OLED status displays. You can thank the fantastic Adafruit community for these - they create, provide and sell many different open source hardware designs. Bonus: they also provide Arduino libraries so you can get said pieces of hardware up and running quickly.

Even if you're not interested in making your own MoNet, give them a look. They have a lot of fascinating project kits!


Desktop Materials

That's software, and hardware covered, so how did MoNet's design come about? Let's dig into the toolbox here as well.

KiCad EDA is the open-source design software we use to create the custom circuit boards mentioned in last week's post. It allows us to create schematics and 3D versions of the board as well.

LibreCad is another piece of open-source design software we use to draft MoNet's parts. You've seen the end result in our laser cutting video a little while back.

Atom is our code editor of choice. Its website describes it as a hackable text editor for the 21st century and it does not disappoint. We're using it as our integrated development environment...specifically, we're using it and...

Platformio. This plugin is what lets us work with our microcontrollers. Like the Arduino Core mentioned earlier, it's used in IoT development.

For graphics work, we turn to Inkscape and GIMP. Inkscape lets us create SVG graphics (images that scale up and down and won't pixellate) & handle the vector editing, while GIMP addresses graphics manipulation (think of it as an open source Photoshop Elements.)


MoNet's drawing from quite the toolbox of open source material. This week we took a look back...but in the near future we're moving forward with build session #2!

Just like last time, we'll provide you with pictures and hopefully some video of the session.

See you soon!