This instructable is to document my steps in creating a small add-on board for the Arduino Mega.
The final board will feature:
- ESP8266 module to allow WiFi connectivity
- 4 pin serial port for either a Bluetooth module or other serial output
- i2c headers for quick and easy connection of i2c enabled devices
- Analog & Digital Pins broken out with 5v and ground pins for easy sensor/servo connections
The aim is to make the add-on board to fit the Mega alongside a normal Uno-sized shield, meaning it can be used in conjunction with pre-existing shields such as lcd shields, relay shields, motor shields etc.
The end goal is to create a small board which will take big steps towards making the Arduino Mega a fantastic platform for modular development!
Step 1: Pin Planning
Before we delve into the components required we need to see what pins we have available to use.
This will dictate what we can add, and how we can add it. Luckily, the Mega has a fantastic amount of Analog, Digital and Communication pins located where we are hoping to add our board.
On the pin map above an Arduino shield would use/obscure access to all pins down to A7 and TX3/RX3. This gives us the following pins to use at our disposal:
- TX1/RX1 - Serial Port
- TX2/RX2 - Serial Port
- SDA/SCL - i2c pins
- A8-A15 - Analog Pins
- D22-D53 - Digital Pins
- 2x5v/2xGND - Power and Ground rails
This is perfect.
We can use TX1/RX1 to connect an ESP8266 module for WiFi and TX2/RX2 to connect a Bluetooth module. This will give us plenty of wireless communication options to pair with phones/tablets/pcs and interact with web devices.
We can also create a few i2c ports using the SDA/SCL pins, meaning we can easily communicate with wired devices. We can also make the Bluetooth module removable if we need a wired serial connection.
We also have plenty of analog and digital pins to break out and also 5v and ground pins down there so we don't have to route power from elsewhere!
Step 2: Components
In order to create a prototype of this board we will need the following:
1x ESP8266 Module
At the time of writing I am currently using the Wemos D1-mini to test my ideas. This board is cheap, has a smallish footprint and is also something I have a lot of, so it was the natural choice to get started :-)
At present i have it stuck to my Mega with Blu tack ha ha!
I have ordered a variety of ESP8266 based modules to try out with this project. The most likely candidate to be used is a module with serial pinst broken out. this will make it easy to add it to my project just using a header.
1 x Bluetooth Module
There are many bluetooth modules available which can be used with this project; as long as the modules has tx/rx/5v/gnd pins we can use it!
Whether you are using perfboard to make this device or using a pre-made mcb design with i will be adding in the future you are going to need plenty of pins. Male pins will be used to plug the board into the Arduino, and depending on your chosen components/connection preferences you may need male or female pins. I may look to use some right angled pin headers to keep a low profile.
Step 3: Creating Your Add-on Board
First will be a hand-made perfboard to demonstrate function and test designs, then i will be looking to create a PCB design to finish the project.
Step 4: Uses
There are so many uses for this little add-on board which can turn a spaghetti-mix of wires into a nice and easy modular design.
Let me know how you'd use something like thiss and I'll add it to the example list!
Webserver - LCD shield for feedback/button control, add-on board for wifi connection
Home automation - Relay shield, add-on board for wifi connection and analog sensors (i2c LCD screen for display)
WiFi Robotic control - Motorshield for robot control, add-on board for wifi connection and further sensors.
Robotic Remote control - LCD Shield for display and buttons, add-on board for wifi/Bluetooth. You could even add analog sticks using the add-on board's analog pins for a more conventional controller.
Step 5: Updates
This project is currently in development, and is going to be updated on a regular basis.
The planned updates will be to cover:
- Fabrication of a perfboard version of the board
- Creating the PCB design
- Fabrication of the final pcb version of the board
- Demos and examples
Thank you for taking time to look at my random ideas - feel free to put forward your suggestions!