$product_tour_enabled = et_builder_is_product_tour_enabled(); $page_container_style = $product_tour_enabled ? ' style="padding-top: 0px;"' : ''; ?>
The GoGoBot microcontroller, robotics and modern electronics training platform

The GoGoBot microcontroller, robotics and modern electronics training platform

The GoGo Bot Logo

Are you up for some robotics, microcontroller coding and modern electronics education!

With this GoGoBot training platform, you are going to learn some cool new stuff!! This is where you are going to get a very good grounding in the exciting field of ROBOTICS!

Are you an electronics hobbyist? Do you like amusing gadgets? Or are you a designer or an artist? Are you perhaps a young guy or girl who just cannot figure out what sort of job you can take on that will make you successful in life? Or are you a concerned parent who wants your child to get direction in life? Well; if you fit into any one of these categories then the GoGoBot is definitely for you. Period!

The GoGoBot is fun to have but it is also extremely IMPORTANT to have because the world is changing. The world in the very near future is not going to be the same world it is today. It is going to be very different.

If robotics is something you would love to do, the future is going to be super great for you and the GoGoBot will become your best friend

In this future; most jobs (waiters, cashiers, producers of food etc.) will be done by robots. We are not talking about centuries or decades. No. We are talking about a few years.

Robots will be able to do jobs much better than humans. CEO’s and Managers of big companies will be employing robots instead of humans.

Why will they do that? Why will they rather employ robots than humans? Well; there are lots of reasons:

  • Robots will never be late for work. They never go home because they stay on the working premises.
  • Robots do not need breaks. They do not have to drink tea or eat lunch. They do not have to go to the toilet and they do not get tired.
  • Robots do not complain about anything. They do not complain about the weather being hot or cold. They do not care about the size of their salary. They just do their work.
  • Robots do not steal and they are not dishonest.
  • Robots do not call in sick.
  • Robots have no excuses for not getting the job done. They simply do what they are supposed to do.
  • Robots do not get to work drunk or high. They do not abuse alcohol or drugs.
  • Robots work much faster than humans. They can do a lot more work than humans can.

The point we are trying to make is simply this: In this fast-changing world some people will struggle and some will get left behind. But on the other hand some people will thrive and do very well.

Who are the people who will thrive in this future? The answer is easy. The people who know Robotics will thrive. You will be VERY successful in this future if you can teach Robotics; if you can fix Robots; if you can build Robots and if you can program Robots.

So; what does the GoGoBot have to do with all of this? Well; with this training platform you will learn the basic fundamentals of Robotics in a fun and easy way. This is a small robot, but the concepts and coding principles you will learn here is the same you would use on a big robot.


The GoGoBot is small and affordable, but what you learn here will be applicable to a tremendous amount of huge Robotics projects.

This product has an important role to play in not only the future of YOU, but also the future of your children and your children’s children.

The GoGoBot is an investment in your future.

 You will have everything you need to get going, including FREE training.

 Below is a summarised list of what you will be getting with the GoGoBot robot kit! You will be building stuff, programming stuff and do all those things you need to be an inventor and robot programmer.

 The robot is packed with future and includes Bluetooth support, all kinds of sensors like distance sensing, day/night sensing and line follower sensors. Even an InfraRed receiver with remote control.

 The app is great too, it will give you hours of fun before you even start. Currently only available for Android.

 Then there are all kinds of electronic components that you will learn to use and program like a potentiometer, pushbutton. motors, motor drivers and much more.


Dissecting the Arduino Uno


We did not talk about the “brain” of the GoGoBot yet. The brain is the very popular and robust Arduino Uno. Well documented and often used by developers and inventors.

 But that is not where it stops. We will be making all kinds of addons available that will be very cost-effective to add to your robot like Wifi cameras and GSM support if you so wish.

 Sensors and components on the boards (see list below for plug-in sensors and modules):
2 x motor driver IC’s (L9110S)
1 x IR receiver (HS0038B)
4 x line tracking sensors (TCRT5000)
1 x ADC extender IC (ADS1015)
1 x potentiometer (10k)
1 x LDR (light sensor)
1 x push button
5 x multicolour addressable LED’s (WS2812B)
1 x 5V Buck-boost power management IC (TPS61022)
1 x Lithium charging management IC(TP4056)

 top layer

 Included in the kit
1 x Arduino Uno
1 x 20cm USB cable
1 x Bluetooth BLE transceiver module
1 x lower layer PCB
1 x higher layer PCB
1 x pack screws, nuts and headers.
2 x metal geared motors
2 x motor holders
2 x rubber wheels
1 x front roller wheel
1 x ultrasonic sensor (HC-SR04)
1 x OLED screen(0.96″)
1 x 1850 rechargeable Lithium battery (2200mAh)
1 x IR remote controller

 On the website:

  • Online training
  • Documentation
  • Android mobile app


The SEEED Wio Terminal is a beast in a beautiful package.

The SEEED Wio Terminal is a beast in a beautiful package.

 Once you have the Arduino all figured out it is time to set your sights on the Internet OThings, machine learning and AI.  To start off quickly and easily use the WioTerminal as an IoT central station, you can fully automate your house or business and use all kinds of wireless technologies to control the “things” at home (or at work if you so wish) from anywhere in the world. It works perfectly with the Arduino IDE and you will feel “at home” if you used the Arduino programming environment in the past.

This Seeed Wio Terminal, although super easy to program and use, it is not recommended for beginners. Rather start with an Arduino starter kit to learn the basics first.

wio terminal center

The WIO terminal will quickly become your central IOT station from where you can hook up many devices and sensors (directly or wirelessly), all controlled from this great looking and powerful WIO terminal. While talking about cosmetics, the screen is nice and big with a navigation joystick so you can scroll through many menus you created or display sensor values that can easily be seen from a distance. 


When you go IoT, Edge computing or Artificial Intelligence you need much more processing power, lots more memory and definitely WiFi and Bluetooth. You need storage of your data on the cloud or on SD card and quite a few things that you will not find on basic development boards. This WIO terminal has it all and much more.


Technical Specifications


Main Chip

Manufacturer Part Number


Core Processor

ARM® Cortex®-M4F

Maximum Speed


External Flash


Operating Temperature

-40°C ~ 85°C (TA)

LCD Screen



Display Size


Drive IC


Wireless Connectivity

Manufacturer Part Number



ARM® Cortex®-M4F @ 200MHz


ARM® Cortex®-M0


802.11 a/b/g/n 1×1, 2.4GHz & 5GHz


Support BLE5.0

Built-in Modules




1.0V-10V -42dB


≥78dB @10cm 4000Hz

Light Sensor


Infrared Emitter



MicroSD Card Slot

Maximum 16GB


40-PIN (Raspberry Pi Compatible)


2 (Multifunction)



USB Type-C

Power & USB-OTG

Operation Interface

5-Way Switch

Power/Reset Switch

User-defined button *3






This unit is powered by the ATSAMD51 microcontroller with ARM Cortex-M4F core running at 120MHz! Best of all, you can program it with the Arduino IDE or MicroPhython if you wish. It is even compatible with Raspberry Pi, at the back is a full set of headers that allows you to use this device as a Pi Hat. Lots of tutorials are also available for ArduPi and Visual basic programming for the Seeed Wio Terminal. 

Use this device as an IOT device or for edge computing as to name only a few applications. Game programming is at your fingertips too and with the accelerometer, you can do quite a few very cool game-like programs. It can run as a USB host or client and you can use your USB devices like that favourite game controller with ease with this terminal. Great for games but also for many other things like using a mouse to navigate menus.

The one thing about the SEEED product range that always impresses me is their detailed product documentation. This product is not any different, it comes with many projects and a full course on how to use the WIO terminal. Simply head over to their Wiki page for stacks of information, examples, libraries and projects. Lots of projects are also available on hackster.io like this HQTT project for home automation.

It supports both Bluetooth and Wi-Fi providing the backbone for IoT projects. The Wio Terminal itself is equipped with a:

  • 2.4” LCD Screen
  • onboard IMU(LIS3DHTR)
  • Microphone
  • Buzzer
  • microSD card slot
  • Light sensor
  • Infrared Emitter(IR 940nm)
  • Two multifunctional Grove ports
  • 40 Raspberry pi compatible pin GPIO for more add-ons.

Being a SEEED product it supports the full range of SEEED Groove boards. Of cause you are not locked into using these amazing boards, at the back is 40 GPIO pins you can use to plugin other sensors and modules. What is very cleverly done is that the IO ports also fits perfectly on a Raspberry Pi so you can use the WIO terminal as a PI Hat.


wio terminal pinout

In Conclusion.

There is just too much this unit can do to cover in this block post. Best is to go to the Seeed studio wiki page. But be prepared, you will have more data at your fingertips that will take more than an evening to go through. The free course will probably take you a couple of days to complete but again, as expected from SEEED, you will fly through even the difficult sections with ease. They have the tendency to create hardware that just works without hours of fault-finding and frustration.

