Select Page

Upload Word

About

This site is a collection many years of self-learning and research in various topics. Most if not all of my learning has come from the using the Internet, a powerful and valuable resource for anyone with access using a smartphone, tablet or computer.

I will be covering topics in each of these areas:

  • 3D Modeling and Printing
  • Internet of Things
  • Programming
  • Web Development
  • Digital Photography

Topics will include information, tutorials and tips, links to other sources

The Internet is a vast library of learning materials both free and with paid subscription. Browsing on-line tutorials and courses may not replace a college degree or formal learning in an accredited university when looking for a job – but they can be useful secondary sources of information while studying or a great place to start learning something new to complement the skills you already have.

If you can learn a new language or skill online and put it to use – this will make it much easier to complete a formal course of study which leads to a degree or certificate. Career wise – if you already have a degree and a job, but want to seek other positions – this will certainly help make you a more viable candidate. If you are looking for a job but don’t have a degree or certificate, don’t be surprised if your pay or benefits are lower than your college graduate peers. You can still get that degree or certificate with one big advantage – you already know the stuff.

Maker

3D Modeling & Printing

3D printing is a form of AM (Additive Manufacturing) that produces a three dimensional solid object from a digital file. This section will look at how to create the digital file and print the solid object.

Solid shapes are printed in layers or slices which takes a solid 3D model created using software and prepares it for printing. When you design a par for 3D printing – there are conventions and rules that should be followed in order for your design to be successfully printed.

Most ordinary image printing is done by selecting the print command in an application – whether a Word document, spreadsheet, digital photo or drawing. 3D printing requires an application that also has a print command for 3D printing but with a few additional steps before submitting the request to the printer. Depending on the software you use for designing the model, you will need to prepare a special file whose format ends with STL. STL is short for stereolithography and without going into too much detail – the format gives the printer the command to print each slice that will result in the final shape of the model. Some software already have this feature built in and some printers may require a different format – usually a proprietary format exclusive to the printer.

We will look at how to create an image that can be printed as a 3D object beginning with the software needed to create and prepare the image for output and several ways that it can be printed

Projects

To demonstrate 3D design and printing, the following projects will be implemented

  1. Design & print a 3D protective case for an Arduino Uno board.
  2. Design & print a 3D part for a tool fixture

Protective Case:

The Arduino Uno is one of several boards covered in the IOT section. Most boards come in static proof wrapper ready to use but to insure that the boards are not damaged while handling or from static electricity – it is best to put them inside a protective container.

3D Software

Now that we have 2 candidates for design, we will start with one of several free CAD applications available

TinkerCAD

https://www.tinkercad.com/

TinkerCAD is a web based 3D modeling application from AutoDesk. It is designed primarily for hobbyists and newbies who have little or no experience with 3D CAD. The tools are somewhat limited when compared to the professional vesions like SolidWorks or AutoDesk Invent but you can export STL files for 3D printing or SVG files for laser cutting.

OpenScad

http://www.openscad.org (advanced students)

OpenSCAD is software for creating solid 3D CAD models. It is free software and available for Linux/UNIX, Windows and Mac OS X. Unlike most free software for creating 3D models (such as Blender) it does not focus on the artistic aspects of 3D modelling but instead on the CAD aspects. Thus it might be the application you are looking for when you are planning to create 3D models of machine parts but pretty sure is not what you are looking for when you are more interested in creating computer-animated movies.

Blender

http://www.blender.org (serious students)

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.

Fusion 360

https://www.autodesk.com/products/fusion-360/

Fusion 360 is a cloud based 3D CAD environment from AutoDesk – makers of AutoCAD and many popular design tools. Fusion 360 is a very powerful and fully featured 3D CAD tool that could be compared to the professional Catia SolidWorks and Siemens SolidEdge. While Fusion 360 is a fee-based subscription you can apply for a free startup or non-commercial license. This is a great tool to start and grow with

FreeCAD

https://all3dp.com/free-cad-software-2d-3d-design-programs/

