HomeRaspberry PiArduino Plug & Make kit: no more breadboards!

Arduino Plug & Make kit: no more breadboards!

Ideal for STEM educators and teachers

Just over a year ago, Arduino released the 4th revision of their Arduino Uno boards aimed at makers, tinkerers and anyone trying to prototype a project or learn more about C++ and electronics. With a faster CPU, onboard LEDs and ESP32-based WIFI, the Arduino Uno R4 release added new ways to interact with R4 boards. One thing no one really talked about was a white Qwiic connector.

Arduino Plug & Make kit takes full advantage of that port and removes the need for a traditional breadboard!

No more breadboard

My journey with NotEnoughTech started with an Arduino kit I won through Instructables. The official kit consisted of an Arduino Uno board, a selection of breadboard-ready sensors, breadboard and more wires than I could count.

Years later, I hold an Arduino Plug & Make kit and it’s staggering how things are changing. New kit, new Uno, new breadboard-less sensors, new Arduino IDE 2.0, but the same mission: to bring programming and electronics knowledge to everyone. Why does it matter?

I recently started to teach robotics classes through STEM Ambassador outreach my workplace participates in. I very quickly discovered that while my students were keen learners, not everyone had the same skills which split my attention. To make things worse, accidents happen, and I didn’t have to wait long to see one of the boards going up in smoke due to an error in wiring. I had spares, but without them, the group wouldn’t be able to follow the lesson. Arduino Plug & Make kit completely removes this problem thanks to the polarised Qwiic connector present on Arduino Uno R4 and each Modulino board.

This isn’t the only change, as with the Plug & Make kit, Arduino re-designed the way you learn about electronics and programming.

What’s Modulino?

Arduino Plug & Make kit opens up a new approach to working with sensors by introducing 7 new Modulino boards that take advantage of the Qwiic connector (4-pin JST) and I2C protocol. Each board has 2 ports to connect and daisy-chain the sensors. Polarised plugs are impossible to connect incorrectly – reducing the time between getting things wired and coding. You can work with individual boards or link them all and access them via the I2C address.

At the time of the release, there are 7 Modulinos available, the names are self-explanatory, but I’ll cover each board with a summary:

The Modulino Knob is a rotary encoder that increases, or decreases, a number based on which direction it is rotating.

Component: PEC11J
I2C address: 0x76

The Modulino Pixels is a series of addressable RGB LEDs. These can be controlled by setting the brightness or the colour of each LED.

Component: LC8822-2020
I2C address: 0x6C

The Modulino Distance is a sensor that measures the time it takes for light to travel from the module to the object and back, using a tiny laser and a light sensor. The distance sensor is also known as a Time of Flight (ToF) sensor

Component: L53L4CDV0DH/1
I2C address: 0x29

At the center of this board, sits a rotary encoder with a The Modulino Movement can measure acceleration, which means it measures the rate of change of velocity of an object in terms of its linear acceleration along multiple axes.

Component: LSM6DSOXTR
I2C address: 0x6A

The Modulino Thermo can read both the temperature and humidity around you. This is a great component when you want to track the changes in indoor environments.

Component: HS3003
I2C address: 0x44

The Modulino Buttons is a three-button module, each button capable of having a HIGH or LOW state. Additionally, this Modulino has 3 yellow LEDs which can also be controlled independently.

Component: generic buttons
I2C address: 0x7C

The speaker is called a “piezo”, which comes from piezoelectricity. When you apply voltage to the speaker with a specific frequency, you generate a specific sound. Changing the frequency will change the tone of the speaker.

Component: PKLCS1212E4001-R1
I2C address: 0x3C

Each board has a predefined I2C address, which is perfect for connecting multiple boards, Arduino course takes advantage of this fact later.

Arduino Plug & Make kit consists of the 7 Modulino boards, the latest Arduino Uno R4 with WiFi, PCB for prototyping and all fixtures and connectors to get you started. It’s listed on the Arduino site for €78.

I know it’s tempting to point out, that there are similar boards and sensors available at lower prices, but this comparison only works if you compare hardware components. If you look at the Arduino Plug and Make kit as an all-in-one course to teach you about IoT, microcontrollers and coding – the value offered suddenly changes thanks to the brilliant learning tools Ardunio provided with this kit.

Project-ready, breadboard optional