The game-changer Arduino training kit for beginners








You will learn Arduino and robotics in an easy, fast, fun and cost-effective way. This kit will keep you focused, entertained & interested from beginning to end.  All you need is this kit and go through the free course that takes you step by step through the basics and many advanced topics too. This is a SEEED Studio product, they are well known for innovation and high quality.

Ideal for young and old. Your kids will love this just as much as electronic hobbyists and those with an inventor or creator spirit.

Super easy and fun

Learn effortlessly in a step by step way with everything you need in the kit. No need to buy anything else.




Everything works the first time. Although all the sensors and modules can be separated and wired the way you like, this kit comes as a single learning platform with everything connected together already. You can just start!

Fast learning

 No need to mess around with wrong or loose connections. No need for you to find other data or electronic components. You are fully backed and supported

Free, yet powerful, course included

No need for you to try and find material all over the web. It is all there for you in one place. Also available as a downloadable PDF when you want to study offline.

Perfect for schools STEM education, hobbyists and inventors

No matter what your goal is for learning Arduino, this kit is where you start. Due to the innovations of this kit many advanced topics are also covered.

Cost effective

 Getting trained in Arduino does not need to cost a lot of money. We do not know of any other beginner kit at this price that can offer you what this kit does.

 Kin from Botshop  “I am teaching Arduino workshops for many years and this is my recommendation for anybody that wants to learn Arduino from home or even a classroom setup. What “trips” most students and make components go “poof” is the wiring. Of course putting wires the wrong way around or in wrong places will break things or as a minimum have your project not working the way it should if at all. But the most sneaky and frustrating problem is loose connections, it’s difficult to find such problems. You can spend hours trying to figure out what went wrong just to find a wire is not making contact. This kit is the answer to anybody that wants to learn fast and effectively.

When you get your Arduino kit everything is connected together already as a training platform. The innovative part is that the kit can be broken loose into different components and modules too and you can wire them up if you want! This is a high-quality kit with everything just working out of the box and once you completed the free yet top-notch training that comes with it you can take it apart and tinker around to your heart’s delight”




The Grove Beginner Kit for Arduino is an all-in-one kit, no breadboard, no soldering, even no wiring is needed. All those muss and fuss, aiming to give you the best experience, you only need to focus on coding and Arduino Learning.

This is game-changing for classrooms and self-education, where most of the time goes to fixing loose or incorrect wiring. It is a perfect solution for STEM education, it is cost-effective, easy to use, frustration-free and offers a wealth of training in record time. With this kit, even advanced topics are covered that would have been very difficult to master in any other way.


Seed Studio is well known for its extensive documentation on their products.

Visit the Wiki page here for their online courses, projects and much more.

They also have this great PDF to get you going.

There is a lot included in this kit. Not just a lot of stuff to give you lots to play with but also to cover a huge amount of concepts and robotic topics.

Included in Kit:

  • Grove Beginner Kit For Arduino Board x 1
  • Micro USB Cable x 1
  • Grove Cables x 6

 Included onboard:

  • Grove – LED x 1
  • Grove – Buzzer x 1
  • Grove – OLED Display 0.96″ x 1
  • Grove – Button x 1
  • Grove – Rotary Potentiometer x 1
  • Grove – Light Senor x 1
  • Grove – Sound Sensor x 1
  • Grove – Temperature & Humidity Sensor x 1
  • Grove – Air Pressure Sensor x 1
  • Grove – 3-Axis Accelerator x 1
  • Seeeduino Lotus x 1

How to: Solar charger module / step-up step-down module

How to: Solar charger module / step-up step-down module

solar charger module

Buck-Boost power modules have much application, from solar power to driving LED’s at a constant current.

It has lots of functions but number one is to supply a preset voltage, no matter if the voltage received is higher or lower than the supplied voltage.

If you set the voltage, as an example to 12V, it will keep the voltage constant even if it receives more or less than 12 V. It thus boosts voltage that is under the set voltage and decreases the voltage if it is above the set voltage.

You can, as an example, connect this unit directly to a 12V water pump, set the voltage to 12V and it will constantly drive this pump at that voltage. Even if the solar panel output voltage falls below the 12V or go higher than 12V.

buck boost power module

How to use this solar charger module. Written by Stepan Vosloo.

I recently got the chance to use the Solar charger module / step-up step-down power module. The heart of this module is the LT 3780EG IC from Linear Technologies, so, there is a lot of technical info about this module, to say the least.

I will spare you all the reading, and get straight to the point with this module. What is a Buck converter? Well, it can step down your voltage, eg. 12VDC to 4.20VDC (For those Li-ion batteries) What is a boost converter? Well, it can step up your voltage, eg. 7VDC to 12VDC. This module does both, from 1VDC to 30VDC (mine was 29.92VDC), I tested with a 13.87VDC 12A fully regulated power supply. At first, I didn’t expect too much of this little module, to give you an idea of how small it is, here a few pictures. The standoffs are not included.

If you look at the top picture, the pots are as follows:

Left-hand side potentiometer is used to adjust the Under Voltage Protection (VV) function. What does this mean? The device can monitor a DC-DC output voltage, and disconnect the power source from the DC-DC input load when an overvoltage condition occurs. A power-OK (Green) output signals when the DC-DC input voltage falls below an adjustable threshold. It is mostly used for solar charging.

The middle pot is Constant Current (CC), what does this mean? A constant current does not change its intensity over time, so it will stay constantly the same.

The right-hand side pot is Voltage Output (VOUT), what does mean? This is the pot that changes your output voltage from 1V to 30V……I got mine down to 0.8V. If you are not familiar with the Multiturn Trimpot Resistor, aka trim pot, get yourself a precision screwdriver that fits just perfect, I’ve had a few mishaps with thinking the screwdriver fits right, well, it doesn’t end well for your pocket or your voltage controller……  

How much power can it handle, and how efficient is it, you ask?

Well, I powered a 5W LED light from a single 3.7V Li-ion battery, without it even breaking a sweat…. I actually nearly blew it, because I pushed the voltage to just over 15V, but decided to bring it down after my son complained that the light was too bright Next up, was my 8W USB soldering iron…. according to the datasheets of these USB soldering irons, it requires just 1A at 5V, I normally use a 2A cell phone charger for this….it just works better, it heats up faster. Speaking of heating up faster, 15 seconds they claim for the USB soldering iron to be hot (450°C), with the LTC3780, you can expect reduced time to around 5-8 seconds! Yes, I kid you not. Soldering was more responsive, and quicker…..it heated up faster, when I soldered something with some weight like 24 AWG wires, not 1 or 2, about 10. I got bored pretty quickly though, as I kept the best for last  

Pushing its limits.

My TEC1-12708 12V 72W cold plate. Now, if you are not familiar with TEC units, they draw an immense amount of power. This particular bad boy draws a whopping 8.5A @ 12V, but on average it draws 6-8A, if you keep the voltage below the maximum threshold, which is 15.4V. I DO NOT RECOMMEND YOU USE IT AT THESE VOLTAGES! I have 4, so I am willing to put 1 at risk for testing purposes. I hooked it up to my W1209 thermostat, connected to a TEC cooler box, I needed to cool down a beer ASAP, just kidding, am I? anyway, temps came down to 2 °C, this was 15H00 in the afternoon. The LTC3780 had a little bit of trouble pushing a 72W TEC at 12V, the heatsinks actually heated up, now from what I understand, they almost never heat up. I have to add, I deliberately used a 3A 12V regulated DC PSU for this, I wanted to see the LTC3780 was capable of doing.

It really surprised me, and already have a few ideas in mind for an adjustable bench PSU. Sweet spot for efficiency is 98% at 12V @ 5A. All in all, well worth your money, most definitely. I use it for just about everything now.  

Reset the pots.

All pots can be reset to default by turning them anti-clockwise, for about 15 turns, the unit doesn’t need to be on, same for output voltage…. can be done without the unit being on. Do not get a fright when the FAULT LED is on when you switch on the unit, just adjust the pot clockwise, until the OK LED (Green) comes on…. this you will need to do whenever you change the input voltage.


What else can I say, go and buy one! Now….it will replace all your LM2956, XL4015 , PWM’s etc…. this module is really an all in one wonder, I LOVE IT.

DIY light intensity meter (lux meter) project

DIY light intensity meter (lux meter) project

DIY light intensity meter (lux meter) project

This projects will show you how to create a lux meter. Lux is defined as 1 lumen per square meter.  This unit can be used from measuring the human visible light for photographers, distance grow lights should be from plants, the amount of sun on plants, instances where you want to see how much light reaches an area, measure light from LED’s, placing of lights to get a uniform covered area and much more.

Please note: All components with the perspex case can be bought from our website here.