https://github.com/FreeCAD/FreeCAD/releases

FreeCAD is an open source modeling software used by engineers, inventors, illustrators and artists to design objects in 3D space. As the name implies FreeCAD is free and can be downloaded from GitHub or Sourceforge. The software is available in different versions for Mac, Windows and Unix. You can download the binary version which installs automatically or the source files which requires compilation but gives you some flexibility in customizing it to suit individual needs.

For this exercise – I am choosing to download the binary version on my older Macbook Pro. I also have a VirtualBox app that runs Ubuntu – a Linux distribution which allows me to run Ubuntu on top of the Mac OS. I will discuss running

Evaluation of CAD software

So far I have tried 3 of the above – FreeCAD, Fusion 360 and TinkerCAD.

FreeCAD is very powerful but clunky and sometimes difficult to install. Its website has a message on the downloads page that “FreeCAD under heavy development and may not be ready for production use”. Not sure what that means or what exactly it refers to. There are Windows, Mac and Linux distributions available – but pay close attention to system requirements and make sure you download the correct distribution for the version of OS you are using. I recommend downloading the binary application instead of compiling from source. Since it is a free-source application and as with anything free-source, it relies on volunteers who get little if any compensation for their hard work. You can donate or volunteer if you feel it is worthwhile. Programming

Tinkercad is a great beginner tool but relies on user’s spatial coordination and creativity to use. Unlike other CAD applications where you can sketch in 2D and extrude, sculpt or create pockets, Tinkercad provides a collection of 3D shapes that you select from a sidebar, modify its properties and dimensions, and then finally group to transform into the desired result. For example – to cut a through hole in a plate, you add and position a cylinder shape into the plate. With the cylinder selected – you change its state from solid to transparent. Select the both the cylinder and plate then group them so it forms a hole in the plate

Fusion 360 Is about as close as you can get to the more powerful, expensive and commercial 3D modeling software like Dassault Solidworks. That being said – if you really want to learn how to do serious 3D modeling – start with this tool. There are

3D Printing

If you want to 3D print something you will need a model to send to the printer. There are two ways – create your own using one of the many CAD applications available (see previous section on modeling) or download a design from one of these sites

Learning about 3D Printing

https://3dprinting.com/

Three different types of 3D printing

Source: https://www.imaginarium.io/blog/what-is-3d-printing-in-3-minutes

Liquid Based / SLA: SLA stands for Stereolithography Apparatus. Under SLA, 3D objects are formed by subjecting liquid-based epoxy resins to UV lasers. These resins are placed in a vat chamber and are photo-sensitive in nature, solidifying immediately on coming in contact with UV light. Since this light source is a laser, this technology is capable of very high resolutions. A variation of SLA is DLP or Digital Light Processing, where the light source is an image projector instead of a laser.

Image result for Liquid Based SLA

– https://www.cyant.co/lexicon/2017/9/2/stereolithography-apparatus-sla

Powder Based / SLS: SLS stands for Selective Laser Sintering. The raw material commonly used for SLS is nylon powder. The power is filled inside a vat and is sintered using high intensity laser light, one layer at a time. Objects printed using SLS are hard and brittle in nature, capable of retaining very fine details and an excellent finish when subjected to post processing.

https://upload.wikimedia.org/wikipedia/commons/3/33/Selective_laser_melting_system_schematic.jpg

– http://www.cadimensions.com/blog/3-reasons-businesses-choose-fdm-over-sls/

https://en.wikipedia.org/wiki/Selective_laser_sintering#/media/File:Selective_laser_melting_system_schematic.jpg

Solid Based / FDM: Arguably the simplest 3D printing technology, Fused Deposition Modelling printed objects by heating the input filament of material to its melting point and then depositing it one layer over the other using a fine nozzle. FDM is commonly used for small, portable desktop 3D printer, and can print simple, everyday objects like a smartphone cover with ease.

https://upload.wikimedia.org/wikipedia/commons/e/e8/3D_Printer_Extruder.png

