The last day we'll be dispatching orders before the Christmas break will be Thursday 21st December. Between Christmas and New Year (27th, 28th & 29th) we'll be dispatching all orders containing in-stock items placed with Royal Mail postage. Any orders placed during this time with DHL or UPS shipping options may be dispatched on these dates, if not they wil be dispatched on the 2nd January 2024. Our usual cutoff times will not apply over this period as our staff will be working shortened hours.
Below are the latest dates our delivery partners suggest for the highest chance of the packages arriving in time for Christmas.
Please Note: These dates provided by our postal carriers are not guaranteed for delivery in time for Christmas, we’d kindly advise you order as early as possible to allow plenty of time for your deliveries to arrive.
Royal Mail:
Dispatch Date | Service |
---|---|
Thursday 7th December | Royal Mail International Post |
Wednesday 20th December | Royal Mail First Class |
DHL:
UPS:
All deliveries may take one day longer during December and Express packages may be delivered by 2pm not 12pm.
UPS (UK):
UPS International:
IoT:bitThe IoT:bit is an expansion board designed to help with the creation of IoT projects with the micro: bit. It uses an ESP8266 as a WIFI expansion board and serial port to communicate with micro:bit. It also extends all available I/O ports on the micro:bit which is led by GVS, extending its use by allowing the board to connect to a number of other electronic sensors and devices such as LEDs, photosensors and servos. The IoT:bit also comes with an onboard RTC clock for timing making it the ideal board for creating IoT applications. |
|
Rainbow LEDThe Rainbow LED uses a bright and vivid smart colour-changing LED designed with an integration of a control circuit and light-emitting circuit, allowing it to be operated under a low voltage while producing high luminance and large angle scattering |
|
PIR SensorThis PIR sensor module is based on the AM412 pyroelectric digital smart sensor. It uses infrared to for sensing and detecting human and/or animal motion within a distance is around 4-5 meters. |
|
DS18B20 sensorThis brick uses the DS18B20 1-Wire digital temperature sensor from Maxim IC. It can report degrees C with 9 to 12-bit precision, -55C to 125C (+/-0.5C). Each sensor has a unique 64-Bit Serial number etched into it that can allow for a huge number of sensors to be used on one data bus. |
|
DHT11 SensorThis is a temperature and humidity sensor based on the DHT11 module. This element is sensitive to changes in ambient temperature and moisture. |
|
Sonar:bitThis sonar:bit is a 3-5V working voltage ultrasonic module with an incredibly cute design. It is designed to work with only one 3-wire(GVS) cable with a measurement range of 4cm-400cm and is accurate with ±1cm tolerance.
|
|
Soil Moisture SensorThis 'low-tech' sensor is ideal for use in your garden or indoor plants detecting the moisture level of the soil. It uses two probes to pass a small current through the soil, reading the resistance to get the moisture level. More water makes the soil conduct electricity more easily (less resistance), while dry soil conducts electricity poorly (more resistance) |
|
Water Level SensorThis is a simple, easy-to-use water level sensor. The water level is detected via the exposed parallel wires and the water volume, this is then converted to an analogue signal which is output then recognised and read by the micro:bit. |
|
OLED ScreenDon't be fooled by the small size of this screen. Its wide field of view and high contrast are aided by its ability to self-illuminate making it very clear and easy to read. |
|
EF92A 180° ServoThis servo is small and lightweight making it easy to integrate into projects. Most servos are normally driven by 5V, however, these ones have been designed specifically to have their lowest working voltage to be 2.7V allowing them to work with the micro:bit. |
This kit comes with a step-by-step guide to walk you through completing a number of different projects to learn about modern agriculture, electronics and programming. Here is a quick breakdown of each
In our previous blog we created a simple Micro:Bit Says Game that used the A and B buttons along with the micro:bit's touchpad, in this blog we are looking at adapting the code to create a Micro:Bit Says Game using the controls on the Joystick:Bit.
Open your web browser and go to the MakeCode website, click on New Project and name your project Micro:Bit Says V2 then click the green Create button.
Connect your BBC Micro:Bit V2 to your computer, at the bottom of the screen press the three dots and press "Connect device". Once connected, once the program is finished hit the download button to instantly load it onto the Micro:Bit.
Click on Extensions to bring up a pop-up window, search for "joystickbit" and add it to your program.
Please Note: If you swap between looking at blocks and JavaScript while coding, the MakeCode software will format the code moving them to different lines. This is normal and nothing to worry about, the purpose of us writing the code this way is to make it easier to explain during the tutorial.
The first three lines of code set the game up by creating a variable called Microbit and gives it a value of 0 to start. It then initialiss the joystickbit allowing it's buttons to be used before finally calling the function GameChoice which we will set up in the next step.
let MicroBit = 0
joystickbit.initJoystickBit()
GameChoice()
The code below creates the GameChoice Function which runs once the game starts and every time the user presses the correct option.
This function sets the MicroBit variable to a random number between 0 and 3. It checks the value assigned to the variable using the If statement, once the number matches the value it's checking it will will display a C, D, E or F on the display.
function GameChoice () {
MicroBit = randint(0, 3)
if (MicroBit == 0) {
basic.showString("C")
} else if (MicroBit == 1) {
basic.showString("D")
} else if (MicroBit == 2) {
basic.showString("E")
} else if (MicroBit == 3) {
basic.showString("F")
}
}
The code below runs once the C button is pressed, it first checks to see if the value of the variable MicroBit is 0. If it is true, it makes the Joystick:bit rumble for a second before recalling the function GameChoice.
If it is the wrong button pressed it plays the sound Wawawawaa to indicate an incorrect answer.
joystickbit.onButtonEvent(joystickbit.JoystickBitPin.P12, joystickbit.ButtonType.down, function () {
if (MicroBit == 0) {
joystickbit.Vibration_Motor(100)
GameChoice()
} else {
music.startMelody(music.builtInMelody(Melodies.Wawawawaa), MelodyOptions.Once)
}
})
The code below is similar to when the C button is pressed but works for the D, E and F buttons
joystickbit.onButtonEvent(joystickbit.JoystickBitPin.P13, joystickbit.ButtonType.down, function () {
if (MicroBit == 1) {
joystickbit.Vibration_Motor(100)
GameChoice()
} else {
music.startMelody(music.builtInMelody(Melodies.Wawawawaa), MelodyOptions.Once)
}
})
joystickbit.onButtonEvent(joystickbit.JoystickBitPin.P14, joystickbit.ButtonType.down, function () {
if (MicroBit == 2) {
joystickbit.Vibration_Motor(100)
GameChoice()
} else {
music.startMelody(music.builtInMelody(Melodies.Wawawawaa), MelodyOptions.Once)
}
})
joystickbit.onButtonEvent(joystickbit.JoystickBitPin.P15, joystickbit.ButtonType.down, function () {
if (MicroBit == 3) {
joystickbit.Vibration_Motor(100)
GameChoice()
} else {
music.startMelody(music.builtInMelody(Melodies.Wawawawaa), MelodyOptions.Once)
}
})
Once you have all of the code added into the Javascript section you can press the purple Download button to transfer it across to your micro:bit and it will be ready to go.
Now you have the base game coded, why not try to add the joystick as more options to the game.
]]>
Sensor:bitThe Sensor:bit is a breakout board for the BBC micro:bit. It extends all of the micro:bits available IO ports leading them out in the form of GVS. It comes equipt with an integrated buzzer and audio socket while allowing you to quickly and easily extend your projects by attaching the other included sensors and 3V electric brick modules. |
|
MQ3 Alcohol SensorThis type of gas sensor uses Tin Dioxide to help detect the presence of alcohol vapour in the gas/air. |
|
Crash SensorThis Crash Sensor uses a highly sensitive switch which is able to detect even the slightest bit of impact/pressure. |
|
Rainbow LEDThe Rainbow LED uses a bright and vivid addressable colour-changing LED with a large scattering angle for maximum luminance |
|
PIR SensorThis PIR sensor module is based on the AM412 pyroelectric digital smart sensor. It uses infrared to for sensing and detecting human and/or animal motion within a distance is around 4-5 meters. |
|
DHT11 SensorThis is a temperature and humidity sensor based on the DHT11 module. This element is sensitive to changes in ambient temperature and moisture. |
|
Analogue UV SensorThe Octopus Analog UV sensor (GUVA-S12SD) measures the total UV intensity of the sunlight; linear signal voltage output and can be used as a UV dosimeter, UV index instrument or flame detector etc. |
|
Soil Moisture SensorThis 'low-tech' sensor is ideal for use in your garden or indoor plants detecting the moisture level of the soil. It uses two probes to pass a small current through the soil, reading the resistance to get the moisture level. More water makes the soil conduct electricity more easily (less resistance), while dry soil conducts electricity poorly (more resistance). |
|
Motor with FanA simple motor with an attached fan. |
|
OLED ScreenDon't be fooled by the small size of this screen. Its wide field of view and high contrast are aided by its ability to self-illuminate making it very clear and easy to read. |
|
EF92A 180° ServoThis servo is small and lightweight making it easy to integrate into projects. Most servos are normally driven by 5V, however, these ones have been designed specifically to have their lowest working voltage to be 2.7V allowing them to work with the micro:bit. |
Along with all of these sensors and modules, there is a fantastic book to guide you through 12 different projects that can be completed with this kit before exploring on your own to create your own fantastic smart health projects!
Please Note: A micro:bit is not included with this kit and can be purchased here.
]]>Over the last year, a series of tests have been carried out by local councils and partners including Royal Mail and the NHS to use Unmanned Aerial Vehicles (UAVs) or Drones to deliver post, medicines and most recently school meals!
Argyll and Bute is Scotland's second-largest local authority with 23 inhabited islands and the trail area for the latest test with deliveries of school meals. The local council hopes that if successful it will allow more children in remote areas access to healthy fresh school meals.
The latest test has seen the UAV deliver a tub of Mac n' Cheese and a Strawberry Yoghurt from Oban airport to Lochnell Primary school - covering a distance of 0.9miles (1.5km).
This is still in very early planning and trial stages as part of the new Vertiport which is being built at Oban Airport as a UAV Innovations Logistics Hub, some of these limitations include the drone being limited to a max weight of 3kg due to current regulations around the sizes of drones, however, the outcomes of these trials will go a long way to help with proof and feasibility that the concept and idea are worth it and helpful at making even the most remote of locations easily accessible.
If you are interested in seeing the drones in action for yourself, Oban Airport is having an open day on the 25th of June 2022 where they will be showcasing the use of their delivery drones.
]]>While it is currently still not able to travel as far or as fast as regular boats, the C-8 is able to travel for 2 hours, reaching a total distance of 50 nautical miles at a 20 knot cruising speed!
]]>Recently Spot took a trip to Pompeii where it used its 360° camera to help scan and map out the area while looking for and identifying any safety and structural issues.
Spot is also backed up by the Leica BLK2FLY, the worlds first fully integrated LiDAR UAV which captures building exteriors, structures and environments to create 3D point clouds to help take scans of the ruins.
]]>
The Raspberry Pi 4 Protective Case is made up of five 3mm acrylic layers and four screws/nuts. Each layer has an engraved number in the top left corner which can be used to identify the layers and make sure the case is assembled correctly.
Start placing layer 1 on a flat surface with the number in the top left corner facing up. Then stack layer 2 on top in the same orientation (number in the top left corner).
Then add layer 3 and place your Raspberry Pi inside the central gap ensuring that the SD card is over the cutout on the lefthand side. The Pi should fit inside layer 3 with the metal part of the USB/HDMI ports resting on indents as shown below.
Now add layer 4 which should fit around the surface mounted componets. Take care when placing the layer to avoid damaging the components on the board.
Add the final layer (5) to the top of the stack and add the screws to each of the corners. If the screws meet some resistance it may be due to the layers not being fully lined up, with some adjustment they should slot in. Don't use excesive force as this may damage the acrylic.
Now carefully flip the case over making sure the screws don't fall out and then add the securing nuts. The nuts don't need to be too tight, we'd recommend tightening them using your fingers until you feel some resistance.
Now you have assembled your case and are ready to use your Raspberry Pi.
]]>This versatile robot is able to carry a person around on its back, and while it is walking it is also able to avoid obstacles in its path. The legs are also able to fold away revealing 4 wheels which allows Bex to zip around more quickly on smooth even surfaces.
]]>Open your web browser and go to the MakeCode website, click on New Project and name your project Micro:Bit Says then click the green Create button.
Connect your BBC Micro:Bit V2 to your computer, at the bottom of the screen press the three dots and press "Connect device". Once connected, once the program is finished hit the download button to instantly load it onto the Micro:Bit.
The first two lines of code set the game up by creating a variable called Microbit and calling the function GameChoice which we will set up in the next step.
let MicroBit = 0
GameChoice()
The code below creates the GameChoice Function which runs once the game starts and every time the user presses the correct option. This function sets the MicroBit variable to a random number between 0 and 2. It checks the value assigned to the variable and depending on the number, will display an A, B or up arrow.
function GameChoice() {
MicroBit = randint(0, 2)
if (MicroBit == 0) {
basic.showString("A")
} else if (MicroBit == 1) {
basic.showString("B")
} else if (MicroBit == 2) {
basic.showIcon(IconNames.Triangle)
}
}
The code below runs once the A button is pressed, it first checks to see if the value of the variable MicroBit is 0, if it is true it then recalls the function GameChoice. If it is the wrong button pressed it plays the sound Wawawawaa.
input.onButtonPressed(Button.A, function () {
if (MicroBit == 0) {
GameChoice()
} else {
music.startMelody(music.builtInMelody(Melodies.Wawawawaa), MelodyOptions.Once)
}
})
The code below is similar to when the A button is pressed but works for both the B button and Touchpad (logo).
input.onButtonPressed(Button.B, function () {
if (MicroBit == 1) {
GameChoice()
} else {
music.startMelody(music.builtInMelody(Melodies.Wawawawaa), MelodyOptions.Once)
}
})
input.onLogoEvent(TouchButtonEvent.Pressed, function () {
if (MicroBit == 2) {
GameChoice()
} else {
music.startMelody(music.builtInMelody(Melodies.Wawawawaa), MelodyOptions.Once)
}
})
The first two lines of code set the game up by creating a variable called Microbit and calling the function GameChoice which we will set up in the next step.
MicroBit = 0
GameChoice()
The code below creates the GameChoice Function which runs once the game starts and every time the user presses the correct option. This function sets the MicroBit variable to a random number between 0 and 2. It checks the value assigned to the variable and depending on the number, will display an A, B or up arrow.
def GameChoice():
global MicroBit
MicroBit = randint(0, 2)
if MicroBit == 0:
basic.show_string("A")
elif MicroBit == 1:
basic.show_string("B")
elif MicroBit == 2:
basic.show_icon(IconNames.TRIANGLE)
The code below runs once the A button is pressed, it first checks to see if the value of the variable MicroBit is 0, if it is true it then recalls the function GameChoice. If it is the wrong button pressed it plays the sound Wawawawaa.
def on_button_pressed_a():
if MicroBit == 0:
GameChoice()
else:
music.start_melody(music.built_in_melody(Melodies.WAWAWAWAA),MelodyOptions.ONCE)
input.on_button_pressed(Button.A, on_button_pressed_a)
The code below is similar to when the A button is pressed but works for both the B button and Touchpad (logo).
def on_button_pressed_b():
if MicroBit == 1:
GameChoice()
else:
music.start_melody(music.built_in_melody(Melodies.WAWAWAWAA),MelodyOptions.ONCE)
input.on_button_pressed(Button.B, on_button_pressed_b)
def on_logo_pressed():
if MicroBit == 2:
GameChoice()
else:
music.start_melody(music.built_in_melody(Melodies.WAWAWAWAA),MelodyOptions.ONCE)
input.on_logo_event(TouchButtonEvent.PRESSED, on_logo_pressed)
Step 1:
Place the spacer on top of the base layer.
Step 2:
Place your Raspberry Pi Zero 2 W inside the spacer ensuring it is in the correct orientation. Please ensure that the preloaded SD card you're using is inserted into the Pi before placing the board in the case.
Step 3:
Carefully place the second spacer and extra square spacer on top as shown below.
Step 4:
Now place the top layer on top of the spacer ensuring that the larger cut out allows acess to the GPIO header. If you're using the heatsink top later ensure the cutout hole lines up with the main chip.
Step 5:
Insert screws into each of the outer holes on each corner of the case.
Step 6:
Carefully turn over the case keeping the screws in the holes. Then add the bolts to the scews to secure the case together.
And now you've assembled your proective case and are ready to use your Raspberry Pi!
Learning to code/program
The low cost of the Pico makes it ideal for educational establishments and teaching STEM subjects. When paired with kits like the Kitronik Discovery Kit or the Monk Monks Electronics Kit which contain other components along with instructional guides on talks/lessons complete it makes the experience better for both the teacher and student.
Kitronik Discovery Kit for Raspberry Pi Pico
Macro USB Keypad
The Pico can act as a HID (Hardware Interface Device) meaning it can act like a USB input device such as a keyboard. The Pico RGB Keypad Base makes it easy to create your very own macropad. You could create shortcuts to open programs, control volume, skip songs and much much more. The buttons have a soft squishy rubber feel and the PCB underneath has RGB LEDs so you can control the colour of each button.
Connect To Other Sensors & Devices
The real power of microcontrollers like the Pico comes when they're connected with other sensors and devices. The Grove Shield for Pico and Grove Starter Kit make it easy to connect the Raspberry Pi Pico to the hundreds of Seeed products in the Grove ecosystem that use the same connector without soldering or complex wiring.
Grove Starter Kit for Raspberry Pi Pico
Creating Your Own Use
The brilliant cost to performance ration of the RP2040 chip and Raspberry Pi Pico microcontroller make then ideal for prototyping designed and implimenting into custom uses/designs. Items like the PGA2040 - RP2040 Breakout Board and the Terminal Block Breakout Module Board make it easy to get started prototyping designs that use the Pico or RP2040 chip.
PGA2040 - RP2040 Breakout Board
]]>
They're all great features but what could you actually use the Cricket for? Well we're going to cover a few use cases which will hopefully show you some of the possibilities that this clever little board unlocks in the world of IoT.
Create a WiFi Button:
Image credit: Sylwester Bala - Things on Edge
You could use the IOT Cricket to create a WiFi connected button to control something like your smart lights. With only a few other additional components a smart button can be built and programmed, the system also doesn't require the high level skills of a seasoned programmer.
IoT Doorbell:
Smart doorbells have gained huge popularity over the past few years so why not use the IOT Cricket to create your own. Using the board and a few other components you can convert an existing doorbell into a smart doorbell capable of calling your phone. Things on Edge have a full guide on modifying a doorbell and creating the IFTTT setup.
Image credit: Sylwester Bala - Things on Edge
Remote Sensor Reporting:
The IOT Cricket makes it extremely easy to set up and create remote sensor units that ping measurement readings to your phone. With the very low power consumption of the IOT Cricket these sensor units can last years without the need to change the batteries.
Image credit: Sylwester Bala - Things on Edge
Connect to other hardware devices:
The IOT Cricket really shines when connected and used in partnership with other hardware devices. Things on Edge provide guides on using the board with the BBC micro:bit and the Rapsberry Pi Pico. The guides walk you through creating a simple setup with the IOT Cricket which sends notifications to your mobile phone.
]]>
Speed Boost
The update to Bullseye unlocks more potential power from some models of the Raspberry Pi 4s. The default turbo-clock mode has increased from 1.5GHz to 1.8GHz. Compatible models are any 8GB Pi4 and recent models of the 2GB or 4GB Pi 4s which feature the dedicated switch-mode power supply components circled in the image below.
You can read more about the new increase speed and also on overclocking older models in the official Raspberry Pi blog post.
Appearance
With most major updates usually comes some changes to the appearance of the interface. There's a few updates in Bullseye which we'll highlight here. Some windows will now have tabbed sections, most of these can be found in the settings section. Windows also now have smoother opening and closing animations.
Notifications
Nowadays notifications are a huge part of most modern pieces of software and Bullseye final brings notifications about system status, updates, and applications to the Raspberry Pi OS. Along with the notifications also comes a range of settings which allow you to customise them.
Video Driver (KMS)
Kernel modesetting (KMS) is now baked into the latest version of the OS. It was previously an experimental version in previous versions but now it comes built-in and can now be modified by third parties meaning in the future there should be even more support custom displays.
]]>
It's an extremely versitile little board. Designed for everyone, from beginners learning to code to engineers creating embedded industrial applications. The board doesn't use flashy Linux operating systems, its programmable in both C and MicroPython using your favourite IDEs.
The RP2040 microcontroller chip
A small, cheap and user friendly microcontroller chip designed in the UK by the Raspberry Pi Foundation. The RP2040 features a Arm Cortex-M0+ clocking in at up to 133MHz with 256kb of internal RAM and has a variety of I/O options including the standard I2C, SPI and programmable I/O pins. The chip itself is available for purchase seperately, offering makers the chance to to add the RP2040 to their designs and take advantage of the chips high performance, low cost and ease of use.
Connections
Unlike most other Raspberry Pi boards the Pico doesn't have a video or audio output. Aside from the USB programming/power port there are no other ports like you'd expect from a standard Pi except for the boards pins. Which contain:
What will you make with the Pico?
There's a wide range of products designed to expand the possible uses of the Pico and others that utilise the power of the RP2040 microcontroller chip. We'll link some of our favourites below.
Designed for the Raspberry Pi Pico:
Grove Starter Kit for Raspberry Pi Pico | Maker Pi Pico Base | Get Started with MicroPython on Pico |
Designed Using the RP2040:
Pro Micro - RP2040 | Feather RP2040 | Seeduino XIAO RP2040 |
]]>
Between Christmas and New Year (29th, 30th & 31st) we'll be dispatching all orders with Royal Mail shipping only. Our usual cutoff times will not apply over this period as our staff will be working shortened hours. Any orders placed during this time with UPS shipping options will be dispatched on the 4th January 2022.
We'll also be responding to any customer questions via email although there may be a slight delay in responses so please be patient.
The provided dates are the latest recommended by the postal carriers and are not guaranteed to arrive in time for Christmas. We highly recommend ordering before these dates using a tracked service to ensure they arrive in time for the big day.
Date | Service |
17th December - Friday | 2nd Class Standard (Untracked) |
21st December - Tuesday |
1st Class Standard (Untracked) 2nd Class Tracked |
22nd December - Wednesday | 1st Class Tracked |
Postage Date | Service / Estimated Delivery |
20th December - Monday | Standard: Wednesday 22nd December Express: Tuesday 21st December |
21st December - Tuesday |
Standard: Thursday 23rd December Express: Wednesday 22nd December |
22nd December - Wednesday |
Standard: Friday 24th December Express: Thursday 23rd December |
23rd December - Thursday |
Standard: Wednesday 29th December Express: Friday 24th December |
Date | Location |
1st December - Wednesday | Caribbean |
6th December - Monday | Australia, Greece, Italy, New Zealand and Portugal |
8th December - Wednesday | Africa, Central and South America, Asia, Far and Middle East |
10th December - Friday | Cyprus, Eastern Europe (except, Czech Republic, Poland and Slovakia), Malta, Sweden and Turkey |
13th December - Monday | Canada, Czech Republic, Finland, Poland and USA |
16th December - Thursday | Austria, Belgium, Denmark, France, Germany, Iceland, Ireland, Luxembourg, Netherlands, Norway, Slovakia, Spain, Switzerland |
Date | Service |
6th December - Monday | UPS Standard UPS Saver |
13th December - Monday | UPS Express |
Please Note: All dates are correct at time of publication, this page will be updated if we are provided more information from the postal carriers.
*All duties and custom fees for all International orders are the buyers responsibility.
]]>
All these great features and functionality are great but what can you actually use the reTerminal for? We've put together a list of a few possible application for the reTerminal to help inspire you to get started.
Machine Learning - TensorFlow/ MediaPipe
The reTerminal is compatible with both TensorFlow and MediaPipe which are sets of machine learning tools which enable on-device machine learning helping developers run complex models on IoT devices. You could create automated entry system for vehicles using image/object detection and numberplate recognistion.
Handheld Device
Thanks to the devices small form factor and low weight in combination with the input buttons and touch display the reTerminal is makes a great IoT connected handheld device. With the ability to be powered from a battery bank you could create a portable system perfect for both on-site and office applications.
Industrial Applications - Machine Control Pad
As the system has a touch input display and runs on a linux based system it can be used for a range of different control softwares. It would for use with machines like 3D printers and CNC machines. Our friends over at Carbide3D have released their control software (Carbide Motion) for the Raspberry Pi. This means you could use the reTerminal to load in files, calibrate the machine and start cutting.
Seeed also provide a couple of guides on how to create your own user interface (UI) using both LVGL and QT for Python. Using these you could create your own customer interface with your own branding a bespoke functionality for an application.
Further Expansion Possibilities
Alongside the wealth of other features and connection on the reTerminal there is dedicated expansion connections for use with other hardware. On the back of the device there is a PCIe connection most commonly used in PC hardware and a 40-pin GPIO connector which is compatible with standard Raspberry Pi HATs & devices.
Buy Yours Now!
Wio Terminal from Seeed Studios
The Wio Terminal is a microcontroller with wireless connectivity that's compatible with Arduino and MicroPython. Along with Grove ports and a 40-pin GPIO the system also features a LCD display, IMU, microphone, buzzer, light sensor and microSD card slot It has both Wi-Fi and Bluetooth connectivity making it perfect for a range of applications including IoT.
The posibilites for the Wio Terminal are vast and range from a Raspberry Pi interface to a thermal imaging camera and everything inbetween. We've highlighed a few different uses below which highlight some of the key features of the Wio Terminal.
Gesture Sensing Using TinyML (Machine Learning):
Use the Wio Terminal in combination with the Edge Impulse machine learning system to create and train your own machine learning models. Simply connect your system to a PC and install the software. Then you'll need to feed the model samples to train it and do some slight fine tuning and you're ready to go. You can use the onboard light sensor, train the model with gesture such as rock, paper, sissors and create an intelligent opponent.
You can find full instructions on Edge Impulse and more examples in the links below.
Create Your Own Retro Pixel Games:
The Wio Terminal has a 320x240px LCD display, this could be combined with built in buzzer and 5 way switch to create the feel of retro handheld consoles. You could also use additional Grove sensors and devices to further enhance the experience, we'd suggest the Grove Thumbstick, Dual Button and Slide Potentiometer as other gaming inputs.
Long Range Data Transmission using the LoRaWan Chassis:
When combined with the LoRaWan Chassis the Wio Terminals potenial is expanded even further. With a long transmission range of up to 10km (in optimal conditions) and GPS support you can turn the system into a GPS tracker, network analyser, remote sensor unit or just a wirelss communications device.
WioTerminal LoRaWAN Network Analyzer- Open source LoRaWAN Field Tester
Like with the vast majority of their products Seeed have produces a number of support resources, we'll link a range of these below which give an idea some of the Wio Terminals capabilities.
Seeed has produced over 25 tutorial videos which they call the Wio Terminal Classroom. These videos go over everything from a simply hello world program to using the device as a TV remote.
]]>
Makey MakeyUsing the Makey Makey you can make anything into a key just by connecting a few alligator clips using high-resistance switching to detect when you have made a connection even through materials that aren't very conductive. This allows you to hook up all kinds of fun things as an input. For example, play Mario with a Play-Doh keyboard or piano with fruit! |
|
The MAKER CollectionThe Maker Collection consists of Arduino and Raspberry Pi based development boards with a whole range of additions that make it the perfect board for education and learning to code by helping reduce the amount of wires needed, meaning you can spend less time worrying about wiring and more time coding |
|
EdisonProgrammable through barcodes, block programming and Python, the Edison robot is a powerful, engaging tool for teaching children computational thinking and computer programming in a hands-on way. With more built-in sensors than any robot in its class as well as lights, sounds and autonomous behaviour capabilities. |
|
Circuit Scribe Mini Maker KitThe Circuit Scribe Mini Kit is an accessible introduction to electronics featuring a compact version of the conductive ink pen. This affordable mini circuit kit guides you along exploration of basic circuit concepts by drawing conductive doodles & creating paper-based switches with a mini ink pen. |
Our new Teensy LED Controller is designed to make using NeoPixel and DotStar LED strips and rings as easy as possible with a Teensy board. The screw terminal connectors mean you don't need to fuss with connectors, simply strip the wires and screw them into place. We've tested it with our range of LED Strips, Rings & Matrixes but it'll work with any LEDs that are compatible with Arduino and use the same connections.
Buttons:
Located on towards the bottom of the board are two pushbuttons labelled BTN1 and BTN2. When Teensy is connected to the board these are connected to P2 and P3 respectivley. When the button is pressed 5V will be present at the data pin, the data pin will be connected to GND. These buttons are perfect for changing between patterns or turning the LEDs on/off.
Potentiometers:
On the same edge of the board are two potentiometers with plastic knobs pre-attched, POT1 and POT2. These are connected to analogue pins A10 (P24) and A11(P25).
DotStar Connections:
Connect your DotStar compatible LED strips, ring and matrices to these terminal connectors. There are four labelled connections DIN, CLK, V+ and GND. DIN is connected to P4, CLK is connected to P5 and GND is connected to the microcontrollers ground.
NeoPixel Connections:
This connector is for use with all NeoPixel compatible LED devices. It has three labelled connections, DIN, V+ and GND. DIN is connected to P6 and GND is connected to the microcontrollers ground.
External Power Connections:
This connector is used to connect external power supplys for powering the system. It's connected directly the the Vin pin on the Teensy so is only suitable for power supplies that meet the Teensys requirements of 3.3V-5.5V. Most LED strips run at 5V so you'll need to use a 5V power supply.
We've created some simple example code to demonstrate how the various inputs on the LED Shield can be used. You can download the Arduino INO file here, the code is based on Adafruit's buttoncycle example uses the Adafruit NeoPixel library so you'll need to ensure you have that installed for the code to work as expected.
The code uses a button as an input to cycle through LED colours and one of the potentiometers to control the brighness of the LED patterns. The comments in the code below should help to illustrate how it works and what is happening.
#include Adafruit_NeoPixel.h
#define BUTTON_PIN 2
#define PIXEL_PIN 22 // Digital IO pin connected to the NeoPixels.
#define PIXEL_COUNT 24 // Number of NeoPixels
int BRIGHTVAL = 0; // Variable to store birghness value in
const int POT1 = A10; // Analogue input for Potentiometer 1 on the shield
int Pot1Value = 0; // value read from the pot
// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
boolean oldState = HIGH;
int mode = 0; // Currently-active animation mode, 0-9
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
strip.begin(); // Initialize NeoPixel strip object (REQUIRED)
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
// Get current button state.
Pot1Value = analogRead(POT1); //Stores input potentiometer value in variable
BRIGHTVAL = map(Pot1Value, 0, 1023, 0, 255); //Changes input into value between 0 & 255
boolean newState = digitalRead(BUTTON_PIN);
// Check if state changed from high to low (button press).
if((newState == LOW) && (oldState == HIGH)) {
// Short delay to debounce button.
delay(20);
// Check if button is still low after debounce.
newState = digitalRead(BUTTON_PIN);
if(newState == LOW) { // Yes, still low
if(++mode > 8) mode = 0; // Advance to next mode, wrap around after #8
switch(mode) { // Start the new animation...
case 0:
colorWipe(strip.Color( 0, 0, 0), 50); // Black/off
break;
case 1:
colorWipe(strip.Color(255, 0, 0), 50); // Red
break;
case 2:
colorWipe(strip.Color( 0, 255, 0), 50); // Green
break;
case 3:
colorWipe(strip.Color( 0, 0, 255), 50); // Blue
break;
case 4:
colorWipe(strip.Color( 252, 240, 3), 50); // Yellow
break;
case 5:
colorWipe(strip.Color( 152, 3, 252), 50); // Purple
break;
case 6:
colorWipe(strip.Color( 252, 3, 219), 50); // Pink
break;
}
}
}
// Set the last-read button state to the old state.
oldState = newState;
}
void colorWipe(uint32_t color, int wait) {
for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
strip.setPixelColor(i, color); // Set pixel's color (in RAM)
strip.setBrightness(BRIGHTVAL); // Set brightness value between 0-255
strip.show(); // Update strip to match
delay(wait); // Pause for a moment
}
}
]]>
Cool Components Protoboard - 1/2 Size (Pack of 3)
Most protoboards like our one shown below operate in the same way as a standard 0.1" spaced breadboards. There are two power lines at the top and bottom, each of these is usually connected all the way along the length of the board. Then there are verticaly connected rows on both sides of the central gap, this gap allows for the mounting/use of IC chips. The images below shows the copper connections in the PCB design and how this corresponds to the finished boards.
Just like when using a breadboard it's important understand the pinout of the components being used to ensure they are to placed on the board correctly. In larger more complex circuits all it can take is one incorrect piece of wiring to break a circuit.
Stripboard which is sometimes also referred to as Veroboard is slightly different to a breadboard or protoboards as the connections are all in one direction on the boards.
Stripboard - 0.1" Pitch (16 x 10cm)
This can be seen on the board as the copper traces are uncovered unlike typical protoboards. This does mean you can "cut" the traces to create seperate connections/lines in one column or row. As the copper connections are only on one side that's the side where the soldered connections need to be made, in simpler terms mount the components on the side without the copper so the legs/prongs are on the copper side of the board.
]]>
LilyPad Sewable Electronics KitMake your new summer wardrobe complete with some awesome wearable electronics! The LilyPad Sewable Electronics Kit lets you explore the wonderful world of electronic sewing (e-sewing) and e-textiles through a series of introductory projects using the LilyPad system. You'll learn how to sew basic circuits to light up LEDs, control them with buttons and switches and even experiment with a pre-programmed LilyMini circuit that reacts to ambient light levels allowing you to create all sorts of fun wearable accessories. |
Rover 5 Robot PlatformIf you're looking for a base for your next robot, look no further than the Rover 5. Weighing in at over 1kg without batteries, this heavy duty tank tread robot can drive over many different surfaces. The 4 independent motors each have their own optical quadrature encoder and gearbox can be driven by most microcontrollers. |
Solar PanelsMake the most of the sunshine by making your projects portable and powering them with one of these great value Solar Panels. They have a fine resin surface and sturdy back making they suitable for outdoor environments. Available in all different sizes and ranging from 0.5W to 2W and a typical open circuit voltage is around 5V. They also have a 2mm JST connector making them easy to connect to most boards/microcontrollers. |
Nibble!Take your gaming on the go this summer with the Nibble! This is the new and improved version of the popular MAKERbuino! Learn how to solder and design your own games that you can take out and about with you while you enjoy the sunshine! |
Organizer CabinetsWhy not make use of the warm and sunny weather to renovate and tidy up your makerspace or workshop? These orange and black handy storage cabinets can be wall mounted or sit on your workbench, making them the perfect storage solution for all your loose components, hardware and tools. They come in a variety of different options from 12 to 64 compartment trays. |
Buttons:
Located on towards the bottom of the shield are two pushbuttons labelled BTN1 and BTN2. When the shield is attached to an microcontroller these are connected to D2 and D3 respectivley. When the button is pressed 5V will be present at the data pin, the data pin will be connected to GND. These buttons are perfect for changing between patterns or turning the LEDs on/off.
Potentiometers:
In the centre of the board are two potentiometers with plastic knobs pre-attched, POT1 and POT2. These are connected to analogue pins A1 and A0 and when used as inputs provide a value between 0 and 1023 thanks to the Unos 10-bit ADC.
DotStar Connections:
Connect your DotStar compatible LED strips, ring and matrices to these terminal connectors. There are four labelled connections DIN, CLK, V+ and GND. DIN is connected to D4, CLK is connected to D5 and GND is connected to the microcontrollers ground. V+ will change between an external supply and the connected controllers supply depending on the posistion of the power supply switch this is detailed in the Power Source Switch section below.
NeoPixel Connections:
This connector is for use with all NeoPixel compatible LED devices. It has three labelled connections, DIN, V+ and GND. DIN is connected to D6 and GND is connected to the microcontrollers ground. Like with the DotStar connectors the V+ will depend on the status of the power supply switch.
External Power Connections:
This connector is used to connect external power supplys for powering the LED devices. When powered via USB or the barrel jack the boards power supply on an Arduino Uno can typically supply ~200mA. This is fine if you're using a 1m LED strip or LED ring but if you're using a longer strip you'll need more power.
This connector allows you to power the LEDs with a beefier power supply while also ensuring there is a common ground between the external power supply and the controller. If you use an external power supply you will also need to ensure the controller connected is also powered via it's own connections as this connector purely supplys power to the LEDs.
Power Source Switch:
This switch is used to determine which way the LEDs are powered. If you are using an external power supply connected via the Power terminal connector then ensure the switch is in the VEXT position. Otherwise ensure it is in the VINT position to power the LEDs from the connected controller.
We've created some simple example code to demonstrate how the various inputs on the LED Shield can be used. You can download the Arduino INO file here, the code is based on Adafruit's buttoncycle example uses the Adafruit NeoPixel library so you'll need to ensure you have that installed for the code to work as expected.
The code uses a button as an input to cycle through LED colours and one of the potentiometers to control the brighness of the LED patterns. The comments in the code below should help to illustrate how it works and what is happening.
#include Adafruit_NeoPixel.h
#define BUTTON_PIN 2
#define PIXEL_PIN 6 // Digital IO pin connected to the NeoPixels.
#define PIXEL_COUNT 24 // Number of NeoPixels
int BRIGHTVAL = 0; // Variable to store birghness value in
const int POT1 = A1; // Analogue input for Potentiometer 1 on the shield
int Pot1Value = 0; // value read from the pot
// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
boolean oldState = HIGH;
int mode = 0; // Currently-active animation mode, 0-9
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
strip.begin(); // Initialize NeoPixel strip object (REQUIRED)
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
// Get current button state.
Pot1Value = analogRead(POT1); //Stores input potentiometer value in variable
BRIGHTVAL = map(Pot1Value, 0, 1023, 0, 255); //Changes input into value between 0 & 255
boolean newState = digitalRead(BUTTON_PIN);
// Check if state changed from high to low (button press).
if((newState == LOW) && (oldState == HIGH)) {
// Short delay to debounce button.
delay(20);
// Check if button is still low after debounce.
newState = digitalRead(BUTTON_PIN);
if(newState == LOW) { // Yes, still low
if(++mode > 8) mode = 0; // Advance to next mode, wrap around after #8
switch(mode) { // Start the new animation...
case 0:
colorWipe(strip.Color( 0, 0, 0), 50); // Black/off
break;
case 1:
colorWipe(strip.Color(255, 0, 0), 50); // Red
break;
case 2:
colorWipe(strip.Color( 0, 255, 0), 50); // Green
break;
case 3:
colorWipe(strip.Color( 0, 0, 255), 50); // Blue
break;
case 4:
colorWipe(strip.Color( 252, 240, 3), 50); // Yellow
break;
case 5:
colorWipe(strip.Color( 152, 3, 252), 50); // Purple
break;
case 6:
colorWipe(strip.Color( 252, 3, 219), 50); // Pink
break;
}
}
}
// Set the last-read button state to the old state.
oldState = newState;
}
void colorWipe(uint32_t color, int wait) {
for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
strip.setPixelColor(i, color); // Set pixel's color (in RAM)
strip.setBrightness(BRIGHTVAL); // Set brightness value between 0-255
strip.show(); // Update strip to match
delay(wait); // Pause for a moment
}
}
]]>
Before choosing your charger it's important to know what charging current your battery requires. For most batteries the charging rate should not exceed 1C which can be calculated as 1 x Battery Capacity.
Charging Rate = 1 x C (Battery Capacity)
So for a 800mAh battery the charge current should not exceed 800mA. You'll need to remember this value as different chargers have different standard charge rates, most can be changed but additional parts and soldering is often required to do that.
These chargers are very simple and easy to use/setup. There is usually a 2-pin JST connector for connecting the battery and a USB connector to provide power to the charger. Most models will also have a LED indicators for power and charge status. We stock a number of different versions which use different USB connections, USB-C, Mini-USB and Micro-USB.
Passthrough chargers allow you to charge the connected battery while still providing power to your system. These boards will switch from battery power to the the USB input when it is connected. They usually also have a USB-A output and/or 5V/3V pins for connecting to your project. Like the standalone chargers these boards usually also have LED indicators for power, charge status and battery level.
Lipo Rider Plus (Charger/Booster) - 5V/2,4A
There are a number of different options when it comes to passthrough chargers. Some are designed for specific uses such as the Sunny Buddy or the Solar Lithium/Ion Charger which are meant for use with solar pannels. Others are more standard and have a USB or powered output pins and boost the voltage up to 5V like the PowerBoost range of boards.
]]>Stepper Motor with Cable (SKU: 469)
The ability to move in small, precide incriments makes stepper motors ideal for uses with XY plots such as CNC machines and 3D printers. They're often also used in robotics and automation due to their speed control and ability to provide max torque at low speeds.
Like anyting there are some downsides to using a stepper motor. They're less effifcient than other types of motors and typically run quite hot during operation. They also don't have any integral feedback on their position which means homing switches are often used when using stepper motors in XY plotters.
Instead of spinning coil like other motors, a stepper motor uses magents in the centre with wire coils surrounding it. These coils are grouped into phases which determines the step size of the motor. Energising these coil phases in sequence will cause the motor to rotate.
Types of Steppers by Bill Earl licensed under CC BY-ND 2.0.
The motor converts pulses in current from a driver into precide step movements by turning coils on/off almost instantly. Each driver pulse equates to one step of a full motor turn. As stepper motors use wire coils around a central magnet it can make part rotations (steps) extremely accurately and stop almost instantly.
Stepper motors come in a wide range of different coil configurations and phase types. The more phases a motor has the smaller the step size is meaning the resolution is higher. The most notible types of stepper motors are Unipolar and Bipolar.
Unipolar: This type of motor energises the coils in same direction everytime, meaning two coils needed per phase in order to give unidirection. This means the internal circuitry is simple but more space and more connections are required. Typically these motors are easier to use and lower in cost.
Bipolar: These motors use a single coild winding per phase, the current is just reversed to give motion in the opposite direction. This means sone more complex circuitry is required but the motors are smaller. These motors are generally considered better than unipolar ones as they have more torque and are more efficient.
Due to the specific way stepper motors work and are controlled you'll need to use a controller/driver to interface and use them. There are loads of options out there including HAT/Shields for Arduinos and Raspberry Pi boards as well as standalone USB controllers.
]]>
5V Step-Up/Step-Down Voltage Regulator
There are linear regulators that output the same voltage as the inputted voltage, these are often used when there is likely to be changes in load that would usually effect a voltage supply. There are also switching regulators that are capable of outputting a higher voltage than inputted as well as the more common version which lowers the voltage. If the regulator lowers voltage it is referred to as a Step-Down or buck regulator, if it increases the voltage it's referred to as a Step-Up or boost regulator. There are also some more complex regulators that can perform both functions, these are called Step-Up/Step-Down or Buck-Boost regulators.
Adjustable 4-12V Step-Up/Step-Down Voltage Regulator
]]>
Lithium Polymer Battery - 850mAh
Why would you use a LiPo battery in your project/application? Well there's quite a few advantages to using LiPos but with anything there are also a few drawbacks.
LiPo batteries are much lighter than other batteries and come in a wide range of different shapes and sizes. Thanks to the way these batteries work they're available in much higher capacities than comparible batteries without increasing drastically in size. The higher discharge rates on LiPo batteries also means they're ideal for use in higher powered applications. Some of the drawbacks to using Lipo batteries are that they require special chargers and have a slightly shorter lifespan than other batteries.
Most LiPo batteries have a nominal voltage of 3.7V meaning they output 3.7V for while they have charge. It is possible to find LiPo batteries with other voltages. These use single 3.7V cells in series to create a larger voltage, the most common one other than 1.7V is 11.1V which is made of 3 x 3.7V cells and often referred to as 3S for the 3 cells in series.
Example of an 11.1V LiPo battery often used in drones.
The continuous discharge rate (C) is a measurement of how fast the battery can safely be discharged without damaging the cell/s. In order to calculate a safe discharge rate you'll need to know the capacity of the battery. For example with a 1000mAh battery with a 2C discharge rating:
This is the maximum constant load the battery will be able to provide over a sustained period of time. Some modern batteries have a burst rating which means they're able to provide over their safe discharge rate for a shorter period of time.
Datasheet for 110mAh Lithium Polymer Battery
The capacity of the battery is how much charge it can hold, the larger the capacity the longer the battery can be in operation. Think of it like a water bottle, the larger the bottle the more water it can hold. The higher the capacity of a battery the larger it will be in size. LiPo batteries are available in a wide array of capacities from 110mAh to 12000mAh.
110mAh Lithium Polymer Battery
It's also important to understand the difference between mAh and Ah.
1Ah = 1000mAh
If a battery has a capacity of 1000mAh(1Ah) this means it can provide 1A for 1 hour.
We hope this gives you a good overview of what you need to know in order to understand and use a LiPo in your next project! You can view our complete range of LiPo batteries in our batteries section.
]]>We are one of the UK's largest Adafruit distributors and stock a wide range of their products but there's much more to the company that than you might know. We're going to give you a little history on the company and tell you about some of their most notible products.
Adafruit was founded in in 2005 by LadyAda (Limor Fried) with the aim of creating electronics products for makers of all skill ranges and ages. Now based in New York Adafruit designs and manufactures almost all their products at their factory in the heart of NYC. The name comes from the Limor Frieds' online nickname "LadyAda" which is a reference to the Mathematician Ada Lovelace.
Adafruit have developed hundreds of products across the years including everyting from sensors and breakout boards to electronic ink and condictive thread. Within all these products there are some specific products and developments that stand out from the rest. Here's some of the most notible ones.
The Feather range are Arduino like boards with the same pinout and form factor that are able to be used standalone or stacked with other boards and sensors. They're named Feather becuase of their small size and weight but also becuase of how portable they are. In addition to the development boards Adafruit also offer a number of FetherWings, add-on boards which add additional functionality and sensors and can easily be stacked on Feathers.
Adafruit popularised the NeoPixel and DotStar types of addressable RGB LEDs with their easy to use libraries. These LEDs are chainable meaning you can control an almost endless amount with a single control signal. NeoPixel and DotStar LEDs come in all shapes and sizes, rings, strips, bar, matricies and more!
CircuitPython
CircuitPython is a version of MicroPython designed by Adafruit to simplify and encourage learning their products. It makes getting started on projects even easier as only a text editor is required fir programming. With CircuitPython you can write clean and simple Python code to control hardware instead of having to use complex low-level languages like Arduino, C or C++. The simplicity of the Python programming language makes CircuitPython an excellent choice for beginners who are new to programming and hardware.
Audio FX Sound Board - WAV/OGG Trigger
The Audio FX sound board WAV/OGG trigger with 2MB flash is small and portable, making it easy to embed in props or costumes and play sounds from the simple press of a button or any other trigger method you choose. It doesn't require any programming and is a low cost solution.
What's smaller than a Feather but larger than a Trinket? It's an Itsy Bitsy! Itsy Bitsy is only 1.4" long by 0.7" wide, but has 6 power pins, 6 analog & digital pins and 17 digital pins. It packs much of the same capability as an Arduino UNO. So it's great once you've finished up a prototype on a bigger Arduino, and want to make the project much smaller.
I2S 3W Class D Amplifier Breakout - MAX98357A
The I2S 3W Class D Amplifier Breakout - MAX98357A an all in one digital audio amp breakout board that works incredibly well with the Raspberry Pi! This is an easy and low cost way to push your digital sound files around. It takes standard I2S digital audio input and, not only decodes it into analog, but also amplifies it directly into a speaker.
]]>
A function is a section of code that's designed to perform a specific action or task. It's useful when you need to perform this action/task multiple times in your program as a function only uses one line of code. This helps to keep your program organised, short, and simple to understand. As each time the function is "called" it uses the same lines of code it eliminates any potential errors from rewriting or copying code. You may not know but each Arduino sketch you write already uses two functions, the setup() and loop() functions. In this guide we'll be looking at the parts needed to create a function and also a some examples of how they can be used. We're using an Arduino Uno but the same applies to any Arduino based board.
Return type function name ( argument 1, argument 2, argument 3, ...)
{
Statements
}
In this code we create a function which outputs a line of text. As no data is returned from the function it has a type of void and no arguments are passed when it is called. You can see the output below of the serial monitor where the text from the function is outputted.
In this function we declare that it will return an integer and also uses an integer as an argument. When it is called we pass the value 27 into the function and assign the returned value to the variable output. Inside the function the argument (27) is squared and the output is returned out of the function.
]]>Dobot Magician - Basic Version | MeArm Robot (Arduino) |
There are a number of different types or Robotic arms but the most common and the type we primarily stock are Articulated Robots meaning they have three rotary joints. Robotic arms are designed to emulate the human arm so it makes sense that a lot of the parts and features they have relate to parts of a human arm.
Like a human arm has joints so does a Robotic arm, these allow the arm to move and also determine the limits of it's movement and rotations. The joints move the different parts of the arms using the connected motors, the control unit powers and sends instructions to the motors which correspond to different movements. Usually the number of joints will be the same as the degrees of freedom (DoF) which is the number of movable joints.
The end effector of a robotic arm connects at the wrist joint and produces the end result or action desired. This section acts as the hand and wrist and performs actions such as gripping an item, lifting an item via suction, engraving and so much more.
This is the brain of the arm, it in most cases houses the arms controller and is where you'll connect the cables needed to power and program the arm. On some robotic arms this will also be where you connect any external sensors or other devices such as conveyor belts.
Most robotic arms will use some form of sensor to complete their desired operations and provide feedback about the surrounding enviroment. This could be anything from a camera for item recognition to a temerature sensor for safe operation on a laser. This all help the robots to perform in a controlled way and intergrate with other systems.