Battery operated
This DIY Lux meter kit is battery operated for mobility. This unit thus needs to be power efficient. To help with this, this unit has a power button you need to hold to power on the device and take readings. Once the power button is released, power is cut and your battery will not be drained while no readings are taken. Of cause, you can change the circuit slightly and program the button to do anything like automatically switching off after 3 minutes etc. We found the current setup to work the best, from the time you press the button it will take the microcontroller to start up and take the first reading 1/2 a second.

DIY light intensity meter (lux meter) project

The modules we used.
The circuit in itself is very easy to build and require only 3 modules:

  1. Our Arduino skeleton board, it’s cost-effective and only includes the bare minimum as to not have unnecessary components draining the battery. Note, this board is a bare minimum board and does not include the serial USB chip, you will need an FTDI programmer to upload programs or what most guys do it to program the chip with the Arduino Uno. More info here. (if you buy this project in kit format here, the program is already installed on the Arduino skeleton for you)
  2. OLED screen. These little screens have high resolution and only have 4 wires to solder to the Arduino skeleton board. We sell these modules separately here.
  3. The light sensor module that uses the MAX44009 ambient light sensor. This is a great sensor that uses only 0.65μA power and can read intensity levels up to 188,000 LUX. Here is the datasheet for this module, they are also sold separately on our site here.

There is also a 9V battery clip to power your project

Putting it all together

The drawing below shows exactly how all the wires get connected to the microcontroller board.

Lux meter diy project

The program:

As I explained earlier, we do have a kit that also includes the case the project comes in but the Arduino skeleton also has this program loaded already. We include it for the guys that would like to make some changes or tinker with the program.

Before uploading this sketch make sure you have this oled library installed else it will not compile.: U8g2 library

Here is the sketch file: Lux meter sketch

Below is the full sketch:


#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include <Wire.h>

int BH1750address = 0x23;
byte buff[2];

uint16_t LUX = 1;

String ABC = " LUX";

U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0);

void setup()
Serial.print("BH1750 Light");
Serial.print("Intensity Sensor");

void loop()
int i;
LUX = 0;

if (2 == BH1750_Read(BH1750address))
LUX = ((buff[0] << 8) | buff[1]) / 1.2;
Serial.print("Intensity in LUX");
String NumberStr = String(LUX) + ABC;
int DC = (NumberStr.length()) + 1;
char Number[180] = {0};
NumberStr.toCharArray(Number, DC);
u8g2.clearBuffer(); // clear the internal memory
u8g2.setFont(u8g2_font_crox5t_tf); // choose a suitable font at https://github.com/olikraus/u8g2/wiki/fntlistall
u8g2.drawStr(0, 24, Number); // write something to the internal memory
u8g2.sendBuffer(); // transfer internal memory to the display

int BH1750_Read(int address)
int i = 0;
Wire.requestFrom(address, 2);
while (Wire.available())
buff[i] = Wire.read();
return i;

void BH1750_Init(int address)


600W Step-up boost power module

600W Step-up boost power module

600W Step-up boost power module

A step-up or boost module allows you to increase the volts. An example can be a DIY a power supply, the input can be 12V and with this module, the output can be raised to 12-80V adjustable. With this unit, you can adjust both volts and amps.

600W Step-up boost power module spec:
Input voltage: 12V-60V
Input Current: Maximum input current 15A
Output voltage: 12V-80V continuously adjustable
Output Current: Maximum output current 10A
Output Power: P = effective power input voltage V * 10A
Conversion efficiency: Up to 95% (input voltage, current; affect the output voltage, current conversion efficiency)
Short circuit protection: fuse
Installation size: 73 * 51mm

RCWL-0516 microwave radar sensor review

RCWL-0516 microwave radar sensor review

RCWL 0516 radar sensor

Review: RCWL-0516 microwave radar sensor

I was made aware of this super cool radar movement detector a couple of months back from a guy that uses them as an alternative to light switches. With a light sensor and a simple delay, these sensors can control the switching of light when detecting movement. BUT that is not the most impressive feature of this sensor – because it is radar it can be placed behind all kinds of material like wood and ceiling boards and it will still work perfectly in detecting movement.

Just imagine, the unit is inside your roof and out of sight (the radar waves goes through the ceiling board without any problem). With a little bit of modification, you can hook it up to your alarm system as well. Now you not just have light control but also a super motion sensor for your alarm system that will detect intrusion in a room as well inside the ceiling of your roof!

These rcwl 0516 modules are really cheap, we have them available here.

I really like these units, you can connect them to a microcontroller digital pin or let them work all on their own. Yes, there are enough amps to drive an LED and/or a buzzer, adding a relay board (with a transistor to switch a relay) you can switch all kinds of equipment when movement is detected. Introducing a timer IC like a 555 will add delays to it.

Of cause, the jackpot will be a microcontroller like an Arduino (probably a bit of an overkill), even an Arduino Skeleton board might be an overkill but they are much smaller and cost less than half the price of an Uno.

It is a very easy unit to work with:

  • It’s got 2 power pins that you can supply anything from5V DC to 20V DC.
  • Then it got a TTL (signal pin) that is 0V if no changes are the environment is detected and 3.3V when changes are detected. If you are going to use a microcontroller you simply connect this pin to a digital input pin to monitor if the signal goes high and then programmatically do something if it does. The 3.3V signal is big enough to make an Arduino 5V pin go high as well. (You do not even need a microcontroller, there is enough power from the Sonar signal pin to drive a buzzer and LED)
  • It got a dedicated 3.3V Out pin to drive some other boards
  • A pdw pin. If you solder an LDR (light sensor) on the board you will get the output from the LDR on this pin. I have not tried it but you should be able to connect a resistor between the LDR pin TTL pin to keep the signal pin at 0V while there is daylight, making light control much easier.

The technology

The principle behind this sensor is simple, yet effective. It will send out RF signals in all directions and build up an electronic “picture” of the area from the signals that bounce back. This will continue happening until the “picture” changes that mean the signals bounce back differently. These changes happen because some object reflects it differently because it moved or entered the area. At this point, it will make the TTL line goes high and this new “picture” will now be stored. More movement and this new picture will be different and the same thing will happen.

Radar is used to detect metal and water. It will thus detect anything, like human bodies, that contain water. It will not detect movement of curtains for example, but don’t think it will not detect a human being that hides behind a curtain – it will.

This video below answers many questions on the tech itself:

RCWL-0516 pinouts

Pin Function
3V3 3.3V regulated output. Max 100mA (?)
GND Ground
OUT Trigger: high (3.3V) if motion detected. 0V normally.
VIN 4 – 28V supply voltage
CDS (light sensor related.. TODO)

RCWL-0516 sensor Application

This unit has much application in the security industry.

  • it works on true motion, not heat, in fact, heat lights and so on have no effect on the sensor
  • In my opinion the most important future, it can be used behind doors, boxes and so on. It can be hidden in cupboards and many places where it can not be seen to tamper with, including in the ceiling of your house.
  • it is omnidirectional so it gets the signals back in front and behind the sensor. It thus detects 5 meters in front and behind the sensor. Having this sensor on your ceiling will not just detect movement in the room but also the roof that is a favourite entry point for burglars.

Other applications coming to mind:

  • With the use of a day-night sensor and a timing circuit to keep the lights on, say for 10 minutes, after no movement is detected you can kiss your light switches goodbye. It will switch your lights on when you enter the room and off when no one is in the room – no worries about forgetting to switch lights off anymore.
  • Toys that do something cool when movement is detected.
  • Advertising displays that do something striking when somebody is near them.

Well, you are limited only by your imagination if you want “something” to happen when a person or anything else is moving.

These RCWL-0516 microwave radar sensor modules are available here

Diet Duino, Arduino low energy consumption for battery powered projects

Diet Duino, Arduino low energy consumption for battery powered projects

skeleton duino

To run an Arduino on battery power requires 2 things:

  1. First, you need to sort out the hardware because even if you put your Arduino to sleep (we will look at that soon) it is only the Atmel chip that will sleep, the rest of the components like power led, regulators and so on will still be very much alive
  2. Next, you can programmatically put the Arduino into different kinds of sleep modes that will drop the power consumption to μA’s

First sort the hardware power consumption.

When you want to use a battery source like a coin cell, the Uno is not an option it consumes on average 48mA without sensors and so on connected to it. Even a 9V will not last a day.

Our skeleton Duino performs much better at about 30mA and is already much better at about 40% energy saving compared to the Uno but there is more we can do…..

We created the Diet Duino to bring this down even lower to 16mA, that is about a 1/3 of the consumption of an Arduino Uno.

skeleton duino working

You can get the Diet Duino here: Diet Duino

We accomplish this by removing the power led (still a led on pin 13 if you want to see a power led – but make it blink slowly on the off and very quick on the on cycle so it uses as little power as possible) and most importantly, we use a rather expensive imported voltage regulator that is VERY energy efficient.

A rule of thumb: The nearer your battery voltage are to the 3.3V regulator voltage the fewer uAmps it will consume.

Now let the Atmega chip go to sleep wherever possible.

When be put the Diet Duino into sleep mode it is too low to measure, We can measure up to around 20 μA but looking at the only thing that consumes power – the voltage regulator we look at about 4uA.

