Remember: YOU DON'T HAVE TO REINVENT THE WHEEL Pre-design (inspired by vid: https://www.youtube.com/watch?v=HMeJclSMtUg) Conclusion: there's a lot to do, let's get to it! complexity scale x(simple)... xxx(complex) 1) Core functions/ requirements - Algorithm wise ->xx distributed communication between robots (asynchronous, event driven) physical connection required? What options are there for asynchronous communications? ->x communication to user interface (depends on microcontroller, in general excessive tutorials online) ->xxx figure out where each robot is in relation to another ->xxx spread info of new task to everyone - Electronics ->xx plug'n'play charging for robots (best if implemented in storage box) ->x-xx enable communication between robots ->x button for physical input ->xx feedback LEDs that change according to chosen game/ remaining battery (opt: sound/ vibration output) ->xx turn on automatically when removed from storage box - Mechanical ->x allow for modular design to test different parameters ->xxx robustness -> product available for children, too! - User/ consumer requirements ->xxx make usage intuitive -> psychological & simple chassis/storage box design ->xx easily available UI and simple & intuitive layout of website ->xx keep it cheap as mass production is the goal 2) Block diagram of internal connection of core functions + connection (protocols) between them -> see paper/file vid basics communication protocols: https://www.youtube.com/watch?v=IyGwvGzrqp8 -NFC Communication: Sort dist (max 4cm) small data transfer -> HCE protocol stack https://developer.android.com/develop/connectivity/nfc https://www.spiceworks.com/tech/networking/articles/what-is-near-field-communication/ + same device can both receive and send data + easy code uploading via phone app. (Cards to play games can be bought as trading card game for further gamification!! -> no GUI required for the start!!) + reliable - slow (ca half to a third of the speed of Manchester encoding) + no device syncing required + cheap - low rate of transfering data - vulnerable to eavesdropping + fast set-up time + puzz robs could charge each other + compatible with STM32, though I don not quite understand how yet: https://www.st.com/en/nfc/st25-nfc-rfid-tags-and-readers.html https://www.st.com/en/nfc.html + available ua for Arduinos and ESPs https://esp32io.com/tutorials/esp32-rfid-nfc https://www.amazon.de/dp/B0B33Y87ZG?th=1&ref_=as_li_ss_tl&language=en_US&linkCode=gg2&linkId=c02e1985458df4bf21bf005217883069&tag=zlufy-20 => Fiiting microcontroller: https://www.nxp.com/products/rfid-nfc/nfc-hf/nfc-readers/nfc-cortex-m0-microcontroller:PN736X NFC Cortex-M0 Microcontroller PN7362AUHN, 4.69$ (only chip, features UART, too) => More info: https://www.analog.com/en/resources/app-notes/secure-microcontrollers-nfc-overview.html 3) Select brain of operation Requirements (according to 1) and 2)): - 1. communication protocol availability: I2C, UART/ MQTT -> clock crystal needed - 2. support of event-driven architecture -> at the very least 16-bit options - 3. portable charging option -> low battery consumption would be good - 4. at least 10 output pins (1 battery, 4-6 for LEDs, 1 power supply, 1 ground) - 5. capable of wireless communication to communicate with user interface - 6. low cost ->a full development board might only be necessary for prototyping - 7. rel. short time to create and complex problems -> good/ large community support needed, development kit available - 8. Plus: Sophia already has experience using it and a corresponding programming environment and language Other specs: - speed does not seem to be crucial -> 32-bit optimal, but 16-bit microcontroller also possible - opt. add sound or vibration user feedback -> scalability and expandability have to be possible FPGA not required and too complex functions to simply code in FPGA, high cost (vid: https://www.youtube.com/watch?v=jblpHUCPQYs) Microprossesor not required ->no high rendering required, low enough data rate needed, mobile application, high cost (vid: https://www.youtube.com/watch?v=3gZayMLwGQ4) => Microcontroller is enough (and honestly best) vid choosing microcontroller: https://www.youtube.com/watch?v=6R6AR2cDXXM Considered options: - ESP32 check: 1-8 (though 8 is shaky, bad experiences) ESP-NOW peer-to-peer communication (replaces upper 5 layers of OSI): https://www.digikey.de/en/maker/tutorials/2024/how-to-get-started-with-esp-now + no central broker required - payload data max of 250 bytes + ECDH and AES encryption - device-pairing required - many-to-many communication possible, only low numbers of participants possible -> no scaling + nfc compatable through additional module Cost (6.) : 7.66 Euro ESP32-C6-DEVKITM-1-N4 Digikey: https://www.digikey.de/de/products/detail/espressif-systems/ESP32-C6-DEVKITM-1-N4/18667011 9.57 Euro ESP32-DEVKITC-32E espressif Digikey: https://www.digikey.de/en/products/detail/espressif-systems/ESP32-DEVKITC-32E/12091810 21.54 Euro DEV-14430 SparkFun Electronics Digikey: https://www.digikey.de/en/products/detail/sparkfun-electronics/DEV-14430/7918937 chepaer development kits not available; many different options for same price though; Sophia has some at home just the chip: 2.57 Euro ESP32-WROOM-32E-H4 espressif Digikey: https://www.digikey.de/de/products/detail/espressif-systems/ESP32-WROOM-32E-H4/12696515 - STM32 check: 1-7 Cost (6.): there is way to many options. Prices tend to be higher than the ones from ESP 299.16 Euro EPC9147C Eval board Digikey: https://www.digikey.de/de/products/detail/epc/EPC9147C/13997579 18.16 Euro B-G431B-ESC1 eval board Digikey: https://www.digikey.de/de/products/detail/stmicroelectronics/B-G431B-ESC1/10321670 just the chip: 2.74 Euro STM32F031K4U6 stmicroelectronics Digikey: https://www.digikey.de/en/products/detail/stmicroelectronics/STM32F031K4U6/3947373 - the controller Ferdi/Matthias showed me from seed studio XIAO Very new, enough community support provided? - Arduino options: check 1-8, though 1, 6 medium + I am extremly comfortable using Arduino stuff - Arduino DUE (32 bit) 29 Euro https://exp-tech.de/en/products/arduino-due , 48 Euro info: https://store-usa.arduino.cc/products/arduino-due - Arduino Zero (32 bit) 47.95 Euro https://store.arduino.cc/products/arduino-zero?queryID=undefined, Arduino MKR Zero 32.09 Euro https://store.arduino.cc/products/arduino-mkr-zero-i2s-bus-sd-for-sound-music-digital-audio-data?queryID=undefined 1. many-to-many possible: https://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-nrf24l01-tutorial/ - max 125 participants, max simulatanious communication with 6 other participants + super low battery consumption - Hailege 3pcs RP2040-Zero PICO Development Board RP2040 Microcontroller Dual-Core 264KB Cortex M0+ Processor 2MB Flash Pin (with Unsoldered Pins) https://www.amazon.de/-/en/RP2040-Zero-Development-Microcontroller-Dual-Core-Unsoldered/dp/B0CJY3CDVY?dib=eyJ2IjoiMSJ9.lQhapLQ_W8Io6H69ql3BN9-hj5s9NnIyjoXe_h-xRPIYWn6Z_1506N6BgxwLJchwNpqRnsc5bBXg3JiK0-hNdudVH24GHDUQTAK2n9dIudq67KDlhLmWyTTTZbb7yr0vAP2rYaf7Vp3MI3JDlX8msNraUXAD4A7I3IQ4f_gbLjl6tS9TwNBJXcrUgFHyXjP0Pqe23t3pRvU8uaNtEBTVeZ0YhSPsbickyFUykHr-eNo.pqdEpa54Mp1tQ_xXDXlPkr0x94xEt5Q5chmjtAxgDnA&dib_tag=se&keywords=rp2040&qid=1739376591&sr=8-3 - Attinys compare! (44a?) - quentorres - pico 4) estimate size PCB -> est size of product Microcntroller dimensions -> min. size *1.5 for passive components 5) BOM-list -> est. component and material list (and avg. budget) 6) enclosure -> amount custom components modular corners outer x4, filament required: ;material: ; printing time estimate: modular corners inner x4, same data as outer 7)est. physical complexity (and time to produce) 8) est. testing time electronics: programming: mechanical: 3 cycles ->2 dedicated days per cycle