– https://upload.wikimedia.org/wikipedia/commons/e/e8/3D_Printer_Extruder.png

Which Materials Are Suitable For 3D Printing?

A wide range of materials can be 3D printed, the most common ones being plastic, nylon and a range of resins. Other materials include paper, glass, metal and even food! Recents advancements in the field have given rise to a whole to new domain – that of 3D bioprinting, where 3D printers have been utilized to print living tissue and completely functional organs!

Table – Courtesy: Onebeacontech

https://daks2k3a4ib2z.cloudfront.net/5800706c8104c67a6e30f4ba/59d5e8d507107200019dd184_graph_3d_printing.jpg

Applications Of 3D Printing

The ability to create objects from digital data implies that 3D printing has virtually limitless applications in almost every field. 3D printing is being widely used for rapid prototyping, by the virtue of its impressively short design-to-market turnaround time. Automotive, aerospace, white goods and even consumer electronics manufacturers are taking full advantage to rapidly introduce more products to the market within a relatively short span of time.

3D printing also finds applications in healthcare. The medical fraternity is touting it as a revolution in patient specific solutions, with customized prosthetics and implants being made available to more and more people with the help of 3D printing.

https://daks2k3a4ib2z.cloudfront.net/5800706c8104c67a6e30f4ba/59d5e96e94345b0001a881e6_3d-printing-consumer-products.jpg

Courtesy: 3Dengr

Other industries where 3D printing is slowly but surely making it’s mark are fashion and infrastructure. The jewellery industry in one of the few that has already adopted this technology as the primary source of manufacturing. Adidas has plans to mass print an entire range of customizable shoes. 3D printed houses are now a reality, companies in China have been able to print low cost structures in incredibly short time.

Challenges & Limitations

Like any other new technology, 3D printing faces 3 major challenges of Awareness, Acceptance and Regulation. A sizeable chunk of manufacturers are still oblivious to this technology, and the ones that are aware are often hesitant to integrate it into their businesses. There is also a need for regulating and standardising practices in 3D printing industry. Policies need to be set in place that will both curb its misuse and also encourage mass adoption.

Future of 3D Printing

According to Wohler’s Report 2016, the market size for 3D printing industry stands at $5.165 billion as of 2015, and is projected to surpass $30.19 billion by 2022. As more and more industries adopt this technology, 3D printing is slated to change the face of consumerism. Everyday products like cutlery, jewellery, decor furniture and possibly even food and designer clothing will be printed right within the confines of home.

Localized manufacturing will largely reduce the cost of logistics and need for inventory. Orders will be ‘printed’ based on demand. Retail will see the rise of mass customization thanks to 3D printing, where every order can be customized as per specification and quickly printed out. With every domain that it touches, 3D printing will slowly change our lives.

Popular 3D CAD File formats for 3D printing

https://www.whiteclouds.com/3dpedia-index/file-types-used-3d-printing

STL, OBJ, VRML, SVG

Service Bureaus for 3D printing

If you have don’t time and budget for a 3D printer – you can send your STL or compatible files to one of several service bureaus who will print your model and ship to your home or business. This is a great way to get started and become familiar with 3D printing before deciding what would be the best 3D printer you will need.

Shapeways

Sculpteo

Ponoko

i.materialize

Creating an STL file

IOT

In this section – I will discuss the many different kinds of devices that are interconnected using home wireless networks.

Safety and Security Considerations

The use of wireless devices in your home network must be handled with care. Without taking some precautions to secure the devices, they can provide a gateway for hackers. Without taking some precaution to protect your network and devices, any unsecured device can be infected with malware and transform an innocent IOT network into a botnet, a short way of saying robot in your network. Once a botnet is created, it can act as an agent controlled by cybercriminals to send email spam, engage is fraudulent campaigns and generate traffic for malicious DDOS or distributed denial of service attacks.

The articles list below provide more insight and tips on how to protect your own home network

Articles

Operating Systems