Some perspective on sleep mode.

When you put an Arduino in sleep mode it does not take long for it to go to sleep or to wake up, it happens in milliseconds. This means that you can already replace all your normal Delay calls in your Arduino with “real sleep” commands with a very cool Arduino library that you can find here: Low-Power library from Rocketscream

It is very easy to use and you will find lots of information from the link above. The statement LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); puts the MCU in SLEEP_MODE_PWR_DOWN for 16 ms to 8 s, depending on the first argument. It disables the ADC and the BOD. Power-down sleep means that all chip functions are disabled till the next interrupt. Further, the external oscillator is stopped.  Only the level interrupts on INT1 and INT2, pin change interrupts, TWI/I2C address match, or the WDT, if enabled, can wake the MCU up. So with the single statement, you will minimize energy consumption to 3 uA. If you read the library documentation you will find lots of other settings to use.

To give you an example: If you measure temperature once ever 1 minute, the measurement takes maybe 1 second, that means your Arduino can sleep for 56 seconds.

In conclusion, with the Diet Duino and some basic programming, you can get over a year on one coin cell.

The Diet Duino is available here: Diet Duino low energy




How to use a PH probe and sensor

How to use a PH probe and sensor

If you worked with PH metering before you will know that PH values range from 0-14. Where PH 0 Will be very acidic, PH 7 will be neutral and PH 14 very alkaline. Water is near a PH 7 and this is usually around here that we will need to monitor PH of many things. A swimming pool, for example, should be slightly alkaline at 7.2, hydroponics systems around 6 (for optimum plant nutrition takeup) and aquaponics around 6.8.

I wrote this PH probe and sensor “how to” because it is not as straightforward as one would think (but quite easy when you understand the ins and outs) mostly because there is not a lot of information on this on the Internet, surely not detailed information.

We will first look at the ph probe module board and then the PH probe because both the PH probe and sensor have to be set correctly:

  • offset setting
  • limit setting
  • sketch to test the board analogue range
  • sketch for PH reading and calibration.
  • calibration of PH probe
  • PH probe usage

The ph probe module in this tutorial is available on our site here: PH probe module BNC connector

ph probe sensor module

PH Probe Sensor Pinout
TO – Temperature output
DO – 3.3V Output (from ph limit pot)
PO – PH analog output ==> Arduino A0
Gnd – Gnd for PH probe (can come from Arduino GND pin) ==> Arduino GND
Gnd  – Gnd for board (can also come from Arduino GND pin) ==> Arduino GND
VCC – 5V DC (can come from Arduino 5V pin) ==> Arduino 5V pin
POT 1 – Analog reading offset (Nearest to BNC connector)
POT 2 – PH limit setting

PH probe module Offset and how to use it.

This board have the ability to supply a voltage output to the analogue board that will represent a PH value just like any other sensor that will connect to an analog pin. Ideally, we want a PH 0 represent 0v and a PH of 14 to represent 5V.

BUT there is a catch……, this board by default have PH 7 set to 0V (or near it, it differs from one PH probe to another, that is why we have to calibrate the probe as you will see later on), This means that the voltage will go into the minuses when reading acidic PH values and that cannot be read by the analog Arduino port. The offset pot is used to change this so that a PH 7 will read the expected 2.5V to the Arduino analog pin, the analog pin can read voltages between 0V and 5V hence the 2.5V that is halfway between 0V and 5V as a PH 7 is halfway between PH 0 and PH 14,

You will need to turn the offset potentiometer to get the right offset, The offset pot is the blue pot nearest to the BNC connector.

To set the offset is easy. First, you need to disconnect the probe from the circuit and short-circuit the inside of the BNC connector with the outside to simulate a neutral PH (PH7). I took a piece of wire, strip both sides, wrap the one side around the outside of the BNC connector and push the other side into the BNC hole. This short-circuit represents about a neutral PH reading of 7.

ph probe and sensor

ph sensor arduino connection

There are two ways you can do the adjustment.

If you have a multimeter handy you can measure the value of the PO pin and adjust the offset potentiometer until  PO measures 2.5V.

I prefer to just use the sketch below. Just download it to your Arduino as you will with any other sketch, open serial monitor and view the reading there. All this sketch does is to print the volts it receives from the analog pin and print it to the serial monitor. It of course first changes the digital value to volts to make it easier. Now simply turn the offset pot until it is exactly 2.5V. You can learn more about reading voltages and digital representation of volts here: https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage

Offset sketch

