A Tour of Silicon Valley

I recently did a self-tour of Silicon Valley, and as someone who works in the field of technology, it was a fantastic experience.

The first stop of the tour was Apple Park, the Head Quarters for Apple Inc. The only section open to the public is the Visitor Center, which mainly consists of a massive apple store (which was insanely busy as it was 2 days after the iPhone 11 and 11 Pro launched) as well as a sizeable Augmented Reality display of the Apple Park Campus and the famous UFO looking Apple Ring building. This AR display consists of a large model, shown in the photos below, that you can interact with using an iPad Pro which the staff hand out to guests entering the display area. On the iPad Pro graphics are superimposed over the model showing not only a realistic aerial view of the campus but also showing various bits of information relating to the design of the ring building such as how the ring building is designed in a way to take advantage of the environment (wind, etc.) to cool itself in an ecologically friendly manner.

The next stop was the Apple Garage, which is the garage at the house in which Steve Jobs grew up. It is commonly considered the birthplace of Apple. Steve Wozniak (Apple co-founder) has said that this is a bit of a romanticized myth, but it was still great to see.

IMG_9460

Next came the Computer History Museum, a truly amazing museum with items covering the entire history of computers. From the abacus to mainframes and supercomputers to the current day smartphone, the items on display are truly astonishing. Below are some photos and descriptions of some of the items on display.

Numerous Abacuses on display, one of the oldest forms of calculation tools.

A variety of mechanical calculation machines.

IMG_9482

A Curta Calculator, also known as the Pepper Grinder Calculator. One of the most advanced handheld mechanical calculators ever created.

A Selection of IBM Mainframe Equipment.

IMG_9510

A model of ENIAC, the world’s first general-purpose computer.

IMG_9536

A Selection of Fortran Programming Books and Promotional Material.

A PDP-1 Display, Spacewar! one of the first video games ever was programmed on and ran on the PDP-1.

IMG_9551

A 486 DX motherboard.

A display showing the advancement of transistors, microprocessors, silicon wafers, and Moore’s Law.

Various Robots on display. Including expensive toys, industrial robots, and research robots.

Numerous bizarre and unusual computer peripherals on display.

Video and computer gaming displays, with various consoles and games on display.

Apple I, Apple II, Apple Lisa, and Original Macintosh computers.

IBM PC Model 5150 and an Altair 8800.

IMG_9663

A boxed copy of Windows 1.0.

IMG_9667

The NeXTcube workstation from NeXt Computers. NeXt computers were founded by Steve Jobs after leaving Apple in 1985, and Next Computers were acquired by Apple when Steve Jobs rejoined Apple in 1997. The NeXTStep Operating system became the foundation for Mac OSX.

IMG_9671

Waymo Self-Driving Car.

IMG_9673

A scale model of the Mars Rover.

World of Warcraft exhibition.

An exhibition showing the rise of MP3s and the rise and fall of Napster.

The next stop after the Computer History Museum was the Googleplex, the massive headquarters of Google. The Googleplex, which is mostly open to the public, has various significant things to see, such as the Android Statue Lawn, where retired Android statues representing previous versions of the mobile operating system are on display. From volleyball courts to Massive Statues to vegetable gardens, it is easy to see why the Google Campus has a reputation as the best working environment. Here are a few photos of the Googleplex.

The last stop in Silicon Valley was Stanford University, a University that amongst its alumni has various famous people. Stanford has a beautiful Campus, as can be seen in the photos below.

A Tour of Silicon Valley

UCTRONICS SMART ROBOT CAR KIT

uctronrobot

The UCTRONICS Smart Robot Car Kit is an easy to build obstacle avoidance robot kit that also allows for direct user control of the robot through either Infrared (using the included remote control) or Bluetooth (an Android App is available on the Google Play Store).