There are several ARM V6 compatible operating systems that can run on the Raspberry PiDownloads Page – Incudes the following: – – https://www.raspberrypi.org/downloads/

  • Raspian – Supported Raspberry Pi OS based on Debian – https://www.raspberrypi.org/downloads/raspbian/
  • Arch Linux Arm V6 – https://archlinuxarm.org/platforms/armv6/raspberry-pi
  • Ubuntu Mate – use this to run Ubuntu on your Raspberry Pi (2 or 3)
  • Snappy Ubuntu Core – use this if you are a developer and have an SSO account
  • Windows 10 IOT Core – Run Microsoft Windows 10 for IOT devices on your Pi
  • OSMC – Open Source media Center – used for
  • LIBREELEC
  • PINET
  • Weather Station
  • ICHIGOJam RPI

Boards

Raspberry Pi

Setting Up Raspberry Pi

Securing your Raspberry Pi – https://opensource.com/article/17/3/iot-security-raspberry-pi

What you need
  • Raspberry Pi Board – Version 2, 3 or Zero
  • SDHC Card Class 6 –or 10 with at least 4GB. Recommend at least 8 or 16 gb

Alternatives to Raspberry Pi

Eight Alternatives to the Raspberry Pi – https://www.howtogeek.com/330966/eight-alternatives-to-the-raspberry-pi/

Arduino

https://www.arduino.cc/

Arduino boards are controllers and do not have operating systems. Instead they rely on open source desktop / laptop IDE to compile and test executable code that is uploaded to the devices. The IDE application can run on any computer – Mac, Windows, Unix and can be downloaded from the Arduino website. The IDE is free but donations are accepted. There is also a cloud based IDE available

PyBoard

https://www.adafruit.com/product/2390

Adafruit HUZZAH ESP8266 breakout

https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/using-nodemcu-lua?view=all

adafruit_products_2471_iso_assembled_01_ORIG.jpg

Desktop Systems for IOT

Sensors and Effectors

Temperature and Humidity Sensors

Temperature & Humidity – Arduino

https://create.arduino.cc/projecthub/projects/tags/temperature?page=1

Temperature & Humidity – Raspberry Pi

https://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing/hardware

Display Temperature on LCD – Arduino

http://www.instructables.com/id/Display-temperature-on-LCD/

LED Temperature indicator

http://www.instructables.com/id/Arduino-LED-Temperature-Indicator/

Temperature Indicator using LED

You can pop down to the hardware store or department store and pick up a digital temperature display monitor for a few bucks. Where is the fun in that when you have an Arduino or Raspberry Pi board sitting around and some temperature sensors still in the anti-static bag the last time you ordered stuff from ADA fruit?

Temperature Display LEDs

I found a few sources on the web (posted at bottom of article) and I am going to build a few different variations of temperature display devices using both Raspberry Pi and Arduino

https://cdn.instructables.com/FB2/P2FL/IE7J460U/FB2P2FLIE7J460U.MEDIUM.jpg

Here is a simple project where you can take an Arduino UNO and connect to an LCD and Temperature Sensor

Another simple project where you can take an Arduino UNO and connect to an LCD and Temperature Sensor that measures both Temp and Humidity

Temp and Humidity Sensor with Arduino MKR1000 Board

https://www.hackster.io/doncoleman/mkr1000-temp-and-humidity-sensor-8f22ed

Tutorials about temperature Sensors

http://www.electronics-tutorials.ws/io/io_3.html

DHT temperature and humidity sensors

https://learn.adafruit.com/dht

Figure DHT11 and DHT22 Sensor

Power & Distance

ESP8266 Power Meter

https://randomnerdtutorials.com/esp8266-0-96-inch-oled-display-with-arduino-ide/

Time of Flight & Distance Sensor

https://learn.adafruit.com/adafruit-oled-featherwing

FeatherWing OLED - 128x32 OLED Add-on For All Feather Boards

https://learn.adafruit.com/adafruit-vl6180x-time-of-flight-micro-lidar-distance-sensor-breakout

