André Fiedler a1ffcb08ca Refactor SerialCommand to support Stream interface and improve command handling
- Added readSerial(Stream &stream) method to allow reading from any Stream-compatible transport.
- Introduced readChar(char inChar) method for processing individual characters.
- Updated command matching logic to enhance debugging output.
- Improved buffer handling and command execution flow.

Enhance platformio.ini for better compatibility and added libraries

- Added NimBLE-Arduino and WebSockets libraries for BLE and WiFi support.
- Updated upload and monitor ports for better compatibility with macOS.

Integrate WiFi and BLE protocol interfaces

- Implemented startWebInterface() to initialize WiFi protocol alongside existing web server.
- Added BLE support with a new EggBot BLE Serial Protocol for command handling over BLE.
- Created WebSocket server for WiFi communication, maintaining compatibility with existing command protocols.

Refactor command handling in Functions.cpp

- Replaced direct Serial.print calls with protocolWrite for consistent output handling.
- Updated command registration to use a lambda function for better readability and maintainability.

Add documentation for EggBot protocols

- Created separate markdown files for BLE, WiFi, and Serial protocols detailing command structures and usage.
- Provided examples of command transactions for better developer guidance.

Implement BLE and WiFi protocol handling in respective source files

- Developed BLE_Interface.cpp for managing BLE connections and data transmission.
- Created WiFi_Protocol.cpp for handling WebSocket communication and data reception.
2026-02-24 22:00:26 +01:00
2014-04-17 20:46:46 +02:00
2026-02-13 01:36:23 +01:00
2014-04-17 21:49:54 +02:00
2026-02-13 01:36:23 +01:00
2015-11-15 10:08:46 +01:00

Eggduino

Arduino Firmware for Eggbot / Spherebot with Inkscape-Integration

Version 1.6a tested with Inkscape Portable 0.91, Eggbot Extension and patched eggbot.py

Regards: Eggduino-Firmware by Joachim Cerny, 2015

Thanks for the nice libs ACCELSTEPPER and SERIALCOMMAND, which made this project much easier. Thanks to the Eggbot-Team for such a funny and enjoyable concept! Thanks to my wife and my daughter for their patience. :-)

Features:

  • Implemented Eggbot-Protocol-Version 2.1.0
  • Turn-on homing: switch-on position of pen will be taken as reference point.
  • No collision-detection!!
  • Supported Servos: At least one type ;-) I use Arduino Servo-Lib with TG9e- standard servo.
  • Full Arduino-Compatible. I used an Arduino Uno
  • Button-support (3 buttons)

Tested and fully functional with Inkscape.

Installation:

  • Upload Eggduino.ino with Arduino-IDE or similar tool to your Arudino (i.e. Uno)

  • Disable Autoreset on Arduinoboard (there are several ways to do this... Which one does not matter...)

  • Install Inkscape Tools wit Eggbot extension. Detailed instructions: (You yust need to complete Steps 1 and 2) http://wiki.evilmadscientist.com/Installing_software

  • Because of an bug in the Eggbot-extension (Function findEiBotBoards()), the Eggduino cannot be detected by default. Hopefully, the guys will fix this later on. But we can fix it on our own. It is quiete easy:

      - Go to your Inkscape-Installationfolder and navigate to subfolder .\App\Inkscape\share\extensions
      - open File "eggbot.py" in texteditor and search for line:
      	"Try any devices which seem to have EBB boards attached"
              - comment that block with "#" like this:
              		# Try any devices which seem to have EBB boards attached
      		# for strComPort in eggbot_scan.findEiBotBoards():
      		#	serialPort = self.testSerialPort( strComPort )
      		#	if serialPort:
      		#		self.svgSerialPort = strComPort
      		#		return serialPort
      - In my version lines 1355-1360
    

Setup

Add credentials.h file with content like this:

const char *kWifiSsid = "MySSID";
const char *kWifiPassword = "MySecret";

To disable Wifi:

const char *kWifiSsid = 0;
const char *kWifiPassword = 0;
Description
Arduino Firmware for Spherebot / Eggbot integration in Inkscape
Readme 72 MiB
Languages
Python 54.7%
C++ 41.3%
C 3.5%
Shell 0.5%