To keep all Modulinos in place, a yellow Arduino PCB is included in the kit. It has mounting holes for the Arduino Uno R4 and all available Modulinos. The kit comes with fixtures too. While the mounting holes (16mm pitch) are predominantly used to affix Modulinos to the PCB, nothing stops you from utilising these to fit the sensors in your prototypes.

Interfacing via Qwiic isn’t the only option either. Each Modulino board has all the necessary pins broken out in the 2.54mm pitch that accommodates the standard breadboard. Once pins are soldered, Modulinos can be used on breadboards or soldered directly through holes and wires.

More than meets the eye

Each Modulino board has an I2C interface available via the above pins, but that’s not the only feature. The boards come with extra through-holes that offer interfaces like UART, dedicated interrupts, SPI and more. These are dependent on which board is used, and you can look up detailed specifications in technical documentation from Arduino.

Playing with Arduino Plug & Make

The assembly takes about 10-15 min if you want to add all Modulinos to the board. As the Qwiic cables are on the shorter side (my only complaint), do make sure to place the first board as close as possible to the Arduino Uno R4. You only need 2 screws per board to keep it in place, and boards can be fixed to the yellow PCB in any orientation.

Another thing to remember when playing with Arduino Uno R4 boards is that I2C offered via Qwiic connector isn’t the only instance. By default, the Arduino board will assign I2C to the default SDA/SCL pair available through the pin headers. If you want to use I2C via Qwiic connector, you must define it as a new object:

#Using default Arduino pins:
#include <Wire.h> 
void setup()
{
  Wire.begin(); 
  Serial.begin(9600);
}

 
#Using I2C via Qwiic connnector:
#include <Wire.h> 
void setup()
{
  Wire1.begin(); 
  Serial.begin(9600);
} 

The new library in Arduino IDE – Modulino will take care of that for you, and you’ll be able to interface with boards through #include <Modulino.h> rather than barebone I2C.

Learning

To get your feet off the ground Arduino prepared a course that will guide you through board-related projects and let you learn how to interact with each board to create a more complex system. The course takes about 5h and it’s available here. The Arduino account is required, as throughout the course, you’ll also learn how to use new skills to create IoT projects and visualise the data via the Arduino dashboard.

The new learning experience is simply awesome. An interactive webpage guides you through the process of testing the boards and sample projects making the experience so much more engaging than copying and pasting the code. Arduino Plug & Make kit can recognise the boards connected and upload relevant projects automatically to showcase their use.

Each project is available as an interactive template to explore and play with complete instructions, code and online integration. It’s a powerful tool for STEM educators and teachers. With little teaching experience, I can already tell that Arduino worked with educators and listened to their feedback about what would make classes better.

Lessons peel off each layer of the project and explain it in detail before the course takes you to the next part. As you progress through each course, you learn how to add new modules and visualise the data via Dashboard. Projects are explained almost line by line, but you are required to know the basics of programming to go through the course. Fortunately, Arduino already has these resources available.

Extra cost – optional

By default, Arduino Cloud offers a free plan that will cover most needs. If you want to work on more projects at the same time, you will have to subscribe to their Cloud offers. Fortunately, these are inexpensive (school plans offer even better conditions).

If you can’t afford Cloud plans, you can take your lessons offline and take a more traditional approach of using Arduino IDE 2.0 and working directly with your code locally. In short – Arduino Cloud is excellent for schools and educators or people who prefer to use web browsers.

LED spirit level

To have a bit of fun, I decided to use Distance,, Buttons and Pixels Modulino to create a quick spirit level to see how quickly I could get something working using tutorials and documentation.

After 40 min of playing with the code, I was able to assign individual axes to 3 buttons from the Buttons Modulino and use Pixels to display the approximation of the level of my yellow PCB. The code isn’t perfect, but the exercise has taught me how to use current modules and how to play with existing Modulino libraries.

Here is the code – feel free to make improvements!

Arduino Code

#include

ModulinoMovement movement;
ModulinoButtons buttons;
ModulinoPixels leds;

float x;
float y;
float z;
int selected_axis = 0; //0 = X, 1 = Y, 2 = Z
int val = 4;
int brightness = 25;

void setup() {
Serial.begin(9600);
Modulino.begin();
movement.begin();
buttons.begin();
leds.begin();

buttons.setLeds(true, false, false);
leds.set(4, RED, brightness);
leds.set(5, GREEN, brightness);
leds.show();

}

