Hello Folks ! I'm working on a new version of the EvenMidi Controller since September 2018 as you probably know. The first prototypes PCBs have been received on January 2020 and are actually tested for check/improve. A big part of the project is coding : all the mains function and settings menu have been done (hard work). Here is an introduction to some features of the controller incoming. They are a lot of new features, I won't introduce all now but here is some of them. Hope you enjoy to watch a little part of my electronic world.
Thanks to 13 leds around each pot you could easily check the value pot saved. A catch feature allows to only change the value if the pot physically target the value saved. With the encoder you could move the value of each pot with more accuracy (14 bits) than pots (actually 7 bits but maybe up to 10 bits).
When you are on stage (or not) it sometimes confusing to push a button with a simple screenprinted or displayed number. " Hey ? Is this number is really the preset that i want to activate ? "
Some controllers use LCD to display preset numbers and more, but according to my musician experience they are not easy to read on stage : light problems or sun, sometimes too much informations are displayed : this may be confusing... Nevertheless they are easy to program (lot of library availables) and low consumtions :).
But i wanted something better, different, more user friendly and more visible on stage.
My idea : use a big dot matrix display : this kind of display is freacking cool and very easy to read : leds shines !
I can handle uppercases and lowercases characters : you will love it.
The display library is coded by myself. It taked me a long time to reaches the perfect result and solve all the electronic constrains but I'm very happy of the result. The video shows a display test. This is pretty much how works the displays at slow down speed : retinal persistence 1/14.
Update 08 February 2020 :
The displays works great and minor issues have been fixed. A lot of shift register stuff and math calcul here. The 7-segments or 14-segments displays should have been so much easier to handle but I don't care, the result is way much cool with Dot matrix. The knobs follows Leds but can be improve for more accuracy. Still a lot of work to achieve but this first part of coding the display seems to be close to over :).
Update 05 March 2020 :
PCB prototype have been delayed because of Coronavirus. I've received a new PCB display with fixed issues and footswitch + RGB Leds included. Tests seems OK for the moment here is a picture after Led RGB resistors calibration. The display is under this wood panel, I will cut it next time :)
Update 11 March 2020
Here we are with the display :). Hope you enjoy this picture as much as I do :). It stays a lot of work but now I can work with a very cool proto :). By the way, all the H9 "pots" have been integrated to code with a self made "pot label" generator and follow the H9 behavior. It should be even more open on other stuff because with my generator, it's not a big deal to add strymon and other pots of any device.
The motherboard is pending production and should arrive at the en of March. But I will switch technology for a more powerfull microcontroller and add sdram and flash memory. So there will be another motherboard than the incoming prototype. Without this added flash and Ram i have not enough space to store and displays all that this controller need so it's time to grew up :).
Update 05 April 2020
Well it seems the world have changed since 16th April 2020 in France because of covid19. I have the chance to continue my regular work at home (I'm web developer in an e-commerce company) and have a lot of time after work to work on this controller. Many of my PCB prototypes have been delayed by manufacturer and then by shippers but I ve received some of them, fixed some of them and everything 's going fine. Here is a picture of the main PCB received few days ago. I've ordered it at the end of January and received it on April instead of start February :
Every bascis features are tested :
I have also changed the way I work. Before I was only working with Google Drive. In my web developer job I have learn to work with JIRA tool. There is a free version for small project and honnestly it's really great for me. Everything I do is write in tickets and planned in sprints. Organisation is very important in a complex project like this.
What I am waiting now :
1 - PCB Display was ok but needed some improvment
2 - PCB pots :
3 - Bye Atmel :
Now my next goal is to switch technology. Actually I was working with ATMEL microcontrollers that some of you must known (arduino nano for Pitchy and H9 or mega for this new one). I need more space, more SPI, faster calcul : I'm actually moving to STM32F4 microcontrollers. They provides exactly what I need and I can extend them with external Flash and RAM which is what i want to do. It starts to looks like a computer :). I think this will be difficult but I love challenges and improve my skills.
I'll keep you informed every months of what have been achieved.
Thank you for your kind message on the support. I have really no idea when the project will be ready but i try my best and hope the world will be better after this covid19. Keep safe and if you have to stay at home, enjoy this family and guitar/music time :).
Update 13 April
I've received new PCBA this week : the potentiometers + Leds (two different boards "versions"). Everything is fine ! For me this part is validated so close to end : each part works well and fit well. I can set any color for pot Leds, and they follow the pot position which will be great for the catch up mode. The cheapest Led are not enough good for what I want so let's go for the high cost but pretty ones. Here is some pictures when I was playing with the board leds.
The 2 boards superimposed :
One on the testes Leds : Not so bad but can do better.
The Second Led version. This version is great because colors are more consistents and i have more liberty for the future shape hole enclosure.
Well after that cool moment, I have continued to works with the new micro controller STM32F4 that i will use. It's difficult, far away from Arduino wolrd... The good thing is that I learn a lot of stuff, the controller is powerfull for the exact same price of Atmel, but code/settings are more complexes. For the moment I only create simple programs that use the functions that I need. My goals is to have all the functions that I need ready and documented to import the code that I've previously done on Atmel, then port it on STM32.
About PCB I'm still waiting a Display PCBA that should fix the last version and improve greatly the price. It should be delivered this week.
About the situation in France, the president talked to people tonight : we are still restricted to house until 11th May. The good news is I still have a lot of time for the evenmidi project :).
Update 07 may 2020
Hello guys, i hope you're fine :). This past month I've worked a looooot ! Here is some technical points and a 3d picture at the end :
- 1 - I ve create a complete documentation on my stuff with Jira - Conluence Tool. Every task are documented, electronic, enclosur, programming, errors, tools. It's very important for the project to be archived, easy to consulte. Honnestly i've never worked as well with Google drive... Jira brings me a tool to display all the tasks, status task, "sprint" notion and confluence is a very clean way to write documentation and schematic.
- 2 - The new microcontroller that I use STM32F4 have been tested (some functions that I need : SPI, analogRead()....). Everything is not done yet because I had trouble with the USB OTG. I can't upload actually my program in this way so I ve ordered some USB TTL to test (FTDI...) and it should be fine. One of the main problems was to use an external SDRAM. It was difficult to find some functionnal tutorial but I finally have a working SDRAM after fighting for days and try to understand what was wrong : I can read and write on the SDRAM. It's actually 8MBytes of datas with fast access. Well it seems a little bit " big " for this kind of project but when the project will be over you may understand why an external SDRAM is great :).
- 3 - I've spent around 2 weeks on the enclosure design. It's a big part of the project because there is so much things to think. It has to be handy for the user, it has to be low cost. Every little thing added can increase the price. I will choose sheet metal laser cuting, bent. For example the way you will fix the enclosure with screws could be "I need thread + countersink" : Ok so you need CNC machining, so it cost 3$ because we have to change the sheet metal to another machine...The less operation different there is, the better it is for the price. And it doesn't change anything for you, but the final price, so I have to be very carefull. The good thing is that I know a lot of tips and have learnt with all my previous enclosures. PCB have been a little bit adapted but I can say that the enclosure is ready for prototyping. I'd like to find a local or Europeean dealer. I've seen Fractory.com which seems awesome, but unfortunately doesn't delivers to France, only US UK and Northland.
- 4 - I've buy some new stuff : a fresh Oscilloscope 200Mhz, an external Power Supply 30VDC 10A. It's important to have good tools for working quick and well.
- 5 - Oh I've done a little bit of diy for my main board. I've rehoused my whammy 5 in a little box that i will put under my pedalboard. It was a nice night to stop a bit coding and electronic stuff. It was very intersting to check what is inside a whammy 5. I was very happy to known all the components insides : a STM8 microcontroller that handle the code, matrix LED's, switches, encoder, optocoupler for Midi IN, audio convertissor 24 bits, but the main thing was the DSP : a DSP56. The same family as Eventide H9. At startup the code from STM8 fill the DSP56. When I see all that I think : hey, Eventide could improve their Pitchflex algorythm ! And after I think : Hey maybe on day I could buy a DSP56 and try something :)...
- 6 - A little DIY work on miniaturised an EP Booster for my main board. I know the original is small but I want it small as possible, and it was funny to achieve in one night...
Well i've note written everything (Midi test, design in 3.3V instead of 5V, some grounding stuff to prevent noise on ADC, design TRS output / Midi out to control Midi stompboxes with jack, documentation about the dot matric diplay, display algorythm and pot rewritten in a faster way)
Here is a picture of the 3D monster : the name code is actually Koala :). The color is not definitive, probably black, but color is better for viewing :).
Hope you enjoy my stuff. The next month I will have a lot to achieve (as usual). A lot of code have already been written on Arduino ATMEGA2560. I will have to port in for the STM32. A lot of class object (c++) are already written with their main functions. I've aleady manage a Flash memory (that will store your datas) so i will have to manage the way datas are feeded to SDRAM, and then the way FLASH is written when you update your datas. A lot of cool stuff (for me) !
Update 14 July 2020
It's been 2 months without news so I'm back. I had a problem with pot value reading (not enough accuracy, a lot of problems like pot moving...). It takes me a long time to find the reason why and i've just finished and find the problem... What a waste of time ^^ but I'm happy to finally find it after two months.
The code have been really improved and cleaned. All the project that was done on Arduino have been imported/rewritten if needed and is working.
All the electronics parts are working. Sorry for the time to achieve this, Never forget that i'm just a one guy doing that by night after another work, creating a monster Midi controller from A to Z, so I can't give you a date of availability. I hope you can understand, I try my best :).
Update 01 october 2020
The summer have been a good time to take 3 weeks of holidays. I was 2 weeks on the south of France with friends and then one week at home to prepare the last batch of Pitchy. After 3 months at home during covid lock down, it was a nice and sunny moment. Let's talk about the new controller. The main behavior (the one that you will use all the time) have been created really quickly : I mean once all the objects (in a programming way) are achieve, It's very nice and quick to develop the software. All that you don't see takes a lot of time. The settings menu have been improved to be as logic and simple as possible. I have new ideas i don't still have put inside like a mapping of Preset : It can be really handy to simply recall a Preset without saving it at 2 or 3 differents locations and so using some memorie...
The controller works in a notion of Scene : You have 16 scenes. Each scene have a customizable name : example : Home, rehearsal, Live, Your name band 01.... Each Scene define the 6 footswitches functions, and Preset Limitation. You can define any footswitch as you want where you want, and with the big screen, trust Me, You don't need to stick any paper on your controller...And with color ring on the footswitch it's really easy. Just put the orange color to your Preset called Phaser, and it's a real pleasure to press this footswitch without a doubt, and see all the Led Pots turn to orange. Be back Home, change your Scene and just control your Amp and your 3 prefered preset.
The navigation is OK :).
One of the big part of the project is on the way : Evenmidi Control Software. Here is what I want : The user could update the firmware easely : Just plug USB (or other...we'll talk about this later...) : The software detect EvenMidi and check for Update firmware, and you can update it... I know that it sounds really normal today, but believe me, it's not an easy part. I actually develop the software in dot NET with c# WinForm -> It's really handy. In the future days I'd like to make EvenMidi Software a powerfull tool to manage all the settings and preset, and also LIVE control. Yes It sound like a lot of cool features (I hope). It's also a lot of work, and a lot of questions (what about mac users...bluetooth...applications...Is a one guy can achieve all that before the end of his life ? :D).
The update firmware was a very cool Experience : i learn a lot about bootloader , IAP, Checksum, USART... The making of this controller is passionating. I know that a lot of you are desesperate about releasing date. I'm but I have nothing to answer -> let me cook this crazy controller, you will not be disappointed.
Here is a stupid picture of the EvenMidi Software I've created : It's just a "Serial Port" from your point of view, but it handle all the needed things to write a new firmware with safe and I can control all the communication messages during the conception :
I keep you informed in a couple of weeks with fresh news :).
Update 17 december 2020
It's been a long time ! I have good news : the controller code is done ! Every features have been achieved successfully and I'm totally happy. As always I have work almost every day from 6.00PM up to 2.00AM and all my week of vacation.
The next steps incoming :
- order an enclosure prototype
- redesign the electronic stuff and do new PCBA prototype with new microcontroller integrated.
- reWork on the software
Well now here are the details that have been done since 01 October 2020 for the curious :
- Using DMA for SPI transfer display (kind of parrallel task), the polling way i used before was a bad way.
- Using DMA for USART/MIDI send/receive
- reWrite MIDI library
- Send MIDI over USB
- EEPROM simulator with Flash to Store Preset pending
- Create a complete software where you can fully edit/control the controller
- Send an receive Midi Clock via interrupts
- Control the Controller With PC and CC
- Send 14 bits CC knobs
- Add Bluetooth + edit Password
- Control the controler with Bluetooth via Software
- Preset Mapping by scene.
- Smart Switching feature (When you call a PC, then a Bypass, then you may want call an "Active" in order to not loose the control that have been moved previously)
- Add Model notion + edition. A Model is a device such has Eventide H9 or Digitech Whammy. This specific device are already stored by default on the controller.
- Custom Model to control anything that you want (pot label, pot value + prefix/suffix)
- Quick Save Preset.
- Order some knobs to check quality/price/feeling
One thing is gonna change : the software. The one I have designe was OK but I really don't like the "software thing" because there is several devices, several Os, you have to update every time. If you create an app you're linked to Apple, Google. Well that's the worst idea.
After a long refelexion and POC, I have find a very cool way. You should really like it !
Now It's christmas time. This year have been really hard for a lot of people. I hope most of you are fine. This controller is a difficult and ambitious project. I love working on it. I'm very happy that the code is done. Now I can focus on production, which is not an easy part.
I've learnt a lot on my past projects (H9controller and Pitchy...) so I feel "comfortable" with enclosure or PCBA ordering/manufacturing process.
As Always I will try my best.
Of course I don't have a release date. No pressure, just pleasure :). I'd like to order PCBA and enclosure prototypes for the end of December.
Enjoy your family time if you can and play the music :) !