Feeding Experimentation Device (FED) is an open-source device for measuring food intake in mice. FED can also synchronize food intake measurements with other techniques via a real-time digital output. Here, we provide a step-by-step tutorial for the construction, validation, and usage of FED.
Food intake measurements are essential for many research studies. Here, we provide a detailed description of a novel solution for measuring food intake in mice: the Feeding Experimentation Device (FED). FED is an open-source system that was designed to facilitate flexibility in food intake studies. Due to its compact and battery powered design, FED can be placed within standard home cages or other experimental equipment. Food intake measurements can also be synchronized with other equipment in real-time via FED’s transistor-transistor logic (TTL) digital output, or in post-acquisition processing as FED timestamps every event with a real-time clock. When in use, a food pellet sits within FED’s food well where it is monitored via an infrared beam. When the pellet is removed by the mouse, FED logs the timestamp onto its internal secure digital (SD) card and dispenses another pellet. FED can run for up to 5 days before it is necessary to charge the battery and refill the pellet hopper, minimizing human interference in data collection. Assembly of FED requires minimal engineering background, and off-the-shelf materials and electronics were prioritized in its construction. We also provide scripts for analysis of food intake and meal patterns. Finally, FED is open-source and all design and construction files are online, to facilitate modifications and improvements by other researchers.
With the rise of global obesity over the latter part of the 20th century, there is renewed attention on the mechanisms underlying feeding1,2,3,4. Typically, food intake is weighed manually5, or with commercially-available feeding systems. Commercial systems are excellent, but provide limited flexibility in modifying their designs or code. Here, we describe the Feeding Experimentation Device (FED): an open-source feeding system for measuring food intake with fine temporal resolution and minimal human interference6. FED is battery powered and fully contained within a 3D printed case that can fit inside of standard colony rack caging or other scientific equipment.
In its steady state, FED operates in a low-power mode with a food pellet resting in its food well. The presence of the pellet is monitored via an infrared beam. When a mouse removes a pellet, a photointerrupter sensor sends a signal to the microcontroller and the time-stamp is logged on the onboard secure digital (SD) card. Concurrently, a transistor-transistor logic (TTL) output provides a real-time output of pellet retrieval. Immediately following this event, the motor rotates to dispense another pellet, and the system returns to its low power mode. Due to its open-source nature, FED can be modified and improved to fit specific research needs. For example, the code can be easily altered to limit feeding to specific times of the day, or to stop dispensing when a number of pellets has been reached, without requiring human interference.
Here, we outline the step-by-step instructions for the construction, validation, and use of FED for measuring food intake in mice. We provide a list of all components to construct a system. Importantly, no prior experience in electronics is needed to construct FED.
NOTE: This protocol is written for components specifically named in the Table of Materials. While similar functionality can be achieved using other hardware, FED was programmed for the Arduino Pro microcontroller (henceforth termed: microcontroller) and listed accessories. Other microcontrollers may work equally well, but will require the user to modify the code to support them. Offline data analysis was coded using the Python programming language.
1. Preparation and Software Installation
2. Soldering Electrical Components
NOTE: Use heat shrink tubing to protect all soldered joints. Prior to soldering connections, slide a piece of shrink wrap tubing (~2 cm) tubing around one of the wires. After soldering the connection, center the tubing on the connection point and use a heat gun to heat shrink the tubing.
3. Software Upload
4. Hardware Assembly
5. Validation and Data Acquisition
NOTE: Prior to powering on a FED system, ensure an SD card is inserted on the SD shield, otherwise FED will not dispense pellets. Additionally, ensure power jumper on the motor shield (just above the power block) is in place.
Validation tests involving the use of animals were reviewed and approved by the Animal Care and Use Committee at the National Institute of Diabetes and Digestive and Kidney Diseases. To demonstrate the use of FED for measuring home cage feeding, adult female C57BL/6 mice (n = 4) were individually housed with ad libitum access to water and standard laboratory chow under a 12/12 h light/dark cycle (lights on at 05:00). After a one week habituation period, the food hopper was removed and replaced with a FED for five days of validation testing. At the end of the testing period, FEDs were removed from cages and feeding data from each SD card was analyzed using custom, freely-available scripts and a spreadsheet program. As shown in Figure 4A, pellet retrieval for individual mice (top panel; rasters indicate single pellet retrieval events) and average pellet retrieval across all mice in 30 min bins (bottom panel; line indicates mean ± SEM) show continuous feeding across the validation testing period, with clearly visualized circadian rhythmicity. To quantify the accuracy of FED's data logging capacity, each FED system was given 1000 pellets for the validation testing period and the remaining pellets were manually counted and compared to logged data on the SD card. FED logged 95.35 ± 1.25% of pellets that were dispensed to the SD card (Figure 4B).
Figure 1: 3D Designed FED Components. (A) Measurements of assembled FED. (B) Exploded view of 3D printed components in an assembled FED. (C) Exploded view of complete pellet hopper assembly (left), assembly of stepper motor to rotating disk (middle), and assembly of food silo to rotating disk (right). (D) Design of food well with arms to secure the photointerrupter for pellet detection. (E) Photograph of fully assembled FED. Please click here to view a larger version of this figure.
Figure 2: Wiring of FED Electrical Components. Wiring and assembly of (A) Connectors (B) Microcontroller, Data logging/SD shield, Motor shield, (C) Power button, (D) Photointerrupter, (E) Boost board, (F) BNC output cable, (G) Wiring of motor shield. Please click here to view a larger version of this figure.
Figure 3: Assembly of FED Hardware. (A) Mounting stepper motor (left) into motor mount and attaching pellet disk (right). (B) Wiring stepper motor to motor shield. (C) Inserting photointerrupter into 3D printed housing. (D) Attaching battery to Boost board. (E) Boards assembled inside FED housing. Please click here to view a larger version of this figure.
Figure 4: Representative Food Intake Data Collected via FED. (A) Food intake data collected via FED and visualized using open-source analysis scripts. Top panel: individual rasters indicate single pellet retrieval events, with rows containing individual mice. Bottom panel: line indicates mean ± SEM of food intake across mice (n = 4). (B) Accuracy of individual FED units in logging dispensed pellets. Colors correspond with rasters in Figure 3A. Please click here to view a larger version of this figure.
Figure 5: Modified uses for FED. (A) Externally mounted FED reduces floor space in rodent cages. (B) Changing the front-face configuration allows for the addition of two nose poke ports for operant training. Please click here to view a larger version of this figure.
Supplemental File 1: Hardware Schematic. Graphic schematic showing the electronic connections of FED. Please click here to download this file.
Supplemental File 2: Sample Output Code. Sample .CSV file showing output code from FED. Please click here to download this file.
Supplemental Files 3-6: Analysis Scripts. Four analysis scripts are provided for analyzing FED data: eating_rate.py, meals.py, meal_bars.py, and plotmice.py. Input parameters and description is provided in the commented sections at the top of each script. Please click here to download this file.
The Feeding Experimentation Device (FED) is a flexible food intake monitoring system. Here, we describe detailed instructions on fabricating and troubleshooting the device, including the assembly of 3D printed hardware, soldering of electrical components, and uploading of sketches onto the microcontrollers. Though it is important to follow all steps outlined in the protocol carefully, there are critical steps that deserve extra attention in each section to ensure a successful end product. The 3D printed rotating disk should fit snugly onto the stepper motor shaft and be able to rotate with minimum resistance from neighboring parts. When soldering pin connections, be sure that the solder joint is secure without having excess solder. Ensure that all additional libraries installed must be located in the correct directory before uploading the script onto the microcontroller. The process of assembling FED involves tasks that are easily achievable, even with no prior experience in 3D printing or electronics.
There are few limitations with FED. First, each FED uses an internal SD card to log and store data. SD cards can be a cumbersome means to track and store data from many FEDs. We are exploring wireless data transfer to alleviate this issue, but the current iteration of FED relies on local storage on SD cards. Second, ~ 5% of the time FED dispenses two pellets instead of one. While pellet jams have not occurred in our hands with enough frequency to count, this possibility should be strictly monitored as we cannot rule them out completely. Users should never leave mice with FED as their only food source without checking FED's functionality daily. Despite these limitations, we believe FED's error rate is acceptable for most research studies. That said, in future work we will seek to decrease these errors further. Finally, the tolerance of 3D printing can vary depending on the specific 3D printer and material. As such, the 3D design files we provide may need to be tweaked for printing on other models of 3D printer, or with other materials. As one helpful tip, we have found that a heat gun can be used after printing to soften 3D printed parts for minor adjustments.
A single FED can be assembled for approximately $350. Of this price, we estimate ~$200 for commercial 3D printing out of PLA material, and ~$150 for purchasing the electronic components. 3D printing costs vary greatly depending on the quality and material. It is possible to reduce this cost considerably if a user prints their own parts. FED could also be printed or machined out of more durable materials such as stainless steel or aluminum, although this would be costlier.
We chose to build FED with a microcontroller on a programmable circuit board with an open-source platform. For this, we chose the open source microcontroller (see Table of Materials) as it has a low power draw. However, our code should work on any board that has sufficient input/output pins. Changing microcontroller boards will likely require minor changes to the code. We provide all design files and code online, and our design is open-source to provide researchers with flexibility to modify FED to suit their needs, including the use of other microcontroller boards.
There is a growing trend towards open-source hardware for scientific research. Various groups have made open-source devices for neuroscience research, including OpenControl, a software for video tracking animals during behavioral tasks7; ROBucket, an Arduino-based operant chamber for liquid outcome delivery8; ELOPTA, a PICmicro-based operant device for pellet outcome delivery9; and BEEtag, an image-based tracking system for bumblebees10. FED complements these with its unique form factor and low cost. A key aim for FED was to make it open-source. Open-source hardware allows researchers to perform minor tweaks to designs (for example to modify the dimensions), but is particularly powerful when users perform major modifications to expand the functionality of the hardware. For example, it is fairly easy to modify the design of FED for external mounting on a cage, which both protects FED and increases floor space within the cage (Figure 5A). Additionally, we designed FED to have room for nose-pokes on each side of the feeding well for operant training, and have successfully implemented these with minor design changes (Figure 5B). We will post such developments on our website (https://github.com/KravitzLab/fed), where we also look forward to hosting other such improvements from the research community.
The authors have nothing to disclose.
This work was supported by the Intramural Research Program of the National Institutes of Health (NIH), The National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK). We thank the NIH Section on Instrumentation and the NIH Library for assistance with 3D printing.
Electronics | |||
Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit – v2.3 | Adafruit | 1438 | Use of other motor shields has not been tested and will require changes to the code |
Adafruit Assembled Data Logging shield for Arduino | Adafruit | 1141 | Use of other data logging shields has not been tested and will require changes to the code |
PowerBoost 500 Charger | Adafruit | 1944 | Other voltge regulator boards have not been tested, but should work if they have similar specifications |
FTDI Friend + extras – v1.0 | Adafruit | 284 | Any FTDI-USB connection will work |
Small Reduction Stepper Motor – 5VDC 32-Step 1/16 Gearing | Adafruit | 858 | Use of other stepper motors has not been tested |
Arduino Pro 328 – 5V/16MHz | SparkFun | DEV-10915 | Other Arduino boards should work, although may require changes to the code |
Photo Interrupter – GP1A57HRJ00F | SparkFun | SEN-09299 | Other photointerrupters will work, but may require changes to the 3D design |
SparkFun Photo Interrupter Breakout Board – GP1A57HRJ00F | SparkFun | BOB-09322 | Other photointerrupters will work, but may require changes to the 3D design |
Connectors, screws, and miscellaneous items | |||
Shield stacking headers for Arduino (R3 Compatible) | Adafruit | 85 | Any stacking header that says Arduiono R3 compatible will work |
Multi-Colored Heat Shrink Pack – 3/32" + 1/8" + 3/16" | Adafruit | 1649 | Any heatshrink will work |
Hook-up Wire Spool Set – 22AWG Solid Core – 6x25ft | Adafruit | 1311 | Any wire will work |
Lithium Ion Battery Pack – 3.7V 4400mAh | Adafruit | 354 | Any 3.7V Lithium battery with a JST connector will work |
SD/MicroSD Memory Card (8GB SDHC) | Adafruit | 1294 | Any SD card will work |
50 Ohm BNC Bulkhead Jack (3/8" D-Hole) | L-com | BAC70A | Any BNC bulkhead will work |
Type 316 Stainless Steel Pan Head Phillips Sheet metal screw, No 6 size, 1/4" Length | McMaster-Carr | 90184A120 | Any screws of this specification will work |
Type 316 Stainless Steel Pan Head Phillips Sheet metal screw, No 2 size, 1/4" Length | McMaster-Carr | 91735A102 | Any screws of this specification will work |
Nylon 100 Degree Flat Head Slotted Machine Screw, 4-40 Thread, 1" Length | McMaster-Carr | 90241A253 | Any screws of this specification will work |
Nylon Hex Nut, 4-40 Thread Size | McMaster-Carr | 94812A200 | Any nut of this specification will work |
2Pin JST M F Connector 200mm 22AWG Wire Cable | NewEgg | 9SIA27C3FY2876 | Any 2 pin connector will work for this connection |
Metal Pushbutton – Latching (16mm, Red) | SparkFun | COM-11971 | Any push button or switch will work |
Resistor Kit – 1/4W | SparkFun | COM-10969 | Any 1/4W resistors will work |