Post navigation

Modular IO

Key technologies: RS485, bootloader design, Modbus, Google Analytics, Google Adwords, Facebook Ads, Twitter Ads


In 2015, my dad, my brother, and I became interested in simple IO modules that could be used for testing or remote IO. There are many IO modules on the market, but many of them are overly complicated and expensive.

We started by building two simple modules, a relay-output module and a binary-input module. Our plan was to build open-source libraries for popular programming languages (starting with Python) to make these modules simple to use. The modules could be used with popular development boards, including Raspberry Pi and Beaglebone Black.

The modules used an RS485 bus and an FTDI USB-to-RS485 converter to communicate with the host PC. The

The hardest part of this project turned out to be creating a standalone bootloader that could jump into a second main application. It doesn’t work to simply jump to the correct memory address. The ARM processor and peripherals need to be reset to their initial states, the vector table needs to be remapped, and the stack pointer needs to be set to its new “initial” value.

We got both of the new modules up and running, and we have been using the relay-output modules to toggle Christmas lights at our parents house.

This project has been put on pause for the moment. I was researching methods of driving traffic to our website, but I wasn’t able to find a good way to connect with potential customers or drive purchases.

Leave a Reply

Your email address will not be published. Required fields are marked *