void setup() {
 // initialize serial communication at 9600 bits per second:

// the loop routine runs over and over showing the voltage on A0
void loop() {
 // read the input on analog pin 0:
 int sensorValue = analogRead(A0);
 // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
 float voltage = sensorValue * (5.0 / 1023.0);
 // print out the value you read:

PH limit setting

There is another pot that acts like a limit switch. Basically, the D0 pin on the sensor board will supply 3.3V to the pin until a preset PH value (that you set with the limit pot) is reached, at this point a red LED will light up and the pin will go down to about 0V.  I did not play with this much but suppose it can be handy if you want to activate a buzzer or something if a certain PH is reached, it will work great on an Arduino digital port – that will go high from about 2V up. This will work if the PH value goes higher than the set value. If you want it to trigger something when the PH goes lower, you need to monitor the digital pin to trigger when the digital pin goes low. You will unfortunately not be able to set this limit between two values, either if the pH goes up to high or if the PH drop to low. Programmatically you of cause can do an upper and lower limit.

Connecting and calibrating the PH probe.

The hard part is over and this offset does not have to be set again, even if you change PH probes. We have PH probes available here: PH probe Electrode BNC connector

Here is a couple of things to know about PH probes:

  1. The probes readings change over time and need to be calibrated every now and again to make sure the value is still the same and be adjusted if it did change.
  2. You need at least one PH buffer solution to calibration your PH probe. They are available at many different PH values, A buffer solution of 6.86 and 4.01 is most common as it covers the range of most applications. If you are only going to use one buffer solution make sure its value is near the value range you will use in your normal tests – if it is pool water a buffer solution of 6.86 is usually near enough.
  3. Buffers come in pre-made solutions or as a powder. I prefer the powder because it is cheaper and does not have an expiration date. The powder is easy to make up as well, I suppose it depends on the power you will use, the one I use you add the powder to 250ml distilled water and stir until all powder is dissolved. It will last about a month once you added water to it.
    buffer solution powder
  4. A PH probe takes some time to get to the right value, allow it to be in the liquid you want to measure for at least two minutes or longer, it does not mean it will be stable at one ph value, it will jump around a bit between 3 or 4 values but on the last digit, for example,  between 6.84 – 6.88
  5. PH values differ in different temperatures, although that might sound cumbersome, in the temperature range between 10 – 30 degrees Celcius the PH does not differ and from 30 degrees Celcius it goes up with about a pH of 0.01 to 50 degrees Celcius that is about 0.06. In most uses, it will be below 30 degrees Celcius and temperature do not have to be calculated in.

Hook up your PH probe after you removed the wire you used to short-circuit the BNC connector and download the sketch below.

PH measurement sketch

float calibration = 0.00; //change this value to calibrate
const int analogInPin = A0; 
int sensorValue = 0; 
unsigned long int avgValue; 
float b;
int buf[10],temp;
void setup() {
void loop() {
 for(int i=0;i<10;i++) 
 for(int i=0;i<9;i++)
 for(int j=i+1;j<10;j++)
 for(int i=2;i<8;i++)
 float pHVol=(float)avgValue*5.0/1024/6;
 float phValue = -5.70 * pHVol + calibration;
 Serial.print("sensor = ");

A note on buffer solutions: do not CROSS CONTAMINATE! What I mean by this is to not take the probe from one buffer solution to another or from a liquid sample you tested to a buffer solution without rinsing it thoroughly with distilled water first. You will change your buffer solutions ph and your calibration will be off.

When you place the probe in the first solution you might be surprised at how far off it can be, it’s normal though. Remember to leave the probe in the solution for at least two minutes to stabilise. In the script’s top line you will see a variable called “calibration”.  Change this value to the difference between what you see in serial monitor and the buffer solutions value, for example, if you read 5.81 and the buffer solution is 6.86 you should change the variable’s value to 2.05.

Upload the changed sketch and see how the value looks now.

Some ideas for you.

You can add a potentiometer to your project and program that to change the calibration for you. You always run a risk that the pot might be adjusted my mistake so a button with a 5-second delay can be programmed to put the unit in calibration mode.
This becomes great if you add an LCD screen to it and if you add the calibration value in EEPROM so it holds it even if the PH project is powered off.

How about adding a buzzer to the 3.3V limit output to notify you when the PH is out of range. Usually an upper or lower will be enough, in most applications, you will either be worried about high or low PH values but not both. If this is a problem and you need the PH to be in a certain range you can easily do that programmatically and have the buzzer on a digital pin. If it is crucial you can even add a GSM module to this so you can get an SMS or how about a dosing pump to automatically get the PH back in range.

I just might, but do not hold your breath (so much to do but so little time) :-), do something like that in the future with our cheap Skeleton Duino.

PH probe and sensor conclusion

If you go through these steps once it becomes as easy as pie. All the parts, even those I mention in the ideas section is available on our site.


Types of electronics power modules tutorial

Types of electronics power modules tutorial

power modules tutorial

The different types of electronics power modules tutorial and how to choose the right one for you.

If you click on our power supplies and modules category you will see many different power supplies and modules, there are adjustable ones, buck, boost, step-up, step-down, constant current, low power, high power and the list goes on and on. Hence this power modules tutorial.

The one thing all these different units have in common is that they all manage/change power in one way or another. Usually, they change a high voltage to a lower voltage, most commonly used power supplies also change AC current (from your house plug for example) to DC as required by most electronics. The popular 12V power supplies used on Arduino’s are a good example that changes AC to DC and lowers the 220V Volts to 12V

A power supply is a complete unit with wires inside a case where a power module is just the electronic circuit board.

Raspberry Pi Power Supply LM2596 Adjustable Step Down Power Supply module DC

In the rest of this power modules tutorial, I will refer to power modules but it is the same for power supplies.

The amps a power module can handle are probably the first thing you will look at when getting yourself one.

When developing projects we need more than a mere 12V power supply, we need to supply different power to different parts of a circuit and change it in ways to charge batteries and all kinds of other thigs, hence the big range of power modules.

When working with these modules you will often can a module that is bigger than the required input e.g. 12V for an Arduino Uno although all components require 5V and then from this supply make the voltages less as you go along.

Power usage

Once you decided on the voltage you will require you will need to think about the amps you will need. You need to understand that a voltage is supplied by a power supply and the wrong voltage will destroy your components but the amps it uses are drawn from the supply as needed by the components. Different components need more power than others.  One component might need 12V and 100mA and another 12V but 300mA. Together they will require 400mA.  The formula for power is V x A, thus you will need, in this example 12V x 0.4A thus a minimum of 4.8 Watt of power. Becuase amps are not ” pushed” into the circuit like voltage but “pulled” in as required by the components you can and should use a supply that can provide more than the required amps like a 1A supply. You want the supply to not work at its highest rating as to not put an unnecessary strain on them. An over worked unit will be very hot to the touch, a unit with amps to spare will be slightly warm to the touch.

Step-up, step down, buck and boost.

The word “buck” had me a bit confused when starting with these modules until I figured out it is just another word for step-down. A step-down unit just means you are going to make the volts less. This is done with a voltage regulator IC.

Boost is another word for step-up, this means you are going to make the supplied voltage more. This is done with devices called inductors.

To further explain these modules I will discuss a couple that is often used, why you will use them and shortly how to use them. As we explore some of these modules you will also learn about adjustable and constant current modules.

Adjustable 3A Ultra small power module

The most basic buck module, its small, can handle quite a big amount of current and its voltage can be adjusted.Adjustable 3A Ultra small power module

Way to the top right-hand side in the picture you can see the holes where you can connect your power source. The left side is where the adjusted power will be available to connect to your circuit. You should see the little adjustment pot that you will adjust to the correct required voltage, it’s the component near the bottom right next to the “+” sign.

This module is small but can deliver up to 3A and can adjust power sources between  4.5V to 28V down to
0.8V to 20V.

It is important to note that this unit itself uses a bit of voltage (as does most) to do the adjustment, normally around 0.8-2V, the higher the voltage is to adjust the more volts it uses itself.  You will thus need a voltage input that is 1-2V higher than what you want the output to be. If you use a 5V input you should easily get the unit to adjust between 0,8V and 4.2V, a 12V input 0.8V – 11V and so on.

to adjust these modules you need to hook it up to power and then use a multimeter on the output side to adjust the screw to the correct voltage.

You can look at the full specs here.

Adjustable Power step down module with Voltmeter

Next up is a similar module then discussed above, also a buck module,  but this one comes with a voltmeter for easy adjusting the power output without the need of a multimeter.

LM2596 Adjustable Power Converter

In fact, if you use a 12V 2A power supply with this product you have quite a neat desktop power supply. It has 2 buttons so you can check both the input and output voltages on the screen and small LEDs indicating if you are looking at input or output volts. These types of modules are best used as power sources while doing development, not final products (like the one discussed previously) except if your project will need a permanent voltage meter. I use them all the time while developing and testing products and the screw terminals are very useful to attach different products without having to solder them.

If you look at the components on this board you can see there is quite a difference compared to the first ultra small board we looked at. The main thing is that the ultra small board is as basic as they come to make the board as small as possible to incorporate them into final products. This board we look at right now is more expensive and another reason why I use them just as desktop power units to save on costs on final products.

However, they also use more powerful voltage regulators that can handle up to 40V input and 37V output for bigger voltage projects. It also has bigger stabilising capacitors that are very useful to have while developing higher voltage projects, stabilizing caps help to keep the output voltage very smooth even if the input voltage is not.

You can get all the specs for this module here.

AC-DC 220V to 12V power module

You do not need a bulky 220V to 12V power supply, especially if you are going to have a low power design.

This module takes 220V AC on the one side and supplies 12V DC on the other side. A WARNING though, you work with 220V power, it can kill you! But these modules are great when you insert them in your home build PC boards to make things look neat. I do not recommend them to new comers but introduce them here as part of the power modules tutorial as education. From this output, you can then add. for example. an ultra small step-down module to get the volts exactly where you want it to be just as you would with a normal 12V power supply.

More about these units here.

This concludes our look at basic power modules Next week we will look at more advanced modules in part 2 of this tutorial.


Skeleton Duino Review

Skeleton Duino Review

skeleton duino working

We designed this little board here at Bot shop as our solution to saving costs on using Arduino in our projects. Using an Arduino Uno on a finished project is firstly a bit expensive, throwing money in the water on components etc. not used in a final product. Secondly, the Uno board is unnecessary big for a final project that in itself mean bigger more expensive cases, thirdly it consumes unnecessary power (4x more than the Skeleton Duino) especially if you think of using batteries.

You can get one here.

You might be aware of the fact that in its basic form you just need the Atmega microcontroller, the crystal and 2 caps. A good idea is a 5V voltage regulator as well so you can use power sources bigger than 5V. The male rails, USB converter chip (quite expensive), 3.3V regulator, power jacks etc just add to cost and size of the board. All these are great while you develop but will not be used in a final product.  Jumper cables that fall out become a nuisance etc.

We use the Arduino Uno to develop our projects because it is easy to upload the code, push in jumper wires and get things to work. Once completed, we look at other boards for the final project. We used the Arduino mini but that is still a bit pricey and we do not like the SMD micro controller and having to go through the troubles of uploading sketches with an ISP uploader.

Eventually, we used strip board to have the Atmega, crystal and capacitors on a small board for projects but that looks nasty. Worth than that is building it on stripboard, the cutting away of tracks and soldering connection wires is a pain.

Here is an example of a pic from the Internet of such a board.
Uno stripboard

So we came up with the Skeleton Duino board. There is zero fluff, no USB to TTL to program the chip. no headers and a socket to plug in Atmega IC’s instead of the SMD chips.

Programming the Atmega micro controller

The whole idea is to program the chip on your Arduino Uno, take it out of the ic socket and then put it into the ic socket of the skeleton Duino. I hope it is needless to mention that you need the Uno with the micro controller in a socket not those with the Atmega SMD chip.  It does have a power LED, status LED and a 5V voltage regulator on board but that’s it.

Power consumption.

Unexpectedly actually, this board has quite a low power consumption because there are no additional voltage regulators. resistors, IC’s and so on. An Arduino

An Arduino Uno uses without anything connected to it 45 mA. The Skeleton Duino uses 9mA. This is important if you use batteries as a power source, they will last x 5.6 times longer.


  • The power terminals uses 2.54 pitch if you want to use screw terminals
  • 5V regulator
  • Power LED
  • Status LED
  • Dimensions: 45mm x 25mm
  • ……uh, ok that it.

We sell these boards on our site here.





Bot shop EL wire how to

Bot shop EL wire how to

Electroluminescent wire – EL wire how to

Yes, it looks impressive that is for sure! But it might seem a bit daunting to newcomers…… it is not. There are only a view things you need to know.

In the past, you needed to be quite skilled to use lighting to set moods, use in displays, in home decor and so on, now it became easy. In this EL wire how to you will learn everything you need to be an expert in electroluminescent products and it will take you no more than 15 minutes to learn.

Some quick technical stuff

el wire how its made

It is actually quite simple to understand. By introducing very low alternating current (but high voltage) to a layer of phosphor the phosphor will glow. Phosphor when glowing has an aqua blue colour.

To get different colours of EL wire a coloured plastic sleeve is used on the outside of the EL product. This is how EL product manufacturers can produce different colours

el wire colours

The colours are limited to 10 colours: Aqua (fluorescent blue), Lime (fluorescent green), red, blue, green purple, orange, yellow, pink and white

The way to introduce electricity to phosphor can be seen in the first picture above, you take a  piece of copper wire and coat it with phosphor, then you take 2 very fine wires and turn it around the phosphor coated wire like a spiral over the whole length of the wire. You now put the one wire of a power supply and connect it to the phosphor coated copper wire and the other wire of the power supply you connect to the 2 thin wires.

The power source – inverter

One of the reasons we did this how to is because there is a lot of confusion around the power requirements for electroluminescent. The first thing to know is that EL products operate best at a Voltage of between 80V-140V (120V is optimum).


If you touch bare open wires you might feel a very slight shock – so the connection points should never be exposed. Later in this how to you will see how to make your own connections (if you do not get pre-made el products with connectors already on them) and cover the bare wire with heat shrink tubes, We sell both types in our shop here.

The power source alternates the voltage at around 800 Hz. That simply means it first sends + voltage to the one EL wire and negative voltage to the other side and then switches the – and + voltages around, what is impressive is that it does this switching 800 times in a second, That’s fast!

To make this long story short – you need an EL inverter.

IMPORTANT. Inverters have different power ratings. The lower the power rating the smaller the length of EL wire it can handle. A small inverter is usually able to handle about 3 meters. You do not have to turn it into rocket science, you just need to be “nearish” to those specs, All inverters have a description on what length of EL wire it can drive

So be careful with this though, don’t use a short piece on an inverter that is meant for longer pieces, your EL product’s life expectancy will be drastically shortened. So basically if you have 3 meters or lower use a 3meter inverter rather, it will last longer

Power efficiency, heat and life span.

How long will it run from a battery and how many hours of light will it produce. EL products are very power efficient because of the low amps (current) it uses. There is no other light source this efficient.

Two AA batteries driving 3 meters of EL wire will last 10 hours plus!

No heat is produced at all, cold to the skin

EL wire life span is about 8000 hours, if you have it on every night it will last 1000 days

Using EL wire

El wire can be shaped any way you like. You can also cut it shorter and if you like you can put on connectors on the offcuts (more about that soon)

Becuase the EL wire got a plastic casing you can use PVC glue to glue it anywhere. For wearables like shirts and hats, you can sew it to the wearable by sewing a “loop ” around the EL wire and the piece of fabric. There are no hard and fast way on how to stick it to stuff, above is only ideas

Cutting and putting connectors on EL wire.

Easy as pie. Below is a video that shows exactly how to do that. You will need a soldering iron, solder and a wire stripper (or Stanley knife) we sell an El solder kit here that include the connectors, shrink wrap tubes and end caps. They use a heat gun in this video to shrink the tubes but a lighter will work great as well.

It is important to note that when you cut EL wire the end that is cut of must be isolated in any way you like so that the copper wire and 2 thin wires do not touch each other.



And that concludes this EL wire how to. So, head over to our EL wire shop category here, get some EL wire and accessories and create some fun stuff.

Our Lithium Battery Charging module review

Our Lithium Battery Charging module review

Lithium Battery Charging module

Lithium Battery Charging module

There will come a time that you want to have your project mobile. The easiest way to accomplish that is with batteries and if you want to get a bit fancy, rechargeable Lithium batteries.

I am reviewing the lithium Battery Charging module that is also available from us here. It is a low-cost unit that is affordable enough to build into your projects directly without having to worry to open a box, removing the batteries for charging and then put it all back again. Except for saving on the cost of a charger you now have an easy to charge project.

Power to the board.

It comes with a USB connector to connect to a 5V power source. This is handy because you can connect the module to a computer USB port or a 5V power supply, your cell phone power supply will work great. This module also has a place to solder 5V power supply power wires directly to the board as well.


Lithium charger functions

From the picture above you can see the 2 status LEDs on the Lithium Battery Charging module. The charge LED indicates that the battery is charging and the second LED lights up when the battery is fully charged.

Most of the work is done by the TP4056 IC, it is a constant-current/constant-voltage linear charger IC designed specifically for Lithium ion batteries and comes with many features including automatic recharging and is able to supply 1A charging current! You will find these chips in cell phones, cameras, charging doc stations etc.

Hooking it up is easy, supply the Lithium Battery Charging module with 5V and then hook up the battery via 2 wires to the bat+ and bat- power through holes on the board (this require soldering).


  • Input voltage: 5V
  • Maximum charging current: 1000 mA
  • Charge cut-off voltage: 4.2 V + / – 1%
  • Battery overcharge protection voltage: 2.5 V
  • Battery over-current protection current: 3 A
  • Input interface: Micro USB or 5V to power terminals
  • Dimension: 2.6 x 1.7 cm

Changing the charging current

Out of the box, this unit supply 1A constant current to the batteries but that might be too high. It is recommended that when you charge a battery you should charge them at 37-40% of the battery capacity(in mAh). If you are charging a battery of 1000mAh capacity, you should adjust the resistance in a way that the current offered is approximately 370mA-400mA.

Now, this is my only drawback in using this module, you will need to manually replace the resistor. It is an easy process but still a bit of extra work to get exactly the amps you require. I was hoping for a variable resistor but the problem with this is that you will blow the chip if you set the resistance too low, that you will do very easily if you turn a variable resistor just a bit too far to the wrong side.

In the picture earlier you can see the resistor you need to replace if 1A is too high for your batteries. It is easier than you probably think right now, simply use a soldering iron to heat up both sides of the resistor at the same time to remove, put the new one in place and heat up each side to solder it back in place. If you do not have an SMD resistor use a normal 1/4 watt resistor, cutting the legs as short as you can.

Here is a table to work out the size of the resistor you will require:

Resistor (k) BAT amps (mA)
30 50
20 70
10 130
5 250
4 300
3 400
2 580
1.66 690
1.5 780
1.33 900
1.2 1000


Cheap, easy to use and it can charge bigger Lithium batteries than expected with ease. With the drawback of having to solder in a different resistor to get the correct charging current comes the benefit of being able to charge any chargeable Lithium battery at its optimum levels.

Wifi Scale project for Wemos D1 board Part two

Wifi Scale project for Wemos D1 board Part two

wemos d1 project

Scale project for Wemos D1 part 2- from pallet wood 

Now that we got the scale to work with an Arduino it is time to see how we will get it to work with a Wemos D1 board so that we can view the scale data from a Wifi connection on a web browser. This can also be a web browser on a cellular phone if you so wish. In short, we want to now expand our project to an IOT (Internet of things) scale. This scale project for Wemos D1 part 2 focus on the wifi part of this project, in part one we focus more on the load cells and amplification so first have a look (there is a link above).

Getting the D1 to work with the Arduino IDE.

In our review of this board, we gave details on how to get it to work with your Arduino IDE in the “Use your Arduino IDE to program the chip” section.

To recap:
  1. To install drivers remove all previous esp boards download and
  2. install http://www.arduined.eu/files/CH341SER.zip
  3. next open file>preferences
  4. enter http://arduino.esp8266.com/stable/package_esp8266com_index.json in the additional board manager urls area
  5. open tools>board>board manager
  6. search ESP8266 and
  7. install “esp8266 by ESP8266 community” version “1.6.5-947-g39819f0”
  8. next restart the Arduino IDE then select
  9. tools>board>WeMos D1 R2 & mini
  10. select upload speed at 115200 baud


Scale project for Wemos D1 – Hooking up the load cell HX711 amplifier

In part one of this project, we showed you how to connect the load cells to the amplifier board as well as to an Arduino Uno. We also talked about the pin differences between the Arduino and Wemos D1. Below is a picture again as well as a diagram connecting the amp to the Wemos board.

In the code, we also show, as comments in the pinouts for the Arduino.

Wemos D1 pin assignments

Wemos diagram

The LCD screen pinout can also be seen in the code.

LiquidCrystal lcd(0, 2, 4, 14, 12, 13); // WEMOS pins differ from UNO pins translated to uno would be (8, 9, 4, 5, 6, 7)

Scale project for Wemos D1: Explaining the code

Connecting to your WIFI network

To connect to a WiFi connection we use these 2 libraries (all the WiFi libraries will be automatically installed with the ESP8266 files when you add the board to your Arduino IDE):

#include <ESP8266WiFi.h>
#include <WiFiClient.h>

Next, you need to enter your WiFii details to connect to the network. Look for the lines below in the code and change the **** with your network name and network password.

const char* ssid = "*********"; 
const char* password = "*******";

Setting up the board as a web server

The first thing to understand is that we want to setup the D1 as a web server. If you are not familiar with web servers it basically means that we want to hand out web pages to web browsers for displaying when the web browsers connect to the D1 board. Hence the name web server – it serves web pages to your browser when the browser connects to it.

In the code (see below) you will use a library called ESP8266WebServer.h and the code to start the web server is simple:

ESP8266WebServer server(80);

The (80) specify the port the server should listen to and is standard as all web browsers by default try to connect to web servers on port 80. A port is nothing more than a number that distinguishes what data is intended for what application on a server. Thus, a web browser will connect to the web server and communicate that it wants to connect to the software that is assigned the number 80. Port numbers are of cause very important when you have many applications like FTP, email etc on one server,  else there is no way you will know for what application the data to your server is for.

Web page code

A web page is a text file with very basic code in it, this code is called HTML, In short, HTML code tells your web browser how to display and what to display on the web browser. It tells your web browser things like the size, font and colour of the text, where to find the images in the web page, where on the page the images must display and so on. (Note, that the images are not “in” this text file but rather a link to where the browser will find it on either the Internet or in the web servers file directory). A web browser thus “understand” HTML code and will generate the page you see in the web browser according to this code.

Here is an example of HTML in the code we will use soon:

webString=”<html><head><meta http-equiv=’refresh’ content=’3′> </head><body>Weight: “+String((float)value)+”kg</body></html>”;

This image below is what you will see in your web browser:

browser view plain

In short all web page code start with <html> and end with </hml> . We then have the <head> tag that gives your browser information like the name of the page and so on, in the example above we use the “refresh” tag that tells the web browser to reload the page, in this case, every 3 seconds. This is required because we want the web page to refresh by itself so it will display the weight of the scale when the weight changes. The <body> tag tells the browser what it should actually display in the browser window and the </body> tag tells the browser when the end is reached of what should be displayed.  In between the body tags we display the Weight from the scale in the browser.

If you spice up your HTML knowledge a bit you can make it look better. I added a picture and some other formatting to the code so it shows our logo.

webString=”<html><head><meta http-equiv=’refresh’ content=’3′> </head><style>body {background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }</style><body><img src=’https://www.botshop.co.za/wp-content/uploads/2017/03/logowebsite2.png’><br><b>Weight: “+String((float)value)+”kg</body></html>”;

Here is the result:

browser view formatted

Connect to the D1 web server

Once your server is running use your web browser to connect to the D1. In the URL field in your web browser type the IP address (see below on where to get it) of your web server and press Enter. In our code, we created an additional page called test. To get to it use your ipaddress/test e.g

Get your IP from serial monitor. We simply used the code below to get the IP address you should connect to and that will display in serial monitor for you to know what the IP is. You can also display it on the LCD display if you so wish.

Serial.print(“IP address: “); // displays ssid and IP on serial monitor and also IP on LCD
Serial.println(WiFi.localIP()); //


#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <HX711.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(0, 2, 4, 14, 12, 13); // WEMOS pins differ from UNO pins translated to uno would be (8, 9, 4, 5, 6, 7)

#define DOUT 16 // uno pin 2
#define CLK 5 // uno pin 3

float value;
String webString=””;
#define calibration_factor 21900 // Do Not change unless other load cells are used
HX711 scale(DOUT, CLK); // initialize load cell amplifire

const char* ssid = “*********”; // function as metioned in bellow comments
const char* password = “*******”; //

ESP8266WebServer server(80); // starts server on port 80

const int led = 13;

void handleRoot() { //
digitalWrite(led, 1); //
server.send(200, “text/plain”, “please enter correct page”);
digitalWrite(led, 0); //
char temp[400]; //
} //

void handleNotFound(){ //
digitalWrite(led, 1); //
String message = “File Not Found\n\n”; //
message += “URI: “; //
message += server.uri(); //
message += “\nMethod: “; //
message += (server.method() == HTTP_GET)?”GET”:”POST”; //
message += “\nArguments: “; // typical error 404/page not found
message += server.args(); //
message += “\n”; //
for (uint8_t i=0; i<server.args(); i++){ //
message += ” ” + server.argName(i) + “: ” + server.arg(i) + “\n”; //
} //
server.send(404, “text/plain”, message); //
digitalWrite(led, 0); //
} //

void setup(void){
pinMode(led, OUTPUT);
digitalWrite(led, 0);
WiFi.begin(ssid, password);
lcd.begin(16, 2);
scale.set_scale(calibration_factor); // calibrate scale
scale.tare(); // zero scale
while (WiFi.status() != WL_CONNECTED) { // I have disabled this to allow client to play with device,
delay(500); // What this does is it waits for the WiFi to be connected
Serial.print(“.”); // and while waiting it displays which ssid it is trying to
lcd.setCursor(0,0); // connect to I was thinking to add a script to show all
lcd.print(“Connecting to”); // available ssid’s so the client can select which one to use
lcd.setCursor(0,1); // using the keypad on lcd shield and also enter the password
lcd.print(ssid); //
} //
delay(750); // allows enough time to see that its connecting
Serial.println(“”); //
Serial.print(“Connected to “); //
Serial.println(ssid); //
Serial.print(“IP address: “); // displays ssid and IP on serial monitor and also IP on LCD
Serial.println(WiFi.localIP()); //
lcd.setCursor(0,1); //
lcd.print(WiFi.localIP()); //

if (MDNS.begin(“esp8266”)) {
Serial.println(“MDNS responder started”);

server.on(“/”, handleRoot); //home page

server.on(“/test”, [](){        //enter IP followed by /test
char temp[400]; //to display scale value
value=scale.get_units(), 0; //
webString=”<html><head><meta http-equiv=’refresh’ content=’3′> </head><body>Weight: “+String((float)value)+”kg</body></html>”; //this line has an automatic refresh built in it is also the string to display the value
server.send(200, “text/html”, webString); //
}); //

server.onNotFound(handleNotFound); // 404 error

Serial.println(“HTTP server started”);

void loop(void){
server.handleClient(); // monitors user interaction on web
value=scale.get_units(), 0; //
lcd.setCursor(0,0); //displays scale vallue and ip on lcd
lcd.print(“Wheight: “); //
lcd.print(value); //
lcd.print(“kg”); //for some reason this jumps around alot
delay(1000); //

scaleCode text file


Scale project for Arduino and Wemos D1

Scale project for Arduino and Wemos D1

wemos d1 project

Scale project – Arduino and WiFi scale (see part 2 of this tutorial) from pallet wood

This scale project is built around the Arduino Uno and part 2 of this tutorial around the Wemos D1 development board. In its basic form, it will display the weight of an object on an LCD display and in the next tutorial in a web page using WiFi. This project can of cause be expanded even more to capture the weight in a database and so on. Here are lots to learn, from weight load cells all the way to Wifi with the D1 board that is cheaper than an Arduino Uno. We have a review  of the Wemos D1 here:

When doing an Arduino or Wmos D1 scale project there are a couple of things to know, The first is the development board itself, then the coding that can be done directly from an Arduino IDE and then some HTML coding to create the web page when doing the WiFi parts. If you are already coding Arduino projects you have very little learning to do on the coding of the Wemos D1 board.


The Wemos D1 board is designed to be similar than an Arduino Uno and you will immediately recognise the power headers and I/O header.

If you are not planning to use the scale as a wifi project the Arduino Uno will be just fine.

The D1 microcontroller is much more powerful than that of an Arduino

Saying that… you can easily build this scale using an Arduino Uno if you prefer.

One thing that stands out from the D1 is that it uses the very powerful ESP8266 chip that is a microcontroller and Wifi chip all in one. What’s even more impressive is that the microcontroller is much more powerful than an Arduino microcontroller with much more memory for your wifi projects.

Read this post first: Before you move on, read this blog post that has much more details about the Wemos D1 development board and how to set it up for the first time. https://www.botshop.co.za/wemos-d1-review-wifi-development-board/

Let’s look at the scale first.

To build a scale you need 3 parts: load cells, an amplifier and then a micro controller to interpret the results and display it somehow. The micro controller can be one of many, including a WeMos D1, ESP8266 controller, Arduino and Raspberry Pi.

load cell image

Load cells come in many different types and if you plan on working with them extensively you will need to read up on all the types available. In this tutorial, we use  50kg load cells that is one of the products we sell on our site here. You will need 4 load cells that you must place on the 4 corners of a solid base that will act as the weighing platform of your scale.

The 4 load cells can handle 50kg each so you will end up with a scale that can measure up to 200kg.

scale frame   load cell

It does not have to be fancy, we used a couple pieces of pallet wood to create the base as shown in above picture, then you need to drill big holes for the cells to fit, note the correct way to fit the cells in above picture.

The HX711 load cell amplifier

Load cells operate at very small voltage changes, therefore an amplifier will be required. We sell the HX711 Load Cell (Weight) Amplifier that works perfectly with the load cells.

Below is a diagram on connecting the cells to the amplifier. The diagram and code below are for an Arduino and in our next tutorial, we will show you how to connect it to a Wemos D1 to change your scale into an “Internet of things” project.

load cell amplifier

Below is the code to get it going for your Arduino. It will print the weight out in Serial monitor for now.

#include "HX711.h"

// HX711.DOUT - pin #A1
// HX711.PD_SCK - pin #A0

HX711 scale(A1, A0);

void setup() {
 Serial.println("HX711 Demo");

Serial.println("Before setting up the scale:");
 Serial.print("read: \t\t");

Serial.print("read average: \t\t");

Serial.print("get value: \t\t");

Serial.print("get units: \t\t");
 Serial.println(scale.get_units(5), 1);


Serial.println("After setting up the scale:");

Serial.print("read: \t\t");

Serial.print("read average: \t\t");

Serial.print("get value: \t\t");

Serial.print("get units: \t\t");
 Serial.println(scale.get_units(5), 1); 

void loop() {
 Serial.print("one reading:\t");
 Serial.print(scale.get_units(), 1);
 Serial.print("\t| average:\t");
 Serial.println(scale.get_units(10), 1);


LCD screen

Next, you will need a display and here you have many choices. The easiest to use is the I2C LCD display. We also have a basic LCD display that is cheaper.

Whats the difference? The I2C LCD shield has an extra board connected to the normal LCD shield, turning it into an I2C device, that means it has much fewer wires to connect and it is much easier to program with. The little I2C board take away allot of the job the Uno had to do.

That concludes our scale project, our next tutorial will take this scale and change it into a wifi (internet of things) scale using the Wemos D1 board.

Part 2 of this project is here!

Wemos D1 review  Wifi development board

Wemos D1 review Wifi development board

ESP-12E WeMos D1 review

Wemos D1 review

This board has quickly become our board of choice when we do Wifi project development. It looks just like an Arduino Uno and many Arduino shields will work with this board. We sell them here at Bot Shop – https://www.botshop.co.za/product/esp-12e-wemos-d1-wifi-board/

We created a scale project using this board, you can read more about the project here:

We pulled in a weight from scale sensors but without much changes, you can do the same with any type of sensor.

The D1 microcontroller is a beast compared to the Arduino Uno

The WeMos D1 uses the ESP 8266 microcontroller that is 2 x faster than an Uno, has 160Kbs of Ram compared to the 2K of an Uno and a 100x  the amount of  Flash memory! And each I/O pin is interruptable!

Most importantly is that it has embedded Wi-Fi and the centre point of this wemos d1 review.

Microcontroller specs

• A 32 bit RISC CPU running at 80MHz
• 64Kb of instruction RAM and 96Kb of data RAM
• 4MB flash memory
• Wi-Fi
• 16 GPIO pins
• I2S
• 1 ADC

The only area the Arduino chip is better is that it has 6 ADC’s and the D1 just one, although that will very seldom a problem as you have both I2C and SPI on the chip, it is still worth taking note of this. If you need more ADC’s it is easy to add a multiplexer to increase the amount of ADC’s.

Use your Arduino IDE to program the chip.

The Arduino IDE can be used to program the D1. The Wemos D1 have a USB to TTL chip on board for direct uploading of programs via USB directly from your PC. The chip used is the CH340G chip and unfortunately, a driver needs to be installed for some versions of Windows that does not include this driver. If your Windows version does not recognise the board it can easily be downloaded and installed, doing a Google search on “CH340G driver” will show many download links.

In this Wemos D1 review we do not want to go to much into details regarding programming but I have good links to follow, Also have a look at our scale project mentioned earlier in this review.

The next thing you will need to do is to add the Wemos D1 board to the list of boards already in the Arduino IDE. Here is an instructable on how to do that, it is pretty good http://www.instructables.com/id/Programming-the-WeMos-Using-Arduino-SoftwareIDE/

Oh, you will be able to upload to the board. To get the WiFi to work is not as difficult as I thought it will be, I used this instructable to do so: http://www.instructables.com/id/Programming-a-HTTP-Server-on-ESP-8266-12E/

Pin assignments

Something to note is that the pin assignment between the D1 and Uno is different. The Uno has the onboard led connected to pin 13 and the D1 to pin 14 as can be seen from the table below, If you, for example, upload the blink sketch to the D1 you will first need to change the sketch by replacing all calls to pin 13 to pin 14.

Wemos D1 pin assignments

Some things to be aware of.

  • As discussed the pinout differences, of cause the power pins are at the correct places.
  • Becuase of the pinouts some Arduino shields will not work out of the box, you will need to change the pin mappings. As an example, I had an LCD shield working in minutes without much effort.
  • The normal Arduino libraries will not always work, the LCD shield library worked with no problem though.

Wemos D1 review Summary.

Well, you can’t beat the price nor the ease of use. Microcontroller + Wifi for the same price as an Uno. I will always use my beloved Arduino Uno because of the amount of libraries and code available on the Internet but…. as soon as I need to use WiFi in my projects I will go for the Wemos D1 without a second thought. We also have a much smaller WiFI board for production here:

You can get yours from us here  https://www.botshop.co.za/product/esp-12e-wemos-d1-wifi-board/


Arduino kits with Arduino course

Arduino kits with Arduino course

Wouldn't it be cool

if you can make awesome things from day one?

With our training, you can! We can teach you how to build amazing gadgets at your own pace in the comfort of your own home.

Arduino course info
online training

Welcome to the world of modern electronics and our Arduino course.

Do you also dream about building super cool gadgets, building something unique and become an electronics maker? Or how about starting a career or business building unique things?

How about putting that “spark” back you might have lost because of the mountains of books and nothing great to build in the near future? Where did the fun go?

We make learning electronics and robotics exciting, fun and super easy with our online Arduino course,

These kits are for the builders, those guys that got great ideas they want to change into reality and also for those guys that are very near giving up on their electronics dreams.

See the Monster Kit content list here.

We believe in crazy saving!

Right now you will get a complete kit, but also more than 50% off our Arduino course when buying a kit.

  • Arduino complete kit (3 to choose from)
  • Getting started manual, printed version
  • Projects manual
  • Live long members only forum with access to all our trainers.
  • Online training with certification (limited time offer, see training section below)

Kit content

  • Arduino Uno R3
  • USB Cable
  • 1 x breadboard
  • 1 x LCD screen
  • 1 x Joystick module
  • 1 x buzzer
  • 1 x relay
  • 1 x 8 segment LED
  • 20 x LED’s
  • 1 x 10 k potentiometer
  • 2 x push buttons
  • 1 x shift register IC
  • 1 x tilt sensor
  • 1 x light sensor (LDR)
  • 1 x temperature sensor
  • 10 x 1k resistors
  • 10 x 10k resistors
  • 10 x 560E resistors
  • 1 x motor
  • 1 x servo
  • 1 x 9V battery connector
  • 1 x rain sensor
  • 1 x Joy stick module
  • 1 x headers
  • 25 x jumper cables
  • 10 x du Pount cables


Yip. 50% Off, but for a limited period.

The training includes:

  • Training manuals
  • Training videos
  • Online quizzes
  • Members only forum access to trainers
  • Certification if you complete final online exam

Who Is This Kits For?

School Kids

Learn while building amazing products and understand your current studies even better. If you do have a hard time with electronics it is now the time to jump start your electronics training and put the fun back in learning. You will have so much fun and so many a-ha moments, you will forget it is training.


Do you want to become a maker and develop your own gadgets or want to make products for money? Making a career out of modern electronic development is one of the most fulfilling and well paid jobs today.


Do you have a great idea that you want to put in the market place or that you want to outsmart your competitors with? This is the place to start.

Arduino online training with 22 projects

Arduino online training with 22 projects

Arduino online training

Arduino online training

What is better than an Arduino training kit? …..

Arduino Online Training To Go With It, of cause.

We WANT you to become the next extraordinary electronics maker and we want that journey to be fast and fun.

No more having to search around for hours to try and find answers to your questions. And even more importantly – you have full access to the trainers to get you unstuck when running into problems.


Direct access to the trainers to keep you moving along smoothly

Training material

Step by step PDF’s, videos, datasheets and resources all in one place.


More than 150 quiz questions. Test your understanding and learn those things you missed


Forums are used to view questions and answers from fellow students and to ask your own.

22 Projects to build and explained in detail in the Arduino online training!

Building and experimenting with what you learn is crucial and it is also the fun part of your training. Each topic covered in the Arduino online training is accompanied by practical projects to make sure you can not just study but DO!

It’s simple, start from the top and work your way trough each of the 25 topics. Each topic consists of training materials, component datasheets, quizzes and a link to the forum section.

No guessing or searching for hours to find information, everything you need regarding a topic is available inside the topic.


Our forums will be one of the most important resources tor you. Here you will find questions and answers from other students and that is a learning experience as well.

You can also post your own questions and unlike other forums, you might have seen we will answer questions in detail. Each forum section is covering a specific training topic so that you can focus specifically on the topic.


Quizzes might not sound like a training resource but it is an important one.

It does not only test your understanding and help you find information, you might have missed but also gives you a great idea of what information is most important to know.

It makes you think more and look at things from different “angles”. It also gets you to re-study your training material so you go a second time over it.

It also helps you to practice for the final exam if you are interested in a Bot Shop Maker Certificate.