What is it?
EDGEY connects your microcontroller to Virtual Hardware residing in Virtual Breadboard Windows Store App.
Let's say you have a physical breadboard circuit you are wiring up and you would like to use say a Liquid Crystal as a display but you don't have one, or you have one but it's already wired into another circuit, or maybe you just find wiring it up takes too long, makes too much mess or is too hard to troubleshoot.
Mixed Reality Circuits
With EDGEY what you can do instead is connect your microcontroller to an EDGEY Adapter and run a Liquid Crystal community example in Virtual Breadboard. Boom! your ready to start developing your firmware except the LCD display's on your computer screen instead of in your Breadboard circuit.
In this scenario some of your application uses real components and some of the application uses Virtual Components. I call this mixed reality development.
Another scenario is where the entire application is virtual except for the microcontroller. This is really useful for sharing circuit ideas and known working reference code as starting templates.
Virtual As Real
EDGEY emulates hardware at the signal level so from the point of view of your microcontroller the virtual hardware looks the real thing. To control say a virtual LCD you use the same LiquidCrystal library you use for a real LCD.
There are no special libraries. Want to try out some new hardware, just spin it up Virtual Breadboard and get coding.
The list of available virtual hardware is continously growing as new low level peripherals are implemented and virtual components and circuits that use them are published.
Some of the virtual hardware you can use already are:
|LiquidCrystal||LiquidCrystal Display via 4bit parallel interface|
|OLED SSD1306||OLED 128x64 via SPI interface|
|NEOPIXELS||Neopixels stips and arrays via WS2812 pixel pulse width interface|
|Max 7219||MAX7219 via SPI with up to 8 Segment 7 Displays|
|EPaper||EPaper 122x250 via SPI with BSY signals|
|DSO||8mhz logic analyser capture|
|Servo||Servo with pulse width controller|
- Serial Terminal via UART pass-through
- Digital Input and Output Pins
- Digital to Analog POT emulation
- DS3231 RTC via I2C
- SeeSaw via I2C
- Tic Tac Toe Game LCD with TouchScreen
- SBUS Servo's
.. even more. Advanced users can use the component development kit to create custom components.
Why did you make it?
The Arduino model simulates the ATmega328p core and peripherals which when connected to virtual components created interactive all virtual models for learning and developing Arduino applications.
However, as users became more sophisticated they became frustrated if clock-cycle differences arose between the simulation and reality. Furthermore, as the market began to outgrow the Arduino, users began pushing for clock-cycle accurate simulation support for many other popular microcontroller's.
When I realised it was going to be impossible to support all possible microcontroller modules to the necessary level of accuracy I had the idea of using the actual microcontroller with the virtual hardware instead.
So I pivoted away from all simulation sandbox to a new model where real-world microcontrollers connect transparently via a physical hardware interface to the virtual hardware hosted by Virtual Breadboard. The nice thing about this model is that it works for any microcontroller and since the actual microcontroller is "simulating" itself it's guaranteed to be 100% accurate!
How do I use it?
To work with EDGEY you need
- EDGEY Microcontroller Interface
- EDGEY Adapter card to suite your specific microcontroller
- Your Microcontroller
- Virtual Breadboard Windows Store App
- USB Cable
Your micontroller connects the Adapter which connects to the EDGEY which connects to the USB Cable which connects to the Virtual Breadboard App which connects to Virtual Components.
The microcontroller cannot tell if it is connected to real components or virtual components. You wire up both virtual and real components to create mixed reality applicationss.
Virtual Breadboard Windows Store App
Virtual Breadboard is a Windows Store App which offers the following advantages:
- Free to download
- Secure Sandbox Application
- Automated Updates
- Familiar Installation and Management
Ready to Run Virtual Hardware
The Virtual Breadboard App starts up directly with a community collection of ready-to-run pre-built virtual hardware examples that are free to use with EDGEY and your microcontroller. The pre-built examples are an ideal way to get started with known working reference configurations or quickly find a test circuit without having to learn how to use Virtual Breadboard to design your own circuits.
Virtual Breadboard Advanced
When you are ready to move beyond the community virtual hardware examples you can optionally become a subscriber to:
- Design custom Virtual hardware
- Create Custom Components
- Publish Virtual Hardware to the Community
- Harness Unit Testing of Avatar Hardware
How does it work?
Technically speaking EDGEY is a virtual peripheral stack that implements the physical layer using a custom Microchip Peripheral Interface Controller (PIC) which is pin-mapped to host microcontroller modules with a custom breakout PCB. Together the PIC and the PCB for a specific module I call an Avatar and for each Avatar, Virtual Breadboard has a matching graphics footprint symbol for wiring it up into virtual circuits.
When you order EDGEY you need to select an adapter for each of the microcontrollers you want to work with.
Note: The adapters only include the pin-map PCB and stackable headers as shown by the green dashed line. The microcontroller is not included and is shown only to illustrate assembly. Check the Store for available Adapters.
|EDGEY Adapter||Virtual Avatar|
|Arduino Shield Adapter|
|Arduino Pro Micro Adapter|
|Raspiberry Pi Pico Adapter|