Skip to content
Benjamin Elmore
  • About
  • Work
  • Experience
  • Gallery
  • Contact
  • Résumé

Gallery

Gallery

Selected project diagrams, bench results, code excerpts and team photos, with source notes and links to the related pages.

01 / Projects

ARC

  • Data path: I²C sensors to an I²C multiplexer to the ESP32-S3 running ARC firmware, then half-duplex RS-485 to the V5 Brain.
    ARC-01ARC data pathDesigned data path from the ARC sources at ARC CPPDev 49d54a0. Read direction verified on the bench on November 10, 2026.Used on: ARC
  • The ARSENAL-3 board on pink anti-static foam, cabled to a VEX V5 Brain labelled CBU 3 that shows the ARC three-temperature bus test.
    ARC-02The ARSENAL-3 to the V5 Brain over RS-485Bench test, November 10, 2026: three temperature sensors on the ARSENAL-3, read by ARC and sent over RS-485 to the V5 Brain. Levels adjusted.Used on: ARC
  • V5 Brain screen showing the ARC three-temperature bus test: 510 sent, 59 received, 0 bad, reply OK with markers and checksum, 49-byte reply, sensors 2, 3 and 4 at about 26 to 28 degrees C, and a hex dump of the reply.
    ARC-03V5 Brain: ARC three-temperature bus testThe V5 Brain side of the same bench test. The captured V5 display recorded 59 replies and 0 bad packets, with valid frame markers and checksums. Each reply is a 49-byte packet. Levels adjusted.Used on: ARC
  • ARC system architecture in three packages: sensor hardware, the ESP32-S3 controller firmware classes, and the RS-485 robot interface to the V5 Brain.
    ARC-04ARC system architectureRedrawn from the original PlantUML layout, updated to ARC CPPDev 49d54a0. The read path was verified on the bench on November 10, 2026.Used on: ARC, Home thumbnail
  • ESP32-S3 serial monitor, October 28, 202616 LNSerial output
    1=== SERIAL STATUS ===
    2_status: ESP_OK (0)
    3_isFirstRead: false
    4_validPacket: false
    5_currentPacketState: WAITING_FOR_HEADER (0)
    6_packetLength: 22 body bytes
    7_timeSinceLastReceive: 0
    8_timeOfSending: 164438584
    9_packet [full buffer] (128 bytes, hex):
    10  000: 80 00 16 00 00 00 00 09 CD 22 38 10 00 00 00 00
    11  016: 00 00 00 00 00 00 00 00 00 DE AD BE EF 00 00 00
    12  032: 40 DE AD BE EF 00 00 00 00 00 00 00 00 00 00 00
    13  ... (rows 048-112: all 00)
    14_sensorIDS (slot order): 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    15=====================
    16UART received: 37
    
    ARC-05ARC serial monitor outputBench serial output from ARC, October 28, 2026, with the RS-485 link under isolated test on the ARSENAL-2.5: a read request from the V5 Brain received and parsed without error. Duplicate buffer output and all-zero rows are omitted. Text, as on the ARC page.Used on: ARC
  • Code window of the readTemperature function for the TMP117 sensor: it reads the temperature register under the held bus lock, checks the status, combines the two bytes and calls setReadings.
    ARC-06TMP117 sensor example: readTemperature()Lines 8 to 23 of lib/Sensor/SensorOffsetConfig.h at CPPDev b24ce84, blank lines omitted. The longer example, with excerpts from src/main.cpp, ARC_Sensor.h and SensorOffsetConfig.h, is on the ARC page.Used on: ARC, Home hover background
  • Code window of the LockGuard RAII class that holds the shared I²C bus mutex.
    ARC-07LockGuard, condensedCondensed from lib/LockGuard.h at ARC CPPDev 49d54a0.Used on: ARC, Home hover background

MarketTesting

  • Pipeline, top to bottom: CSV or yfinance data, pandas and NumPy preprocessing, RobustScaler feature scaling, 100-day windows, LSTM, prediction table.
    MT-01MarketTesting pipelineData flow through the package at MarketTesting main 79f6e12.Used on: MarketTesting
  • MarketTesting prediction table for AAPL: rows of predicted close, high, low, open and volume over 90 trading days, in the column order of the model output.
    MT-02AAPL prediction tableWritten by DataLog from the November 8, 2026 training run at MarketTesting main 79f6e12. Model output only; not a validated trading result.Used on: MarketTesting, Home thumbnail
  • Terminal output from a MarketTesting training run: per-epoch loss for MSFT, NVDA skipped with a scaled-data message, then AMD.
    MT-03Per-ticker training runTerminal output of the model training client flow on 12 tickers at MarketTesting main 79f6e12.Used on: MarketTesting
  • LSTM layer stack: input of 100 days by 5 values, LSTM 100 units, dropout 0.2, LSTM 100 units, dropout 0.2, dense layer of 5 outputs for the next day.
    MT-04MarketTesting LSTM layerscreate_model() in stock_model.py at MarketTesting main 79f6e12.Used on: Home hover background

02 / Teams

CBU1 Robotics

  • Members of the CBU1 VEX U team posed in team polos at the 2026 VEX Robotics World Championship in St. Louis, with two team robots in the front row.
    CBU1-01CBU1 members at 2026 Worlds, St. LouisMembers of the CBU1 VEX U team, 2026 VEX Robotics World Championship, St. Louis.Used on: CBU Robotics
  • The full CBU Robotics team in matching navy club shirts, standing in three rows in a university building lobby.
    CBU1-02CBU Robotics full team, November 2026CBU Robotics full team photo, November 9, 2026. Cropped to 21:9.Used on: CBU Robotics, Home hover background
  • The seven CBU Robotics leads in navy club shirts, sitting and standing along a wooden bench in front of a carved CBU wall sign.
    CBU1-03CBU Robotics leads, CBU signCBU Robotics leads, November 9, 2026.Used on: CBU Robotics, Home hover background
  • The seven CBU Robotics leads in navy club shirts, standing in a staggered line with arms crossed in front of a dotted world map wall.
    CBU1-04CBU Robotics leads, lineupCBU Robotics leads, November 9, 2026.Used on: CBU Robotics

BENJAMIN ELMORE / CBU ROBOTICS / CALIFORNIA BAPTIST UNIVERSITY

2026 · Built from f4c5707 · Last updated 2026-11-11

Source on GitHub