This is a great starter kit as no soldering is required and additionally there is a lot of space on the robot chassis for customization and additions later on. Assembly instructions are provided in full color and takes the builder through the assembly process in a step-by-step manner, which is easy to follow.
A prebuilt Arduino sketch is available for download from the UCTRONICS website to make the assembled robot functional, however nothing prevents the builder from writing their own. This is however one area where I do feel the kit falls short as an educational tool, instead of just providing a prebuilt sketch, it would have been great if a step-by-step guide was provided taking the builder through the process of writing their own sketch, explaining concepts and what is being done and why along the way.
This is however still a great starter kit and I would recommend it for anyone getting started in robotics or Arduino related building.

UCTRONICS SMART ROBOT CAR KIT

SunFounder DIY 4-DOF Sloth Robot Kit

Today we will have a look at a robot kit created by SunFounder. The Sloth is a bi-pedal robot based on the Arduino Nano. It utilises an ultrasonic module for obstacle detection and four servos for movement.

I found the kit to be an easy and fun build that took approximately an hour to complete. SunFounder have uploaded a YouTube video that serves as detailed introductions and assembly tutorial for the robot. It covers the entire assembly process, including the process to test the ultrasonic module as well as all the servos (before assembly), which is a good thing as one of the servos included with my kit turned out to be broken, but luckily I had a replacement servo on hand.

One thing to note is that the robot utilises two 18650 batteries, which after some research turned out to be commonly used in high-end flashlights and e-cigarettes, and are relatively pricey.

The robot can also be powered through the mini USB port on the Arduino (which I did while I waited for the batteries I had ordered to be delivered).

The code for the robot can be downloaded from here on the SunFounder website. Just note that the default code did not work for me as the ultrasound module did not detect obstacles. I rectified this by replacing the following code:

