This article is part of the “Build a Real Robot” series of articles and videos which detail the ongoing construction of DB1, an “intelligent” robot that I am constructing. You can bring yourself up to speed with this project by reading the other articles and watching the videos on YouTube.
This is a bit of a “different” article in the series, essentially it explains the current project status and how I plan on proceeding. I’ll also show you the documentation for the IO Controller Board.
If you’re just here for the IO Board documentation you can get the PDF here. If you’re at all interested in how the project will go forward, as well as some personal introspection, then read on!
DB1 – An Update on the Project and a Personal Note
It has been a while since I have been able to work on the DB1 project, my life “outside” the workshop has had to take priority.
Being the caregiver to two family members, one of whom is elderly and the other who is handicapped, is a rewarding task but it sometimes has its challenges. While I love working in the workshop and creating content I do need to make my family a priority, and so in the last few weeks, there has been minimal progress on the DB1 project.
I’m back working on the project and have decided to give it a different approach. So today I’ll explain that strategy and will also show you something that I have created – the documentation for the IO controller board.
First, let’s look at how the project will be moving forward.
Life, The Universe, and Everything
Looking back at the first 15 episodes of this series I’ve come to the (rather obvious) realization that creating a new video and article every week is just not feasible.
Many weeks have gone by when I have had very little chance to work on this project. So a “weekly update” can be a challenge to put together when nothing has really changed. Keep in mind that it’s a lot more than just designing and building the project, I also need to create a video and article, and these things take time.
I also have the “regular” DroneBot Workshop articles and videos to prepare as well, these typically take a lot longer to make as they involve research, writing code and the creation of many graphics.
The last thing I would ever want to do is a rush job on either series. And while I have made many time-saving improvements in my production and research processes it still takes time to put quality content together.
I’m a “one-man operation” here in the workshop, so there is no one to delegate tasks to. I need to do it all myself.
Now please don’t think for a millisecond that I’m complaining, I love working on this stuff and creating content for all of you. And I really love working alone so I’m not looking for assistance.
Believe me, it’s the greatest job in the world and I’m thankful to have it, and I’m grateful to all of you for making it possible. I’m reminded of that every time that I watch my neighbors brushing the snow off of their cars or fighting the wind and rain to head off to the bus or train in the morning. It sounds pretty bad I know, but I always give a chuckle while I sip on my morning tea while watching their struggles before heading back down to the workshop to get to work. Not having a daily commute is absolutely wonderful!
But one thing that does cause me a great deal of stress is when I can’t fulfill my promise to bring you regular content. And being stressed out doesn’t do me, or you, any good at all. So something needs to change.
So let’s change it!
I still intend to publish DB1 content on Thursdays, but not every Thursday. I’ll attempt to get material out every second Thursday, but even that is not cast in stone, sometimes it may go three weeks. I’ll make every effort to never make it a longer gap than three weeks.
This reduced frequency will have several advantages for all of us:
- The content will be better as I’ll have more time to prepare it.
- There will be more to show in each episode, which will actually make the project progress faster.
- I’ll be able to participate more in the forum where we can discuss and debate all of the various aspects of the project.
- I’ll be less stressed so I’ll smile more in my videos – not sure if that is an advantage for not, but someone commented in one of them that I never smile (I didn’t realize that)!
I’m also making a slight alteration to the “regular” DroneBot Workshop videos and articles, they will stil be every week but will now be on Sundays instead of Saturdays. While my YouTube analytics tell me that Saturdays are the best days to publish, the Sunday schedule will be easier to fit into my schedule.
Hopefully, this new schedule will work better for everyone. Including DB1!
I have been working on documenting this entire project, eventually, we’ll merge the documentation into a big book that will be the complete DB1 project guide.
I’ll be producing documentation on the following topics:
- Mechanical Assembly – While I have already provided much of this in the earlier articles in this series ther is a need to put it all in one place. This will include parts lists and assembly instructions.
- Circuit Boards – This project will require a number of custom boards, there are already several of them. This is actually the documentation that I’m actively working on, and one of these documents is ready for you right now.
- Software – Obviously a lot of the hardware will require software. When it comes time to create the software (which is AFTER the hardware is in place) I’ll be putting it up on GitHub so that other people can contribute and improve upon it.
Early (Secret) Access
Now I want to make the following point clear – DB1 is an open-source project and all of the plans, documentation, and software are freely available to anyone who has an interest in it. You can modify it, redistribute it or just make fun of it to your heart’s content.
I’ll be posting the documentation and (eventually) the code on GitHub and here on this website. It will be posted when I feel it is ready for “prime time”.
However, I also understand that many of you are keen to get your hands on this information when it is still in its beta or alpha form. And I will let you do that via my “secret Patreon account”.
It’s not really meant to be a secret, I just haven’t finished all of the material to “officially” launch it. I’m determined to do that before the end of the year.
One of the levels in Patreon is the “Robotics Engineer”. Those who have joined at this level will have read-only access to the Google Docs that I’m using to create the documentation. So you’ll see them in their infancy.
Now let me stress again, Patreon support is entirely optional. I don’t want anyone to ever feel obligated to join. You can always support the workshop by sharing my content on social media, or just by binge-watching a bunch of the videos directly on YouTube (YouTube revenue is currently the only funding that the workshop gets).
And all of the documentation and code will eventually be available to everyone. Patreon users will just get an early look at it.
DB1 I/O Distribution Board
So at last, after almost 1300 words into the article, I’ll get to the point of today’s installment – the documentation for the DB1 I/O Distribution Board.
The IO Distribution Board is the one I’ve previously referred to as the “DIstrib Hub”, and it performs the following functions:
- Connects to the I2C bus on the Arduino Mega and converts the bus signals to buffered signals to extend the bus to four remote nodes.
- Receives the Emergency Stop signals from the remote nodes and routes them to the Motor Controller board.
- Extends the GPIO signals to/from the remote nodes and connects them to the Arduino Mega.
This PDF document is the latest revision of this document. And while it might not be the most exciting document you’ve ever read it does contain all of the information you would need to construct this board.
The document also illustrates the format I’ll be using for all of the custom board documentation. It contains the following sections:
- Table of Contents – I think this is self-explanatory!
- Introduction – Describes the function of the board in the DB1 design.
- Connections – Description and pinouts of all the connectors on the board.
- Indicators – Description of all the indicators on the board.
- Schematic – A complete schematic diagram. For complex boards, this may be presented as multiple schematics.
- Parts List – A list of parts, including the part numbers for some of the “harder to find” components.
- Additional Notes and Images – Any relevant notes and images that would be helpful in building the board or understanding its operation. This includes pinouts for some of the components (i.e. integrated circuits) as well as diagrams that I have previously presented in articles describing the board.
Check out the documentation and let me know what you think.
This has been a bit of a different article and video, and if you actually made it this far I’d like to thank you for taking the time to read it. Hopefully, it didn’t come off as a rant, but instead as an honest reflection as to where the DB1 project is heading.
DB1 is still very much alive, and will soon be navigating around the workshop and exploring its little world. Please continue to stick with me while I get this project built properly.