I have a new board and program that I think will serve the needs of a lot of builders. Most prospective builders have the skills and toosl to deal with the mechanical aspects of building a fucking machine but are lost when it comes to electronics and software.
So, the new board and program will address that. Instead of open source source code I will provide preprogrammed boards with microcontrollers ready to hook up to hardware. Here are some of the details:
ESP32 is the microcontroller. This has built in WIFI. The program includes a WIFI control as an option to the three knob controller (which has become a four knob controller) You can control the machine from your phone computer or any device with access to your local WIEI network. Parameters such as SSID and password are set by editing as text file on an SD card so there is no need to edit and compile source code.
The joystick and three knob controlle (now a four knob controller because another knob has been added to control scaling ratio) are automatically detected on boot so you have the choice of using the system as WIFI controlled or wired control.
Wiring has been simplified. A joystick or a three/four knob conteol can be connected to either of the two rj45 connectors. No need to use special cables or figure out what to plug in where. Both connectors work the same. You can even plug in a combined joystick/four knob control to a single socket and have all your control via one cable.
I have tested every aspect of this system and have prototype boards arriving very soon. This system is not going to be cheap but it will be turnkey and very easy to get working as soon as you build the mechanicals. Firmware updating can be accomplished using a very simple method requiring no installation of IDEs programs etc. When there is an update to the firmware, including changes to the web application, it is only necessary to run a simple command line copied from a text file after copying a folder of files to your computer. If this system is very well received I will be able to make the firmware update even easier with a simple windows graphical application.
It will never be easier to build your Shagmatic based fucking machine than with this new system.
Feedback is welcome. I have an idea what I might need to charge for this new system (assembled circuit board with pre-programmed microcontroller, ready to hook up to a step and direction controller, limit switches and joystick and three/four knob controllers) I will also be able to provide assembled joysticks and knob controllers for the electronically handicapped at additional cost. What are you willing to pay for such a system?
Good news about the board – the easier it gets the better :). Living in Europe I would prefer to purchase only the board, and source everything else needed locally because of customs and fees. I have no idea what it should cost, but I’ll look forward to it.
I already have a FM built using my own board but that was the teensy version and I love the WIFI idea and the simpler wiring. Great work 🙂
I’ve wanted to build your machine for a very long time, but have avoided it for the time involved in the circuitry side. The machine side is not hard and I’ve built one or two simple machines in the past. What you are talking about here is a game changer for me. Not sure on what range of cost we are talking so hard to estimate what I’d be willing to pay. Will this system allow for programmed sequences?
The idea for this board is to make it really easy to use. Since it does have an SD card it would be possible to put sequence instructions on the card. Some of my earliest machines used an SD card and I wrote programs to allow the construction of sequences including a graphical “simulator” I can resurrect these programs and can certainly add the capability to the firmware to read and play these files. The only problem is figuring out a way to select the programs. It can be done blindly with a button that just steps through different programs but it would be better to have some sort of display and the ability to select start stop etc. Features such as this can always be added. The board has expansion capabilities built in. Adding other buttons displays etc are all possible within the limited ability of the ESP32 not all pins are accessible on the board I am using which can make it difficult to avoid conflicts.
Tough call on cost, not a easy thing to work out what you can charge for something.
you could start at double the board cost as a minimum. The only other custom board that i have bought was a smart stepper from misfittech.net at ~$60. Being in europe as already said above shipping and customs significantly add to the cost.
You could just sell the basic board with stock software and then charge for the extra functions like patterns etc. Covering the cost for software development for something like this is difficult. I assume you have done this for the pleasure of it………
Hi dear, any notice regarding the board launch? Is relly interesting! Wait your good news!
i should have the test boards tomorrow. i have tested some little really cheap OLED LED displays and it looks like these will work well to show status etc. so i will probably add a footprint to attach the display. then i can make a larger batch and start selling them. I am open to suggestions as to what the display should show? it is tiny with maybe two or three lines of readable text which can scroll etc.
Hmm, seems like stroke depth and speed are the easy choices, but I’m not sure what else. Program name if using a programmed series? Timer if a timer can be programmed or time remaining in a program.
i have this display showing these now. there are no programmed sequences at this point but i can do that eventually. i did write a bunch of programs for making programmed sequences a while ago and sinc e there is an SD card on the machine now they could be easily made on a computer and transferred to the machine.
I would let the display show current speed etc., but also show warnings errors etc. If that makes any sense.
Maybe show the ip for the webserver?
i was planning on showing pretty much that, maybe absolute position? good idea on the IP address. the code is currently using a fixed IP and if you don’t know it you can’t connect so it makes sense to display it since the firmware is not accessible nor would most people want to anyway. if i switch to a dynamic IP assigned by the local router this would be even more important.
I really recommend using dhcp for the ip address – that eill make life simpler for everyone
without a display there was no way top know what the IP address was without some sort of effort, that is why i used a static IP address. if all units will have a display, DHCP does make more sense, i guess. I have been using 192.168.1 184 which is not likely to conflict. any other opinions as to which makes more sense? the display adds a lot of cost, they are almost $3 🙂
Using dhcp for IP address assignment will – even without a display – give people less problems than a fixed ip, unless you run the device as an accesspoint. A lot of people does not use 192.168.x.x as their LAN addresses.
If a person can build a FM, I’m sure they can also find the assigned ip of a device in your router but with a display all this is solved of course.
BTW: For the setup you could let the ESP work as an accesspoint, and do all necessary cofiguration via that, even before connecting the device to the wifi. That could also be a fall-back if the fm cannot ‘see’ the ssid defined during configuration. But maybe I’m over-complicating things ?
Loking forward to the availability of the boards 🙂
Hmm, thought I also replied on the display. Speed and stroke depth are the easy ones. The program being run (if using one) would be good. The time or a timer if one could be set or the run time for a file, if possible.
i am replying here because for some reason there is no reply link to your last message. I had forgotten about lan addresses such as what apple routers use like 10.10.10 etc.
i get the new boards tomorrow and can test everything together. i hope there is not an unresolvable conflict between the display and the SD card. they are both I2C and the ESP32 has two I2C channels which can be assigned to any pins but there are all sorts of little not very well documented details. for example, the serial monitor would not work using the default pins for the I2C display.
i did think of using the ESP32 as an access point. I forget why I decided not to?
About lan adreses: some people simply just change it because of work related setup or similar. Whatever the reason, I definetely recommend dhcp assigned adresses.
There are pro and cons of using the esp as an ap:
1)The possibility of updating it via an internet connection will be lost. Don’t know if that was ever the plan.
2) People will have to switch between Their normal wifi and the FM’s
3)You have the control on your own wifi, and won’t have to consider anything In regard to dhcp etc.
4) probably something else I forgot to mention 🙂
I bet you can see my email in the post details. Feel free to write me if there is anything I can be of assistance with.
i think i was wrong, SD card uses SPI not I2C so all should work together.
I have the new board working in almost all respects. At the suggestion of a forum member I have decided to make the WIFI strictly dynamic IP. With the new display, the IP is shown and is consistently on the top line of the display so there is really no need to have the option for fixed IP. The display works great but is a little small 🙂 It shows the SSID and password at boot and then shows speed stroke and offset.
I am working on deciding the details of autoconfiguration at boot to make the whole thing as plug and play as possible. The current idea is to keep the “forth” knob as “speed” control of the joystick and also serve a double function as estop for the 3 or 4 knob controller. The joystick will always work if connected but the choice of three/four know vs WIFI will be determined at boot. If a three or four knob is connected it will be the controller for repeated motion. If it is not connected, the WIFI will be the control. It does not make sense to have both competing for control but it might be an option that a user wants so I am considering making it an SD card config file option.
All that is really left to do is to figure out the autoconfig options and do a final check of joystick and three/four knob control.
So I am interested in knowing how many people might want this new system. I think I can sell the board with ESP32, external antenna SD card and OLED display for about $350 (until i determine how much work it really is to make and support these things) and another $150 for a joystick and 4 knob control wired and ready to put in the enclosure of your choice. Part of the new board is a pair of RJ45 connectors with breakout boards to connect the joystick encoder of your choice and the three/fout knob pots. Although most guadrature encoders will work with 3.3 volts, some may have their favorite antique 5 volt encoder. I have some very nice examples of this. They need and output 5 volts and will not work on 3.3. So I added a level shifter footprint to the board that allows the use of these encoders. The rj45 breakout boards also are designed with this in mind. VCC is supplied to the board. The returns from the 5 volt encoder can be routed to the level shifter. This leaves 5 volts for the three/four knob pots which connect to non 5 volt tolerant inputs on the ESP32 so there are limit resistors that can be placed on the breakout board to limit the pot voltage divider output to 3.3 volts. I knows this is all too technical for most people and that probably no one will bother with getting an antique encoder to work. The default is to work with any 3.3 volt capable encoder with no extra effort but make the 5 volt option available.
Having the electronics just work out of the box would be huge. I would pay for that with a smile. I’ve had some recent experience with a machine that had programable patterns, and now I’ll never buy anything without them. And on the fly sync to music is….well…that’s kinda the holy grail isn’t it?
the sync to music, pretty crude but it does work, requires an add on audio board to the teensy microcontroller. this is not in the plans for the plug and play solution since it uses the ESP32 and I do not know of any audio shield for it. Maybe some day.
the new board has an SD card which can be populated with pre-programmed patterns. the current display is a little inadequate for navigating a bunch of files but it could work. then there is the matter of an interface which could be a challenge. two buttons could do it but it would not be great.
i have a bunch of programs that i wrote to make programs for a fucking machine. i can resurrect these if there is interest. it would also be possible to record programs made using the joystick. i am not sure but i think that i did this too and that the programs can be edited with one of the programs i wrote. as i remember you can add short programs together and can preview the motion with an animated dildo image.
i do not know when i will have time to play with this. as soon as the fire danger has passed i can move stuff back from the evacuation trailer and test the new board on a real machine. then maybe this winter i could work on the suite of programs for making fuck files.
i found a program that uses a mouse or mose wheel or joystick of the gamepad type as input to make “fuck files” there was a proprietary output format that i developed to make it very dense but i forget what it is. i can search through code to figure it out. the program that makes files will write to a tabbed text file so you can edit it in excel etc. maybe it makes sense to use this since sd cards are so cheap now not like 15 years ago.
i can post the program for people to play with if there is interest. no documentation but can write some if more than a few people want to try it. there are invariably some bugs but i did get this stuff working about 10 years ago?
Come Jan/Feb, I would buy one. I am most interested in the programing aspect paired with being able to adjust depth within the program and on the fly.
I would buy one as well!
Sign me up for one as well. Basic construction isn’t much of a challenge, but putting together the electronics myself would end in endless bugs and issues I just wouldn’t be motivated enough to resolve. Not having to worry about that takes this from a nice to have to a will have.