https://learn.adafruit.com/adafruit-vl53l0x-micro-lidar-distance-sensor-breakout

adafruit_products_demo_bb.png

Light

Measuring Light with a BeagleBone Black

https://learn.adafruit.com/measuring-light-with-a-beaglebone-black/overview

beaglebone_overview_web.jpg

GPS

GPS Featherwing

https://learn.adafruit.com/adafruit-ultimate-gps-featherwing

Water

Water Sensing (Water heater or Sump Pump Failure

https://www.adafruit.com/product/3397

https://www.sparkfun.com/products/13835

https://youtu.be/CkzW6bKZifI

https://www.arduino.cc/en/Tutorial/AnalogInOutSerial

http://www.theorycircuit.com/sst-liquid-level-sensor-arduino/

Weather

Weather Station

https://learn.adafruit.com/wifi-weather-station-with-tft-display/software

Feather Weather Lamp

https://learn.adafruit.com/feather-weather-lamp

IR Sensors

https://learn.adafruit.com/ir-sensor

Prototyping

Feather Wing

Overview https://learn.adafruit.com/featherwing-proto-and-doubler/overview

FeatherWing Stacking Headers – https://www.adafruit.com/product/2830

Feather Stacking Headers - 12-pin and 16-pin female headers

Featherwing Doubler – https://www.adafruit.com/product/2890

adafruit_products_Doubler_iso_demo_01_ORIG.jpg

Feather Wing Proto – https://www.adafruit.com/product/2884

GPIO – Raspberry Pi Expander

GPIO expander: access a Pi’s GPIO pins on your PC/Mac

Projects

Cloud-Connected ESP8266 Power Meter (Arduino)

https://learn.adafruit.com/build-a-cloud-connected-esp8266-power-meter

How to build your own power meter using the ESP8266 boards and send data to the ADAFruit IO Website

ESP8266 Power Meter

https://learn.adafruit.com/build-a-cloud-connected-esp8266-power-meter

sensors_schematic.png

ESP8266 Temperature *& Humidity Home Automation in the Cloud

https://learn.adafruit.com/home-automation-in-the-cloud-with-the-esp8266-and-adafruit-io

Build a Mini Robot Rover

https://learn.adafruit.com/simple-raspberry-pi-robot/software?view=all

raspberry_pi_IMG_4418.jpg

Figure Robotic Car Kit

https://cdn-shop.adafruit.com/1200x900/2939-03.jpg

Figure Robotic Car – Assembled

https://www.adafruit.com/product/2939

Thermal Camera Breakout

https://www.adafruit.com/product/3538

Programming & Interaction with Devices

Scratch

https://scratch.mit.edu/

Python

Learning Python

MicroPython

https://learn.adafruit.com/micropython-hardware-ssd1306-oled-display/circuitpython?view=all

Resources

https://learn.adafruit.com/micropython-basics-what-is-micropython/overview

https://learn.adafruit.com/building-and-running-micropython-on-the-esp8266/overview

https://learn.adafruit.com/micropython-basics-how-to-load-micropython-on-a-board

http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/intro.html#deploying-the-firmware

IOT Product Sources

OpenBuilds – https://openbuilds.com/ – Desktop CNC Routing and Milling

SST – http://www.sstsensing.com/ Sensors for detecting air and water leaks

80 / 20 Industrial Erector Set – https://8020.net/

MakerBeam https://www.makerbeam.com/

Tarts Wireless Sensors – https://www.tartssensors.com/

Woodworking

Tools

  • Table Saw – Bosch
    • Needs a sled for holding small pieces
    • Needs
  • Bandsaw – need to make using a jigsaw
  • Sander – need to make
  • Grinder – purchase benchtop
  • Drillpress – need to make
  • Vise – purchase

Programmer

Programming

This section covers many programming topics that I am familiar with and currently use in many of my projects. It will provide some examples of how these programming languages are used and the tools or IDEs (Integrated Development Environment) used

Where to learn

You can learn from various sources without spending a dime. If you have time – your local or university library would likely have many books and magazines that you can peruse. If you don’t have time to make trips to a library – the internet is your best bet

Not all learning is free – but many are very affordable and provide excellent quality learning materials through videos and online books that you can watch on your own time, download to your mobile device and take it with you.

It is not required that you have membership or subscription to any of them – but I will refer to them often for recommended learning

  1. W3schools.com – free

W3schools is a free resource for learning about many of the things we will cover here. I will often refer to this site for more details

  1. Lynda.com – $19 a month basic / $31.25 a month for annual premium

Lynda.com is an excellent site with thousands (literally) of videos covering a wide range of topics in Software Development, Design, Business, Web Development and Photography. It requires a monthly subscription starting for less than $20 a month with a 30 day free trial – but you will have unlimited access to all the different courses available.

  1. Safaribooksonline.com (not reviewed) $39 a month

You probably have seen many books from Safari in your favorite bookstore or online. Now – you can view these books online like many colleges and businesses who use SafariBooksOnline as a resource for their vast collection of printed books. SafariBooksOnline has expanded into video based instruction like Lynda.com. You can sign up for individual subscription with a 10 day free trial.

  1. Pluralsight (not reviewed) $29 a month

Like Lynda.com and SafariBooksOnline.com – Pluralsight is another major player.

  1. Egghead.io (not reviewed)

Programming Sources – Where to start

*Lynda.com – requires subscription

Learning Ruby

https://www.ruby-lang.org/en/

Learning Ruby requires little to get started and you can learn Ruby without downloading anything

Where to Begin

  • Free –
  • Premium –

Learning Ruby on Rails

http://rubyonrails.org/

Ruby on Rails is a Web Application written using the Ruby programming language. While it does help to understand Ruby – it is not a prerequisite to learning how to use Rails

Where to Begin

  • Free –
  • Premium –

Learning Javascript

https://www.javascript.com/

Javascript is one of the top scripting languages for web page development. Unlike other programming languages like C# and Java, Javascript doesn’t require a compiler to make executable files. It is much easier to learn and use.

Where to begin

  • Free –
  • Premium –

Web Development Toolkits and Tools

Mozilla Developers Network

https://developer.mozilla.org/en-US/

Codrops

https://tympanus.net/codrops/

GIT Hub

https://github.com/

JSFiddle

https://jsfiddle.net/

CSS

https://developer.mozilla.org/en-US/docs/Web/CSS

CSS Diner

https://flukeout.github.io/

colors

specificity

fonts

browser support

pseudo element selector

CSS Frameworks

Learning Bootstrap

Bootstrap is not a programming language – rather it is a toolkit to help developers quickly build responsive webpages using predefined Javascript and CSS3 scripts. With Bootstrap, a single HTML page can be transformed to display or limit content across multiple devices ranging from small smartphones to large desktop monitors.

Where to Begin

Educators’ & Authors’ websites

Articles

Website Design Inspiration

http://www.creativebloq.com/web-design/parallax-scrolling-1131762

Website Project

Photographer

About

Amateur vs Professional – the basic difference between and an amateur and professional is one does photography for the love of it and the other depends on it for a living. The works of an amateur can rival that of a professional and sometimes can be paid for their works

Gallery of Works

  • Koken
  • Flickr
  • 500PX

Software Tips and Tutorials

Sources

Sources in this site

NextFab – https://nextfab.com/

RepRap – 3D printer motors and components – https://reprapchampion.com/

Screen Recording for Tutorials

Mac – https://filmora.wondershare.com/screen-recorder/

2018 Goals and Projects

  1. Finish This Outline!
  2. Design Website
  3. Evernote – subscription and learn to use
  4. Screen Capture for tutorials on how to use software
  5. 3D Printing – create something and send to one of service bureaus
  6. Visit/Explore NextFab
  7. Website – move to cloud 1 & 1 or get a better plan?
  8. Joomla – learn
  9. MediaWiki – install

Categories