void loop()
{
 	int <span class="mceItemHidden" data-mce-bogus="1"><span class="hiddenSpellError" pre="int " data-mce-bogus="1">tooclose</span></span> = 0; // Define the test times, the initial value is 0
 	for(int a=0; a&lt;5; a++)  //for is a cyclical function and its cyclic times are determined by the second condition in the bracket. Here a&lt;5, a’s initial value is 0. When a&lt;5, run the program in the bracket. After running, a becomes a++ and it means adding 1 to a’s value.
	{
		delay(50); // Delay 50ms
		int din = sonar.ping_in(); // Call the ultrasonic transducer to read the distance that ultrasonic detected.
		if (din &lt; 7 &amp;&amp; din &gt; 0) tooclose++; // The smoothing. The times add 1 when the detect distance less than 7cm and greater than 0cm.
	}

With this:

void loop()
{
	int <span class="mceItemHidden" data-mce-bogus="1"><span class="hiddenSpellError" pre="int " data-mce-bogus="1">tooclose</span></span> = 0; // Define the test times, the initial value is 0
	for(int a=0; a&lt;5; a++)  //for is a cyclical function and its cyclic times are determined by the second condition in the bracket. Here a&lt;5, a’s initial value is 0. When a&lt;5, run the program in the bracket. After running, a becomes a++ and it means adding 1 to a’s value.
	{
		delay(50); // Delay 50ms
		int din = sonar.ping(); // Call the ultrasonic transducer to read the distance that ultrasonic detected.
		if (din &lt; 750 &amp;&amp; din &gt; 0) tooclose++;
	}

I really enjoyed assembling and playing with this little robot and would definitely recommend it to anyone interested in getting started in basic robotics.

SunFounder DIY 4-DOF Sloth Robot Kit

Dev Day 2016

veqjhvgb_400x400

On the Tuesday 27 September 2016 the first Dev Day occurred in Johannesburg South Africa. Dev Day is best described on their twitter page as “A community-owned and driven gathering of technologists, investors, hobbyists, engineers, artists, students and anyone with a strong sense of curiosity”. And I was invited to showcase some of the robots I have been working on. The event was extremely well organised with various people and Maker groups showcasing what they were working on as well as numerous speakers including Uncle Bob (Robert C. Martin). I really enjoyed the event and the experience of showing some of my work and the feedback and questions I received were amazing. It really was a great experience getting to talk and interact with similarly minded people. Many thanks to the organisers for a great event, hopefully one of many to come.

Here are some photos of my stand and the event.

Dev Day 2016

Book Review – Build Your Own Humanoid Robots

Book Cover

The first thing to note is that this book does not cover any Arduino-based robots. All the robots are based on PIC micro-controllers. Also note that this book goes into very low-level detail, even covering the fabrication of your own Printed Circuit Boards.

But even considering the above-mentioned I found this book extremely useful, not because of the electronic sections, but because of the mechanical build sections. 

The book shows exactly what raw materials to buy, what tools you will require and how to assemble the robots chassis and mechanical parts. And all these can easily be incorporated into an Arduino-based robot.

All six projects in the book can also be made to work with an Arduino without too much difficulty, all it will require is a bit of creativity and understanding of Arduino. 

For someone interested in Arduino based robots this book might not be the complete package, but the mechanical sections are some of the best I have ever seen in a book. If you are however interested in PIC-based robotics this book is a must buy.

Book Review – Build Your Own Humanoid Robots

Pololu Zumo 32U4 Robot

zumo32u4

In a previous post I looked at the Pololu Robot shield for Arduino, which was a robot shield on top of which a Arduino UNO R3 plugged into to form a great little autonomous robot.

Today we will be looking at the Pololu Zumo 32U4 Robot, a robot similar in size to the Zumo Robot shield for Arduino, but with quite a few changes. Firstly it no longer requires a separate Arduino board as it has an Arduino compatible micro-controller directly integrated into its main-board. It also has a LCD screen and IR proximity sensors which the previously mentioned robot did not have.

The Zumo Robot shield for Arduino came with 75:1 HP motors which produce average speed and torque. In the new Zumo I am installing 100:1 HP motors which are slower that the 75:1 HP motors but produce a lot more torque (which will be great for pushing in Robot Sumo matches).

Similarly to the Zumo Robot shield for Arduino the robot also has an expansion area that can be used to connect additional sensors and actuators. As with the Zumo Robot shield for Arduino various different operating source code can be downloaded from Pololu website, that changes the robot into anything from a sumo fighter to a line follower or even an auto-balancing robot, to name a few.

I bought the Zumo 32U4 Robot kit, which required assembly (unlike the Zumo Robot shield for Arduino that only required an Arduino to be plugged in). 

Here is a time Lapse of the robots assembly. 

I really like the Pololu Zumo series of robots and find them reliable, easy to develop for and a great deal of fun. There are various options available, from fully assembled to kit form depending what you are interested in.

zumos

And now that I have two, I can finally have some Robot Sumo fights, so expect some videos of that soon.

Pololu Zumo 32U4 Robot

IoT

I am starting an IoT project and wanted to share a little bit.  IoT or the Internet of Things is defined on Wikipedia as “the network of physical objects—devices, vehicles, buildings and other items embedded with electronics, software, sensors and network connectivity—that enables these objects to collect and exchange data. The Internet of Things allows objects to be sensed and controlled remotely across existing network infrastructure, creating opportunities for more direct integration of the physical world into computer-based systems, and resulting in improved efficiency, accuracy and economic benefit;”.  

To learn more I would recommend the book The Internet of Things Do-It-Yourself at Home Projects for Arduino, Raspberry Pi, and BeagleBone Black by Donald Norris. It provides an in-depth technical overview of concepts as well as some projects that can be built. The projects in the book are not particularly exciting but they do a good job at illustrating concepts and methods utilised.

Book

So I am going to be using a Raspberry Pi2 running Windows 10 IoT core, which will be communicating with some Arduino boards.

I am also looking at integrating with Azure Machine Learning to do some interesting things. 

I have not decided on many elements of the final project, but it will involve a robot.

rasp

On a side note, do not try to deploy Windows 10 IoT Core on a SD card using a Mac, it is a huge pain. My main computer I use at home (and for most of my development, blogging, video editing, etc.) is a MacBook Pro and in the end I gave up trying to get the deploy working and used my windows laptop which worked almost instantaneously.

Once I have decided exactly what I want to achieve and made some progress I will post more on this topic.

IoT