void loop() {
movement.update();

x = 1000 * movement.getX();
y = 1000 * movement.getY();
z = 1000 * movement.getZ();

if (buttons.update()) {
if (buttons.isPressed(0)) {
buttons.setLeds(true, false, false);
selected_axis = 0;

Serial.println("Button A pressed!");
} else if (buttons.isPressed(1)) {
buttons.setLeds(false, true, false);
selected_axis = 1;

Serial.println("Button B pressed!");
} else if (buttons.isPressed(2)) {
buttons.setLeds(false, false, true);
selected_axis = 2;

Serial.println("Button C pressed!");
}
}

for (int i = 0; i < 8; i++) { leds.set(i, WHITE, 4); leds.show(); } if(selected_axis == 0){ val = map(x, -100, 100, 0, 7); if(val > 7){val =7;}
if(val < 0){val =0;} leds.set(val, GREEN, brightness); leds.show(); Serial.print(val); Serial.print("Movement data: X = "); Serial.println(x, 3); } else if (selected_axis == 1){ val = map(y, -100, 100, 0, 7); if(val > 7){val =7;}
if(val < 0){val =0;} leds.set(val, BLUE, brightness); leds.show(); Serial.print(val); Serial.print("Movement data: Y = "); Serial.println(y, 3); } else if (selected_axis == 2){ val = map(z, -100, 100, 0, 7); if(val > 7){val =7;}
if(val < 0){val =0;} leds.set(val, RED, brightness); leds.show(); Serial.print(val); Serial.print("Movement data: Z = "); Serial.println(z, 3); } }

Final thoughts

Arduino Plug & Make kit is an ideal tool for teachers and educators, as offers a well-put-together kit with excellent documentation, projects and community support. There are less expensive alternatives, but these often lack documentation, are harder to utilise in classes and offer no dedicated courses or guides. If you want to start your journey into the world of IoT, microcontrollers and coding - It's the perfect tool to get you there. If I could build a "YouTube empire" based on adventures with a single kit - imagine where the road can take you if you give it a go. Let me know your thoughts in this Reddit thread.

🆓📈 - See the transparency note for details.

PayPal

Nothing says "Thank you" better than keeping my coffee jar topped up!

Patreon

Support me on Patreon and get an early access to tutorial files and videos.

image/svg+xml

Bitcoin (BTC)

Use this QR to keep me caffeinated with BTC: 1FwFqqh71mUTENcRe9q4s9AWFgoc8BA9ZU

M5Paper

Programable, ESP32 based awesome dev platform with 4.7 e-ink display by M5Stack

More HATs

client-image
client-image

Argon One M.2

Enclose Raspberry Pi 4 inside this great case with custom I/O, cooling and GPIO and M.2 SSD support

More cases on

client-image
client-image

Best Raspberry Pi Projects

How to use Raspberry PI as WOL (wake on lan) server

0
While you could wake up your PC from a mobile directly, having a dedicated server capable of doing so is the best solution. The reason is simple. You can hook up as many devices as you wish with a single endpoint. This is why Raspberry Pi is perfect for this.

Slow Internet Warning

0
From time to time my Internet grinds to a stop. Since Raspberry Pi 4 comes with a 1Gbps Ethernet, I decided to take advantage of it and create a reporting system in NodeRED that will monitor and report when the ISP is not keeping the contractual agreements. Works with Alexa, Google Home, Android and Windows 10.

How fast Raspberry Pi NAS is?

0
Let's see how fast Raspberry Pi NAS really is?

Argon18: Argon ONE SSD modification

0
Argon One case just got better - now you can boot it from USB without ruining the design thanks to Argon 18: Argon One SSD modification

HOW TO...

How to boot Raspberry Pi 5 from NVMe M.2 SSD

0
This is how you can boot your Raspberry PI 5 from NVMe in 10 min! Check out these easy instructions

It took me 2 months to boot CM4 from NVMe

0
Complete beginners guide to Compute Module 4 boot from NVMe.

Raspberry Pi Zero 2 W vs other Zero boards

0
It's time to test the Raspberry Pi Zero 2 W against other Raspberry Pi boards from Zero series: power, WiFi, temperature and core performance

C/C++ and MicroPython SDK for Raspberry Pi Pico on Windows

0
A guide to SDK toolchain for Raspberry Pi Pico and C/C++ , Micropython on Windows.

A comprehensive guide to Grafana & InfluxDB

0
How to use Grafana and InfluxDB on Raspberry Pi for IoT sensors in home automation