Zebra POS Receipt Printers | Star Micronics POS Receipt Printers | Epson POS Receipt Printers | BIXOLON POS Receipt Printers | star POS Receipt Printers | Brother POS Receipt Printers | APG POS Receipt Printers | Fargo POS Receipt Printers | Intermec POS Receipt Printers | Datamax POS Receipt Printers
As with pretty much any device these days, you get a variety of options with a receipt printer – there are of course the very basic ones that just print receipts as well as more complex models that have features like Bluetooth connectivity and can connect to mobile devices.
The last printer lasted us around 1.5 years and the power broke but i think it broke because it was dropped. Cant complain wish it was color but it does the job and thats what i needed. If you looking for portable and good printer this is.
Works great, I have an iPhone 7 plus so I had to use my little extra jack for earphones (which is so annoying btw, but that’s on Apple, not Square lol) but everything worked fine. I swiped my own card to test it out when setting up Square, it read my card just fine, transaction went smoothly.
I have an Epson TM-T88V and I have read every thread I can find and it still says not supported.  I watched the YouTube video linked in this thread and did exactly what it said and still the same not supported message.  Then I was looking at the options on the print out from the video and Option 11 is USB class, it was not working so what did I have to lose, I changed that option from the default (Vendor Class) to Printer Class and now my printer works.  I am not saying this will solve your problems, but it might.
The printer is fine but bluetooth connectivity has been an incredible challenge. We have probably wasted 20 hours wrestling with it in the few weeks we have had it. The Starprint utility can say it is not connected when it is … and vice versa. The Bluetooth says it is not connected yet we can print a receipt from the register. The delay communicating via bluetooth means we have to leave a key in teh till drawer rather than wait for it to eventually open even though we have adjusted the utility and timing. So, while the printer is fine, don’t go bluetooth because you can’t use a cable even if you want to as there’s no socket …. just bluetooth ! So, buy a cable printer version and be happier !

Home Page
The SM-S230i is suitable for a wide range of mobile printing applications with no configuration changes required when switching between various operating systems. The clerk will be able to use the SM-S230i with an iOS, Android or Windows device with no set up required using its auto detection Bluetooth feature.
Square Register Star TSP654 LAN Thermal Receipt Printer with Auto-Cut, Ethernet/LAN Interface, Dark Grey Color, No Power Supply, No Interface Cable – TSP654L-24GRY – 37999540 **TSP654L-24GRY has been Discontinued – Replace with TSP654IIE3-24 GRY**
Emails have always been a problem for us…keeping track and sending them. With Square, they keep track of customers and I can send out a campaign in a few minutes with their templates! I can see at a glance which emails worked and who responded. I can work with the 80/20 rule and concentrate on the 20% of customers that are repeat buyers and buy 80% of my products.
I’ve installed dozens of these square POS systems. They work fine on their own, just be sure to get the proper size/version to match your ipad, the connectors differ. To expand the system you pair it with a printer, cash drawer, scanner, and chip reader.
I bought a Square Stand and contactless chip reader to use at craft shows and other events that don’t always have access to electricity. I understand that the stand can draw power from my iPad, but I don’t know if that will last for an 8 hour show. Has anyone used the stand without it being plugged in? How long did it last?
Hi @McNabbGames — I went ahead and combined your thread with another seller’s who had a similar question. I can assure you that we’re always looking into more affordable hardware options for our sellers. As for the technical explanation, from my limited understanding (I’m not an engineer), each printer manufacturer has a specific driver for their hardware, and since manufacturers don’t build printer drivers for Square Point of Sale, we would have to build one for each printer model – which is something we don’t have the bandwidth to do. 
!function(e){function n(t){if(r[t])return r[t].exports;var i=r[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var t=window.webpackJsonp;window.webpackJsonp=function(n,r,o){for(var s,a,u=0,l=[];u1)for(var t=1;tf)return!1;if(h>c)return!1;var e=window.require.hasModule(“shared/browser”)&&window.require(“shared/browser”);return!e||!e.opera}function a(){var e=o(d);d=[],0!==e.length&&l(“/ajax/log_errors_3RD_PARTY_POST”,{errors:JSON.stringify(e)})}var u=t(“./third_party/tracekit.js”),l=t(“./shared/basicrpc.js”).rpc;u.remoteFetching=!1,u.collectWindowErrors=!0,u.report.subscribe(r);var c=10,f=window.Q&&window.Q.errorSamplingRate||1,d=[],h=0,p=i(a,1e3);n.report=function(e){try{window.console&&console.error(e.stack||e),u.report(e)}catch(e){}};var m=function(e,n,t){r({name:n,message:t,source:e,stack:u.computeStackTrace.ofCaller().stack||[]}),console.error(t)};n.logJsError=m.bind(null,”js”),n.logMobileJsError=m.bind(null,”mobile_js”)},”./shared/globals.js”:function(e,n,t){var r=t(“./shared/links.js”);(window.Q=window.Q||{}).openUrl=function(e,n){var t=e.href;return r.linkClicked(t,n),window.open(t).opener=null,!1}},”./shared/links.js”:function(e,n){var t=[];n.onLinkClick=function(e){t.push(e)},n.linkClicked=function(e,n){for(var r=0;r>>0;if(“function”!=typeof e)throw new TypeError;for(arguments.length>1&&(t=n),r=0;r>>0,r=arguments.length>=2?arguments[1]:void 0,i=0;i>>0;if(0===i)return-1;var o=+n||0;if(Math.abs(o)===Infinity&&(o=0),o>=i)return-1;for(t=Math.max(o>=0?o:i-Math.abs(o),0);t>>0;if(“function”!=typeof e)throw new TypeError(e+” is not a function”);for(arguments.length>1&&(t=n),r=0;r>>0;if(“function”!=typeof e)throw new TypeError(e+” is not a function”);for(arguments.length>1&&(t=n),r=new Array(s),i=0;i>>0;if(“function”!=typeof e)throw new TypeError;for(var r=[],i=arguments.length>=2?arguments[1]:void 0,o=0;o>>0,i=0;if(2==arguments.length)n=arguments[1];else{for(;i=r)throw new TypeError(“Reduce of empty array with no initial value”);n=t[i++]}for(;i>>0;if(0===i)return-1;for(n=i-1,arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!==n&&n!=1/0&&n!=-1/0&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),t=n>=0?Math.min(n,i-1):i-Math.abs(n);t>=0;t–)if(t in r&&r[t]===e)return t;return-1};t(Array.prototype,”lastIndexOf”,c)}if(!Array.prototype.includes){var f=function(e){“use strict”;if(null==this)throw new TypeError(“Array.prototype.includes called on null or undefined”);var n=Object(this),t=parseInt(n.length,10)||0;if(0===t)return!1;var r,i=parseInt(arguments[1],10)||0;i>=0?r=i:(r=t+i)<0&&(r=0);for(var o;r