MicroBoSL

From BoSL Wiki
Jump to navigation Jump to search

For schematics and design files please see: microBoSL Board rev0.1.0


Here we will document the design of the microBoSL board, a miniaturized version of the BoSL board optimised for automatic pumping operations.

Changes include:

  • Smaller size, no more than 14 mm in width
  • Integrated MOSFET for pumping operations
  • Reduced connectivity
  • Add connection for wake and pump counting hall effect sensors
  • o-ring circuit for USB or battery powering.


To do this many components will have their parts changed to a smaller footprint version. These substitutions include:

  • Many passives -> mostly 0402
  • ATmega328P-AU -> ATmega328P-MMH
  • FT232RL -> FT232RQ
  • 74HC126D -> 74HC126PW-Q100
  • MCP7940NT-I/SN -> MCP7940NT-I/MNY
  • MCP1700-3302E_SOT89 -> MCP1700-3302E_SOT23

20th January 2020

The micro BoSL is here:

A quick test reveals that programs are able to be uploaded to the device. This verifies the status of the MCU and the USB-TTL converter.

Next is to test the RTC. A quick test with indicates that this too is working well. An issue is had a bit with the LEDs. These tend to stay on even after the USB power is removed. This is an issue as it could cause extended power draw. A work around found was to hold the reset button for 3 seconds until all the LEDs turned off after this they did not seem to turn on again.

A test using the RTC persistence time keeping indicates that the board can operate on battery power hence, the o-ring and power delivery circuit does indeed work.

Now we need to test the MOSFET. Applying a 50 Ω load connected on the high side to 5V, the MOSFET was able to turn this on and off. Thus, the MOSFET is at least capable of driving a 100 mA load, and it is suspected that an even greater load is possible.

Notably what hasn't been tested is the pin interfaces on the external side of the device. This includes the hall effect sensors. However this is very simple circuitry, direct connections to Arduino pins, so issues should be had.

25th January 2021

The sleep quiescent current was also measured, using the Arduino low power library (RTC on). This was found to be 6.8 μA. In idle the current was about 4 mA. The O-ring circuit was also tested more thoroughly. It was found that at battery voltages below 5.3V, the board drew zero current from the battery, preferring to be powered via the USB.

3rd February 2021

A test was conducted to see how the microBoSL was able to perform in a pumping environment. To do this the BoSL FAL pump was connected to a water reservoir and an empty water container. The pumping program was uploaded to the microBoSL, with parameters: PumpEveryXMin = 1, DurationOfRun = 180, NumberOfSpins = 10. The microBoSL and pump were powered with a 4.2V li-ion battery. The hall effect sensor was connected directly up to the ports on the Pump was connected on the positive side through 4.2V and on the negative side to the MOSFET integrated into the microBoSL.

The test was ended at the 3 hour and 9 minute mark as the microBoSL had not finished on its own. It is uncertain if this was because of the inaccuracies of the internal clock. At the end of the a volume of 260 mL was pumped. Given that over this time the pump underwent approximately 1890 rotations the volume per rotation is 0.14 mL. This is in accordance with proper operation of the pump.

26th March 2021

Getting Started With the RTC

The microBoSL features an inbuilt MCP7940N-xSN RTC. This can be used for keeping real time and setting alarms to wake up the ATmega328p. The RTC communicates via I2C and an additional multi-function pin MFP, which is connected to digital interrupt pin 2 on the ATmega. This pin is mostly used for waking up the ATmega328p from sleep on a timed alarm. The RTC may be operated either via I2C commands or via a library. One such library is this one.

Below is some code helpful in getting started with the RTC it will be using the library mentioned above.


Not that the RTC has no backup batter and will loose time if power is disconnected from the microBoSL.

A datasheet which has a details the complete set of features is available here MCP7940 datasheet